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
copilot-swe-agent[bot] 519fd49ce6
Fix bugs in t=k remote drag implementation and add comprehensive tests
Bug fixes in dnd.c:
- mktempdir_in_cache: add missing 'return ans' after successful strdup
- mktempdir_in_cache (utils.py): use O_RDONLY instead of O_RDWR for directories
- remote_items allocation: use mi.num_uris instead of ds.num_mimes
- Off-by-one: uri_item_idx > changed to >= for bounds checks
- Off-by-one: entry_num > changed to >= for bounds checks
- populate_dir_entries: fix missing last entry after final null separator
- add_payload directory finalization: create directory on disk with mkdirat
- get_errno_name: add EFBIG, EISDIR, ENOSPC error codes

Test infrastructure:
- Add dnd_test_force_drag_dropped() to simulate DROPPED state
- Make notify_drag_data_ready() succeed in test mode

Comprehensive t=k tests added:
- Single file, empty file, single symlink transfer
- Chunked file transfer with m=1
- Single directory with children
- Directory with symlinks
- Multiple URIs
- Deep directory trees (breadth-first and depth-first, 3+ levels)
- Mixed file/dir/symlink at top level
- Completion signal
- Error handling (client errors, invalid state)
- DoS limits (REMOTE_DRAG_LIMIT, PRESENT_DATA_CAP)
- Invalid input (bad base64, too large chunks, invalid indices/handles)
- URI list with comments
- Multiple chunks for directory listing

Agent-Logs-Url: https://github.com/kovidgoyal/kitty/sessions/9da0bff7-6a1a-490f-a4c5-8cb328e056ce

Co-authored-by: kovidgoyal <1308621+kovidgoyal@users.noreply.github.com>
2026-04-13 15:54:34 +00:00
.github ... 2026-04-06 11:35:45 +05:30
3rdparty ... 2024-07-14 12:34:24 +05:30
bypy Bump dependencies for CVEs 2026-04-11 14:29:23 +05:30
docs More work on DnD protocol 2026-04-13 19:40:23 +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 Added macos_fullscreen_ignore_safe_area_insets option 2026-04-09 10:27:01 +03:00
kittens DRYer 2026-04-10 15:32:27 +05:30
kitty Fix bugs in t=k remote drag implementation and add comprehensive tests 2026-04-13 15:54:34 +00:00
kitty_tests Fix bugs in t=k remote drag implementation and add comprehensive tests 2026-04-13 15:54:34 +00:00
logo
shell-integration Add command_palette command to display bound keys 2026-02-22 20:46:47 -08:00
terminfo Remove empty key definitions from terminfo 2026-01-26 11:50:08 +05:30
tools Get machine_id working on macOS as well 2026-04-12 12:31:42 +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"]