If you live in the terminal, kitty is made for you! Cross-platform, fast, feature-rich, GPU based.
Find a file
copilot-swe-agent[bot] 09e10fea85
Fix stale is_selected buffer after screen buffer toggle (#9725)
When toggling between alt and main screen buffers, the selection buffer
(is_selected) was not always re-uploaded to the GPU. This caused a size
mismatch because render_lines_for_screen depends on pixel_scroll_enabled,
which depends on linebuf == main_linebuf.

On alt screen, pixel_scroll is disabled so render_lines = screen->lines.
On main screen, pixel_scroll is enabled so render_lines = screen->lines + 1.
After switching from alt to main, the cell data buffer was re-uploaded with
the larger size (is_dirty = true), but the selection buffer was not
(screen_is_selection_dirty could return false if no selections/urls/extra
cursors were active). The extra row of cells then read out-of-bounds from
the selection buffer, getting garbage data that the shader interpreted as
extra cursor shapes, producing blinking cursor-colored artifacts.

Fix by unconditionally setting extra_cursors.dirty = true after screen
toggle, ensuring the selection buffer is always re-uploaded with the
correct size matching the cell data buffer.

Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/daa73124-4795-4389-aea5-bb5593a26d9f

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-04-16 03:13:25 +00:00
.github ... 2026-04-14 17:39:04 +05:30
3rdparty ... 2024-07-14 12:34:24 +05:30
bypy Bump python for CVEs 2026-04-14 14:11:35 +05:30
docs Fix various minor bugs in the multiple bgimage code 2026-04-15 23:02:11 +05:30
gen Add machine id and stub for t=k transfers 2026-04-11 17:20:53 +05:30
glad More robust detection of support for GL_FRAMEBUFFER_SRGB 2025-08-11 09:13:49 +05:30
glfw Report missing pointer-gestures protocol 2026-04-14 09:44:48 +05:30
kittens Fix RemoteCommand usage with bootstrap.py and bootstrap.sh not exiting after RemoteCommand 2026-04-15 05:37:56 +05:30
kitty Fix stale is_selected buffer after screen buffer toggle (#9725) 2026-04-16 03:13:25 +00:00
kitty_tests Fix memory safety issues, protocol bugs, and add tests for DnD implementation 2026-04-14 09:33:23 +00:00
logo
shell-integration Add support for RemoteCommand option in kitten ssh 2026-04-14 11:11:51 +08:00
terminfo Remove empty key definitions from terminfo 2026-01-26 11:50:08 +05:30
tools Allow preloading multiple background images to GPU for fast switching 2026-04-15 22:34:20 +05:30
.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 golang.org/x/sys from 0.42.0 to 0.43.0 in the all-go-deps group 2026-04-13 03:43:18 +00:00
go.sum Bump golang.org/x/sys from 0.42.0 to 0.43.0 in the all-go-deps group 2026-04-13 03:43:18 +00:00
INSTALL.md
key_encoding.json
LICENSE
Makefile
publish.py Fix pkill invocation 2026-02-24 07:47:22 +05:30
pyproject.toml Add license metadata to pyproject.toml 2026-03-30 13:42:18 +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 Function to get machine ID on cocoa 2026-04-09 07:04:12 +05:30
shell.nix Update shell.nix 2026-03-23 17:26:53 -04:00
staticcheck.conf
test.py
update-on-ox Allow turning off stripping in update-on-ox 2024-08-18 15:30:38 +05:30

= 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"]