If you live in the terminal, kitty is made for you! Cross-platform, fast, feature-rich, GPU based.
Wayland (glfw/wl_window.c): - Fix out-of-bounds access in send_drag_data: look up item by MIME type instead of using the data-request index i to index _glfw.drag.items[]. The compositor calls drag_source_send once per target window entered, so _glfw.wl.drag.count grows independently of item_count, causing _glfw.drag.items[i] to be out-of-bounds on the second drag, yielding a garbage optional_data pointer that made write() fail with EFAULT. - Fix protocol error "Drag has not ended": change on_fail and the GLFW_DRAG_DATA_REQUEST error path to call finish_drag_write(i)+return instead of cancel_drag(), which was calling wl_data_source_destroy() before the compositor ended the drag, violating the Wayland protocol. - Fix double-free of dr.pending_data: null the pointer after free and add cleanup to finish_drag_write(). - Fix missing finish_drag_write() after a full write in data-request mode, which left the pipe open causing the target to wait for EOF. X11 (glfw/x11_window.c): - Wrap XSendEvent() calls in send_xdnd_enter/position/leave/drop with _glfwGrabErrorHandlerX11()/_glfwReleaseErrorHandlerX11(). A target window destroyed between discovery and message delivery produced a BadWindow error that hit the default X11 abort handler. Now handled gracefully by clearing current_target or cancelling the drag." Fixes #9677 Fixes #9683 |
||
|---|---|---|
| .github | ||
| 3rdparty | ||
| bypy | ||
| docs | ||
| gen | ||
| glad | ||
| glfw | ||
| kittens | ||
| kitty | ||
| kitty_tests | ||
| logo | ||
| shell-integration | ||
| terminfo | ||
| tools | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| __main__.py | ||
| benchmark.py | ||
| Brewfile | ||
| build-terminfo | ||
| CHANGELOG.rst | ||
| CONTRIBUTING.md | ||
| count-lines-of-code | ||
| dev.sh | ||
| embeds.go | ||
| go.mod | ||
| go.sum | ||
| INSTALL.md | ||
| key_encoding.json | ||
| LICENSE | ||
| Makefile | ||
| publish.py | ||
| pyproject.toml | ||
| README.asciidoc | ||
| rsync-and-build.sh | ||
| SECURITY.md | ||
| session.vim | ||
| setup.py | ||
| 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"]