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 51ebfe4912 Vertical tabs: add tab_title_wrap to wrap long titles
A tab title too wide for the sidebar could only be truncated, which is wasteful
now that a title may use several lines. Add tab_title_wrap, accepting no (the
default, truncate as before), yes to wrap at the width of the tab bar, or a
number to wrap at that many cells.

Wrapping happens on grapheme boundaries so a line break can never land inside a
multi-codepoint grapheme, and SGR escapes are treated as zero width so colors
from tab_title_template neither consume cells nor get split in half. Wrapping is
bounded by tab_title_max_lines, and when a title needs more lines than it is
allowed the last line it gets is truncated with an ellipsis, which also makes
dropped lines visible for titles containing explicit newlines.

Only vertical tab bars are affected, since wrapping requires more than one row.
2026-08-01 09:18:15 -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: add tab_title_wrap to wrap long titles 2026-08-01 09:18:15 -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: add tab_title_wrap to wrap long titles 2026-08-01 09:18:15 -07:00
kitty_tests Vertical tabs: add tab_title_wrap to wrap long titles 2026-08-01 09:18:15 -07:00
logo
shell-integration Do not try to auto install kitten when generating completions 2026-07-03 23:30:59 +05:30
terminfo
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
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"]