kitty/kitty_tests
Chance Zibolski 26032a4802 Vertical tabs: support multi-line tab titles
Newlines in tab_title_template were drawn as a linefeed without a carriage
return, so each line started where the previous one ended, staircasing to the
right. Titles also collided with the tab below them after two lines, because
update_vertical assumed a fixed two line stride per tab.

Set LNM on the tab bar screen so a newline returns to the start of the next
line, measure how many lines each title actually occupies, and pack tabs at
cumulative offsets.

The blank line between tabs is preserved: one is inserted between tabs while
there is room, and dropped automatically once the tabs need the space, as
before. Previously this fell out of every tab reserving two lines, which is no
longer true now that a tab occupies only as many lines as its title needs.

The number of lines a title may use is limited by the new tab_title_max_lines
option, defaulting to 1 so existing configurations render as before. Lines
beyond the limit are dropped rather than bleeding into the next tab, and a title
is never allowed to use more lines than remain below it, since drawing past the
last line would scroll the tab bar and lose the tabs already drawn.

Only vertical tab bars are affected; horizontal tab bars share a single row.
2026-08-01 09:17:55 -07:00
..
__init__.py
atexit.py
CascadiaCode-Regular.otf
check_build.py
child.py Function to get memory used by processes rooted at pid 2026-07-29 13:25:51 +05:30
clipboard.py
ComfyCode-Regular.ttf
command_palette.py
completion.py
crypto.py
datatypes.py
dnd.py
dnd_kitten.py
file_transmission.py
FiraCode-Medium.otf
fonts.py
glfw.py
gr.py
GraphemeBreakTest.json
graphics.py
iosevka-regular.ttf
keys.py
layout.py
LiberationMono-Regular.ttf
main.py
mouse.py
multicell.py
notifications.py
open_actions.py
options.py
panels.py
parser.py terminal: add visibility reports 2026-07-28 14:25:12 -05:00
screen.py terminal: add visibility reports 2026-07-28 14:25:12 -05:00
search_query_parser.py
shell_integration.py
shm.py
ssh.py
tab_bar.py Vertical tabs: support multi-line tab titles 2026-08-01 09:17:55 -07:00
tui.py
twemoji_smiley-cff2_colr_1.otf
utmp.py