Subject: bug#37667: 27.0.50; Tab Bar display problems with more than 5 tabs

From: Eli Zaretskii <[email-masked]>
Date: Thu, 17 Oct 2019 10:20:57 +0300

> From: Juri Linkov <[email-masked]>
> Cc: [email-masked]
> Date: Thu, 17 Oct 2019 01:39:27 +0300
> 
> Thanks for the explanation.  One thing that I still don't understand is
> how to find the exact position in the mode-line string where it's
> truncated.  For example, in the string "...abc|xyz", the part
> until "abc" is visible, but the rest of the string is truncated,
> so "xyz" is not visible.  How to find this position where truncation occurs?

You should look for that in the glyphs, not in the string you want to
display.

> Actually, it seems I found it, it's it.last_visible_x.  Is this correct?

it.last_visible_x is the first pixel that is _outside_ of the
viewport.  The last pixel that is still visible has X coordinate one
less than that.

Also note that when a screen line (a.k.a. "glyph row") is hscrolled,
its display doesn't starts when it.current_x is zero, it starts when
it.current_x is it.first_visible_x.