Add vertical tab bars on the left and right#9855
Conversation
|
Will review actual code when I have more time. Just as an initial comment, Also, at a more meta level, for vertical tabs it should be possible to From a UI perspective, it might make sense to leave a blank line between |
Teach tab_bar_edge about left and right sidebars and route tab layout, hit-testing, and drag/drop through the vertical axis when needed.
72bd0c9 to
8d93548
Compare
|
[review-prs-verification]
|
|
It's going to be a little while before I can review this as I am swamped with other work. |
Builds on top of kovidgoyal#9855 (vertical tab bars on left/right). When tab_bar_edge is left or right and tab_bar_background is unset, derive a panel colour from the theme (window background blended towards the foreground) so the sidebar reads as a distinct panel rather than blending into the window content. Overridable by setting tab_bar_background explicitly. Also fill the area around the cell grid with the tab bar background instead of the terminal background, so the panel stays one uniform colour to the edges (no seam below/around the tabs). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Build and Run LocallyPrerequisites: install a C compiler and Go. On Linux, also install the X11/OpenGL development libraries required by kitty. Build from the repo root: ./dev.sh buildRun the locally built kitty binary: kitty/launcher/kittyTo try this feature without editing your main kitty config: kitty/launcher/kitty -o tab_bar_edge=left -o tab_bar_style=separator -o tab_bar_show_new_tab_button=yesThe sidebar width is currently controlled by the existing title-length setting: kitty/launcher/kitty -o tab_bar_edge=left -o tab_title_max_length=12 |
|
Thanks for your work, @bvolpato, and thanks for this brief instruction, @fawolfmann! I've been using this branch of kitty for a week without any problems. |
|
Thanks @bvolpato! Needed this feature |

Summary
Add real side tab bars by teaching
tab_bar_edgeaboutleftandrightand rendering tabs as a vertical sidebar.Changes
leftandrightvalues totab_bar_edgeTesting
python3 -m py_compile kitty/tab_bar.py kitty/tabs.py kitty/boss.py kitty/options/utils.py kitty/options/definition.py kitty_tests/options.py kitty_tests/tab_bar.py./dev.sh build --debug, but this environment does not have the Linux X11/OpenGL development headers needed for kitty's native build (x11.pcand related headers were missing)Repro / Manual Check
Use a config like:
Open several tabs and verify:
Refs #2305