Commit graph

3697 commits

Author SHA1 Message Date
Kovid Goyal
7d2fbaadcc
Text sizing protocol: Fix a buffer overflow
When a natural width (no explicit ``w`` key) text sizing escape code
contains a grapheme cluster longer than four codepoints
2026-08-23 07:52:17 +05:30
Kovid Goyal
5f04193347
Merge branch 'fix/small-typos' of https://github.com/zaveshaa/kitty 2026-08-23 07:39:25 +05:30
Kovid Goyal
026d11f517
Drag and drop protocol: deny requests for drag data made before the user has actually dropped something onto the window 2026-08-23 07:34:35 +05:30
zaveshaa
15ceaac34b Fix doubled words in docs and a test comment 2026-08-22 23:10:54 +03:00
Kovid Goyal
3692fb01ec
Update changelog 2026-08-22 12:49:52 +05:30
Leah Amelia Chen
81e0a86791
docs/graphics-protocol: replace demo image
The "Lenna" test image has been deprecated for several years at this
point in the computer graphics scientific community for being an
unauthorized, cropped scan of a Playboy magazine that is not only legally
problematic regarding redistribution (see #661) but also raises questions
about the appropriateness of using originally pornographic material in
scientific literature. **If scientific journals now find it unacceptable,
so should we, and we should do better**.

The image itself has been long gone from the repo itself following #661,
but it's still present in a screenshot attached to the documentation.
Although that resolved legal issues for Debian packaging, I think the
fundamental problem with the Lenna image remains unsolved, and over the
past 8 years the scientific consensus (and more importantly, the
sentiment from the model herself, Lena Forsén) has been very clear that
we shouldn't use this image in any shape or form now. So let's replace it
with something actually wholesome and thematically appropriate!

Instead, I've taken a screenshot of `gr.py`, but with Lenna replaced with
a photo of a friend's cat. I took the original photo myself and licensed
it under CC0 — no attribution is required, though it would certainly be
welcome. Some minor things about the composition have been changed, such
as the proportions of the images and the font used (sorry, I don't know
which font the original used, I'm using Iosevka here since it's my system
monospace font), but overall it shows off the capabilities of the
Graphics Protocol as well as the original.

Please let me know of any feedback regarding the image selection and the
composition, but I think this is a worthy step to take.
2026-08-21 15:40:56 +08:00
Kovid Goyal
d805e28aad
Fix handling of a=f chunked loading 2026-08-21 10:46:43 +05:30
Kovid Goyal
f5b4722c68
Fix incorrect key being used for animation compose
Regression in 0.45.0
Fixes #10379
2026-08-21 10:31:17 +05:30
Kovid Goyal
5bdbf2676b
Graphics: clipping against page margins on scroll
Fixes #10377
2026-08-21 09:16:22 +05:30
Kovid Goyal
2db805c71e
Wayland: Workaround clipboard managers that restore application private MIME types. Fixes #10376 2026-08-21 08:14:38 +05:30
Kovid Goyal
9b29654e90
clarify behavior of leading and trailing commas in the graphics protocol 2026-08-20 15:49:38 +05:30
Kovid Goyal
b71e5dfb3b
Cleanup previous PR 2026-08-20 07:53:47 +05:30
Kovid Goyal
5e2660143f
Update changelog 2026-08-18 08:04:48 +05:30
Kovid Goyal
d63e99e17f
Update changelog 2026-08-18 07:41:42 +05:30
Kovid Goyal
46379d4e0e
Another 10% speedup for printable ascii throughput 2026-08-17 07:14:40 +05:30
Kovid Goyal
82ae858a03
Speed up CSI escape code parsing by ~30% 2026-08-16 22:08:28 +05:30
Kovid Goyal
07ea7583ac
Improve performance of SIMD UTF-8 decoding
Optimise the AVX 2 implementation reducing number of operations per block
and also add an AVX-512 implementation used when the CPU supports it at
runtime.
2026-08-16 20:25:03 +05:30
Kovid Goyal
e62ec6d540
Throughput improvements when processing large blocks of text
Mostly comes from detecting the case of runs of ASCII printable
characters and using a special fast path for them. Improves benchmarks
as per benchmark.py by 15-30% for text heavy workloads
2026-08-16 17:47:56 +05:30
Kovid Goyal
cb32a9b950
Improve throughput for scrollback buffer by ~30% 2026-08-16 16:58:15 +05:30
Kovid Goyal
f5ae245f65
Switch to perf for profiling from gperftools 2026-08-16 11:24:41 +05:30
Kovid Goyal
ee156905c7
When expanding a window in alternate screen mode use the most common background color as the color for the newly created lines leading to less visual flicker until the application can redraw itself
Fixes #10365
2026-08-16 07:46:29 +05:30
Hassan Raza
b172b487fd
Fix builtin kitten development guide 2026-08-14 12:25:02 +05:00
Kovid Goyal
cea9aeb803
Wayland: Fix clipboard sharing between kitty instances in containers with isolated PID namespaces
Dont rely on PID alone for the self transfer sentinel.

Fixes #10352
2026-08-12 20:28:49 +05:30
Kovid Goyal
27d68d32e6
... 2026-08-12 10:22:21 +05:30
Kovid Goyal
987a8f1d4b
Update changelog 2026-08-11 19:46:18 +05:30
Kovid Goyal
a782e3736b
Add an attach directive for pipeline groups 2026-08-11 08:47:13 +05:30
Kovid Goyal
cf136a233c
... 2026-08-11 08:29:47 +05:30
Kovid Goyal
953ac19e77
Autoformat slang code 2026-08-10 22:29:18 +05:30
Kovid Goyal
81e94953f8
Merge branch 'feature/UAT-set-os-window-title' of https://github.com/Bonjour123/kitty 2026-08-10 21:14:35 +05:30
Kovid Goyal
e1f2d2dc8d
A simple shader pipeline example 2026-08-10 20:49:36 +05:30
Kovid Goyal
b0052a333b
preserve scroll position when opening and closing vdeo popups 2026-08-10 20:41:32 +05:30
Kovid Goyal
69c0841765
Add retro terminal shaders to demo gallery 2026-08-10 19:54:49 +05:30
Lucas TAVEAU
988242d4d2 feat: add remote control for OS window titles [feature/UAT-set-os-window-title] 2026-08-10 09:52:16 +02:00
Kovid Goyal
ac2c1ca86c
Pass geometry of window with bell to custom shaders 2026-08-10 13:09:37 +05:30
Kovid Goyal
4a7b87a4f5
Remove extern from custom shader vars declarations
Since we specialize and compiler shader separately for every occurrence
in the pipeline, it is no longer needed.
2026-08-10 12:03:56 +05:30
Kovid Goyal
79a1ad2b57
Cleanup docs 2026-08-10 10:28:21 +05:30
Kovid Goyal
60ab484dfb
Add a focus highlight demo 2026-08-09 21:59:38 +05:30
Kovid Goyal
8660a97523
Couple more uses of repo_folder 2026-08-09 21:40:03 +05:30
Kovid Goyal
919523f31a
Link to code for shipped custom shaders 2026-08-09 21:36:39 +05:30
Kovid Goyal
7da676b061
Finish custom shader docs 2026-08-09 20:20:51 +05:30
Kovid Goyal
3b6c330278
Work on documentation for custom shaders 2026-08-09 20:02:47 +05:30
Kovid Goyal
356e140d92
... 2026-08-09 18:47:46 +05:30
Kovid Goyal
c9fef78103
Cleanup docs formatting 2026-08-09 18:42:08 +05:30
Kovid Goyal
802ef3c1ea
Cleanup video demo generation 2026-08-09 16:03:37 +05:30
Kovid Goyal
b2f249cbfd
dont upscale demo videos 2026-08-09 15:49:36 +05:30
Kovid Goyal
99c75d1243
generate includes for custom shader demo videos 2026-08-09 15:49:36 +05:30
Kovid Goyal
9bb664ee3c
Switch from sphinx-inline-tabs to sphinx-design
sphinx-design gives us more capabilities such as cards and grids
2026-08-09 14:31:33 +05:30
Kovid Goyal
b1bab0eb90
Remove no longer needed restriction 2026-08-09 14:03:11 +05:30
Kovid Goyal
d97bdc22c9
Define custom shader categories 2026-08-09 13:53:13 +05:30
Kovid Goyal
9e9087c319
Start work on custom shader docs 2026-08-09 13:25:13 +05:30