If you live in the terminal, kitty is made for you! Cross-platform, fast, feature-rich, GPU based.
Find a file
Kovid Goyal 16008b950a
Wayland: Fix spurious key repeat events when some user defined callback takes a long time to execute
On compositors that support compositor key repeat events, use those, for
complete robustness. Sadly no actual compositor implements these yet.

Otherwise use a timer fd/pipe to queue the repeat events and only
dispatch them after events from the compositor are handled. This means
release events from the compositor will prevent spurious repeat events.
One can, in the worst case lose some repeat events if there is a very
large interval between the start of the timer and the next poll, but
that is unavoidable and is why repeat events should come from the compositor
in the first place.

Fixes #9224
2025-12-03 22:26:09 +05:30
.github Bump actions/checkout from 5 to 6 in the actions group 2025-12-01 03:51:10 +00:00
3rdparty
bypy Bump version of libpng 2025-11-28 21:01:11 +05:30
docs Wayland: Fix spurious key repeat events when some user defined callback takes a long time to execute 2025-12-03 22:26:09 +05:30
gen Output the set of special colors separately 2025-11-08 00:55:10 +05:30
glad More robust detection of support for GL_FRAMEBUFFER_SRGB 2025-08-11 09:13:49 +05:30
glfw Wayland: Fix spurious key repeat events when some user defined callback takes a long time to execute 2025-12-03 22:26:09 +05:30
kittens Explicitly remove audio/subtitle and data streams when generating previews via ffmpeg 2025-12-02 18:51:33 +05:30
kitty Raise max number of lines to scan for continued URL to 20 2025-12-03 12:50:29 +05:30
kitty_tests Dont rewrap text in the alternate screen buffer 2025-11-26 10:29:12 +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 Allow backspace to wrap cursor to previous line 2025-07-23 08:56:54 +05:30
tools fix warning from linter 2025-12-02 23:37:53 +05:30
.editorconfig
.gitattributes Allow backspace to wrap cursor to previous line 2025-07-23 08:56:54 +05:30
.gitignore
__main__.py
benchmark.py Make mypy 1.16 happy 2025-05-30 10:06:38 +05:30
Brewfile
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 go toolchain version for irrelevant go vuln CI failure 2025-12-03 14:37:18 +05:30
go.sum Add support for RAR archive preview 2025-11-27 09:33:15 +05:30
INSTALL.md
key_encoding.json
LICENSE
Makefile
publish.py Use a full qualified name for SBOM generation 2025-09-18 17:42:05 +05:30
pyproject.toml Specify python dependencies in pyproject.toml 2025-09-16 16:42:01 +05:30
README.asciidoc Update some docs 2025-10-07 20:20:19 +05:30
rsync-and-build.sh
SECURITY.md ... 2025-09-14 21:31:43 +05:30
session.vim
setup.py Allow shader names with underscores 2025-08-13 07:10:16 +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"]