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
Kovid Goyal d52f2e7981
Rewrite rendering pipeline
This was needed to fix various corner cases when doing blending of colors
in linear space. The new architecture has the same performance as the
old in the common case of opaque rendering with no UI layers or images.

In the case of only positive z-index images there is a performance
decrease as the OS Window is now rendered to a offscreen texture and
then blitted to screen. However, in the future when we move to Vulkan or
I can figure out how to get Wayland to accept buffers with colors in
linear space, this performance penalty can be removed. The performance
penalty was not significant on my system but this is highly GPU
dependent. Modern GPUs are supposedly optimised for rendering to
offscreen buffers, so we will see. The awrit project might be a good
test case.

Now either we have 1-shot rendering for the case of opaque with only ext
or all the various pieces are rendered in successive draw calls into an
offscreen buffer that is blitted to the output buffer after all drawing
is done.

Fixes #8869
2025-08-11 00:47:02 +05:30
.github Remove deprecated option from CodeQL setup 2025-04-20 15:51:29 +05:30
3rdparty ... 2024-07-14 12:34:24 +05:30
bypy Bump bundled Wayland version 2025-05-15 09:09:16 +05:30
docs Rewrite rendering pipeline 2025-08-11 00:47:02 +05:30
gen remove leftover debug prints 2025-07-20 21:45:36 +05:30
glad Make shebangs consistent 2023-11-11 08:32:05 +05:30
glfw Specify the color space on Wayland surfaces 2025-07-31 19:18:09 +05:30
kittens Cleanup previous PR 2025-08-04 20:31:31 +05:30
kitty Rewrite rendering pipeline 2025-08-11 00:47:02 +05:30
kitty_tests Rewrite rendering pipeline 2025-08-11 00:47:02 +05:30
logo Oxipng/svgo images to save some 150KB~ 2024-03-25 23:42:56 +01:00
shell-integration Escape user input in zsh integration's _ksi_preexec 2025-06-23 18:44:52 -04:00
terminfo Allow backspace to wrap cursor to previous line 2025-07-23 08:56:54 +05:30
tools Use SIMD to replace C0 control codes in Go code 2025-07-21 08:54:22 +05:30
.editorconfig Fix indentation in codeql yml file 2025-04-14 10:21:10 +05:30
.gitattributes Allow backspace to wrap cursor to previous line 2025-07-23 08:56:54 +05:30
.gitignore Nicer way to include grapheme test data in Go tests 2025-03-27 03:20:27 +05:30
__main__.py Make shebangs consistent 2023-11-11 08:32:05 +05:30
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 Make the terminfo database available in the compiled module 2024-03-21 10:16:50 +05:30
CHANGELOG.rst
CONTRIBUTING.md Fix misspellings 2023-06-14 03:39:53 +06:00
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 Update docs for new develop builds 2023-07-29 14:16:25 +05:30
embeds.go Get basic full string width tests running 2025-04-11 10:45:39 +05:30
go.mod Bump github.com/bmatcuk/doublestar/v4 in the all-go-deps group 2025-07-28 04:02:16 +00:00
go.sum Bump github.com/bmatcuk/doublestar/v4 in the all-go-deps group 2025-07-28 04:02:16 +00:00
INSTALL.md Format the INSTALL.md links 2021-09-23 20:31:13 +05:30
key_encoding.json Add JSON definition of key encoding 2018-02-07 14:39:11 +05:30
LICENSE Update link 2021-09-28 14:23:49 +05:30
Makefile Update docs for new develop builds 2023-07-29 14:16:25 +05:30
publish.py Detect hung builders 2025-03-05 09:07:20 +05:30
pyproject.toml Make mypy 1.16 happy 2025-05-30 10:06:38 +05:30
README.asciidoc Update repology links 2024-10-01 15:31:16 +05:30
rsync-and-build.sh Slightly improve rsync script 2025-05-09 15:33:22 +05:30
SECURITY.md ... 2021-03-17 14:45:23 +05:30
session.vim Switch to LSP for mypy 2024-03-28 19:36:07 +05:30
setup.py Cleanup previous PR 2025-06-30 12:09:13 +05:30
shell.nix fix: add missing pkgs and manually add font for nix shell 2025-05-10 14:42:46 +02:00
staticcheck.conf configure staticcheck 2022-11-14 15:42:01 +05:30
test.py Dont change the env for go tests 2022-11-14 15:41:53 +05:30
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

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