Subject: Re: bug#78953: 31.0.50; tab-bar-format-align-right alignment breaks if field widths change

From: Daniel Mendler <[email-masked]>
Date: Thu, 10 Jul 2025 22:06:45 +0200

Juri Linkov <[email-masked]> writes:

>> This looks interesting. But I just naively tried the following and Emacs
>> hangs up as result.
>>
>> (setq tab-bar-auto-width t
>>       tab-bar-auto-width-functions (list #'always))
>
> This is a new bug report.
>
>> But the auto width setting leads to growing fields and this is not what
>> I want. I don't want that the tab fields grow. I want them to shrink
>> only in case of overflow. So maybe `tab-bar-auto-width` could be
>> extended to handle the values nil, t, or `no-grow'? And also another
>> auto width function could be added which handles non-tab fields too.
>
> This is a new feature request.  However, I doubt if it would be possible
> to find a reasonable algorithm.  The current algorithm makes all tabs
> equal size.  But with different sizes it's not clear what tabs to truncate.

Yes, I agree. Therefore I thought that it might be easiest to simply
disable the wrap around of the tab bar altogether. For my purpose with a
global status bar it would work well enough if the status bar overflows
and becomes partially hidden. Such an overflow is only a rare event. But
in the case of such an event, it is better if the tab bar stays on a
single line to avoid the jumpiness caused by the toggling from one to
two tab bar lines and back to one.

Daniel