If you live in the terminal, kitty is made for you! Cross-platform, fast, feature-rich, GPU based.
Find a file
mcrmck dd26469cb3 Rework window title bar architecture per review feedback
- Eliminate double set_geometry() call: removed _apply_window_title_bars()
  which post-processed geometry causing expensive SIGWINCH to children
- Move title bar screen ownership to Window objects instead of central
  manager, with show_title_bar flag set during layout before do_layout()
- Window.set_geometry() now handles title bar geometry internally:
  self.geometry stays at layout-computed value (borders/padding correct),
  only C-side render data diverges via adjusted top/bottom
- Hide title bar for 1-row windows (ynum <= 1)
- Hide title bar when template evaluates to empty/whitespace
- Optimize C render loop: merge title bar GPU prep and draw into existing
  per-window loops, use trd pointer and is_visible=false, use
  num_visible_windows > 1 guard. Eliminates separate iteration passes.
- Simplify WindowTitleBarManager to thin coordinator

Note on C-side GPU prep placement: the suggested patch placed
send_cell_data_to_gpu for title bars inside the is_active_window branch
only. This caused a segfault (NULL deref in gleRunVertexSubmitImmediate)
because inactive windows' title bars had valid screen/geometry but no
GPU data uploaded, yet draw_cells was called for all visible title bars.
Moved to the per-window visibility block alongside the main window's
send_cell_data_to_gpu call so all visible title bars get GPU data
prepared. The draw loop matches the suggested patch exactly.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 20:17:38 -05:00
.github Revert "Increase minimum python version to 3.12" 2026-02-08 21:57:11 +05:30
3rdparty
bypy Bump zlib for CVE 2026-02-21 15:51:48 +05:30
docs Update changelog 2026-03-01 11:00:26 +05:30
gen Fix: Increase sRGB LUT precision to 8 decimal places for more accurate color rendering 2026-02-17 02:22:20 +05:30
glad More robust detection of support for GL_FRAMEBUFFER_SRGB 2025-08-11 09:13:49 +05:30
glfw Merge branch 'fix/split-view-fullscreen-crash' of https://github.com/AndrewP-GH/kitty 2026-03-01 10:59:41 +05:30
kittens DRYer 2026-02-25 09:11:04 +05:30
kitty Rework window title bar architecture per review feedback 2026-03-04 20:17:38 -05:00
kitty_tests Fix failing test 2026-02-24 09:53:06 +05:30
logo
shell-integration choose files: Add default mappings to choose a file and insert it into the terminal 2025-11-23 11:41:21 +05:30
terminfo Remove empty key definitions from terminfo 2026-01-26 11:50:08 +05:30
tools Rename pane → window title bar per reviewer feedback 2026-03-01 23:53:28 -05:00
.editorconfig Fix indentation in codeql yml file 2025-04-14 10:21:10 +05:30
.gitattributes Move parsing of colors fully into C 2025-12-31 14:21:45 +05:30
.gitignore Add XI2 smooth scrolling support for X11 backend 2026-01-09 17:13:24 +05:30
__main__.py
benchmark.py Make mypy 1.16 happy 2025-05-30 10:06:38 +05:30
Brewfile See if dropping pkgconf fixes CI build 2024-11-23 19:48:05 +05:30
build-terminfo
CHANGELOG.rst
CONTRIBUTING.md
count-lines-of-code Update the list of nerd font names when updating other unicode data as well 2025-05-21 13:19:27 +05:30
dev.sh
embeds.go Code to serialize/unserialize loaded images 2025-10-07 17:25:47 +05:30
go.mod Bump version of imaging for new JPEG code 2026-02-23 07:10:13 +05:30
go.sum Bump version of imaging for new JPEG code 2026-02-23 07:10:13 +05:30
INSTALL.md
key_encoding.json
LICENSE
Makefile
publish.py Fix pkill invocation 2026-02-24 07:47:22 +05:30
pyproject.toml Revert "Increase minimum python version to 3.12" 2026-02-08 21:57:11 +05:30
README.asciidoc Update some docs 2025-10-07 20:20:19 +05:30
rsync-and-build.sh Slightly improve rsync script 2025-05-09 15:33:22 +05:30
SECURITY.md ... 2025-09-14 21:31:43 +05:30
session.vim
setup.py Ignoring errors is the default behavior for os.walk 2026-01-31 08:28:10 +05:30
shell.nix Fix shell.nix 2026-01-20 17:09:01 +01: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"]