Subject: Re: bug#34476: fluffy whitespace in the mode-line, despite it running off the screen

From: Lars Ingebrigtsen <[email-masked]>
Date: Sun, 09 Aug 2020 11:56:24 +0200

Eli Zaretskii <[email-masked]> writes:

>> There's four spaces between *scratch* and All because they have
>> different faces...  which makes me wonder why there's trailing spaces in
>> the buffer name at all, instead of just three spaces after the buffer
>> name in the mode line format?
>
> That's because mode-line-buffer-identification uses %12b as the format
> to show the buffer name.

Yes, I was wondering whether that should be changed to something that's
just %b and then something that inserts some more spaces for short
buffer names...

Alternatively, we could compact spaces if the face doesn't use a
background colour?  Hm...

>> There's also the question of allowing a value of `long' to
>> mode-line-compact -- which would only compact the mode line if it's
>> longer than the window width.  Would that be difficult to add?
>
> No, it should be an almost trivial addition to the condition under
> which we perform the squeezing.  Basically, compare it.current_x with
> it.last_visible_x.

Right.  Do you want to apply your patch (to a branch?) and I can tweak
it further and add documentation and stuff?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no