If you live in the terminal, kitty is made for you! Cross-platform, fast, feature-rich, GPU based. https://sw.kovidgoyal.net/kitty/
Find a file
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
.github Ignore inapplicable CVEs 2026-07-30 21:07:26 +05:30
3rdparty
bypy ty does not enforce existence of type signatures on functions, so use ruff to do it 2026-07-07 13:56:54 +05:30
docs Vertical tabs: support multi-line tab titles 2026-08-01 09:17:55 -07:00
gen Migrate type checker to ty 2026-07-04 09:18:00 +05:30
glad ty does not enforce existence of type signatures on functions, so use ruff to do it 2026-07-07 13:56:54 +05:30
glfw Wayland: fix abort when dragging a tab out 2026-07-26 00:48:26 +01:00
kittens Desktop file chooser integration: when the specified directory does not exist, open file chooser at home directory 2026-07-28 09:04:57 +05:30
kitty Vertical tabs: support multi-line tab titles 2026-08-01 09:17:55 -07:00
kitty_tests Vertical tabs: support multi-line tab titles 2026-08-01 09:17:55 -07:00
logo macOS: Switch to Tahoe style application icon 2026-04-18 13:28:22 +05:30
shell-integration Do not try to auto install kitten when generating completions 2026-07-03 23:30:59 +05:30
terminfo Update Se terminfo entry to reset cursor to configured default 2026-04-26 17:50:16 -05:00
tools fix locking in LRUCache 2026-07-27 09:34:01 +05:30
.editorconfig
.gitattributes
.gitignore Agent neutral instructions 2026-07-06 11:18:16 +05:30
__main__.py
benchmark.py
Brewfile
build-terminfo
CHANGELOG.rst
CONTRIBUTING.md
count-lines-of-code
dev.sh
embeds.go
go.mod Bump github.com/ebitengine/purego in the all-go-deps group 2026-07-27 03:42:46 +00:00
go.sum Bump github.com/ebitengine/purego in the all-go-deps group 2026-07-27 03:42:46 +00:00
INSTALL.md
key_encoding.json
LICENSE
local-agent.md Agent neutral instructions 2026-07-06 11:18:16 +05:30
Makefile
publish.py
pyproject.toml ty does not enforce existence of type signatures on functions, so use ruff to do it 2026-07-07 13:56:54 +05:30
README.asciidoc
rsync-and-build.sh
SECURITY.md
session.vim
setup.py macOS: Disable macOS one time code autofill popups 2026-07-13 09:06:24 +05:30
shell.nix Update shell.nix 2026-03-23 17:26:53 -04:00
staticcheck.conf
test.py
update-on-ox

= kitty - the fast, feature-rich, cross-platform, GPU based terminal

If you live in the terminal, *kitty* is made for **you**!

See https://sw.kovidgoyal.net/kitty/[the kitty website].

image:https://github.com/kovidgoyal/kitty/workflows/CI/badge.svg["Build status", link="https://github.com/kovidgoyal/kitty/actions?query=workflow%3ACI"]

https://sw.kovidgoyal.net/kitty/faq/[Frequently Asked Questions]

To ask other questions about kitty usage, use either the https://github.com/kovidgoyal/kitty/discussions/[discussions on GitHub] or the
https://www.reddit.com/r/KittyTerminal[Reddit community]

Packaging status in various repositories:

image:https://repology.org/badge/vertical-allrepos/kitty-terminal.svg?columns=3&header=kitty["Packaging status", link="https://repology.org/project/kitty-terminal/versions"]