Commit graph

177 commits

Author SHA1 Message Date
Kovid Goyal
05444e9e61
Fix #10391 2026-08-23 08:18:59 +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
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
9b29654e90
clarify behavior of leading and trailing commas in the graphics protocol 2026-08-20 15:49:38 +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
MiguelRegueiro
f7280f458c Add elio to graphics and DnD support lists 2026-08-05 20:12:23 +02:00
Alex Myczko
2be09a7f1b
Add chawan as a TUI web browser option 2026-08-04 21:05:20 +02:00
Valentin Shergin
faec3fc63d Add malevich to graphics protocol support list 2026-08-03 15:51:10 -07:00
Mish Ushakov
638b6f3eb7
Add desktui to the list of applications using the graphics protocol
desktui is a VNC client that renders the remote framebuffer with the
graphics protocol, one remote pixel per terminal pixel.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-29 00:06:55 +02:00
Kovid Goyal
d994a47fc8
Cleanup previous PR 2026-06-19 11:36:43 +05:30
Matsumoto Kotaro
89946ebc07 graphics: make N a transient usage-hints bitmask
Change the graphics protocol N key from a boolean into a usage-hints
bitmask. Define the first bit as a transient hint, allowing the terminal
to treat the image data as short-lived and apply optimizations such as
skipping disk cache writes.

Propagate the transient hint through frame coalescing and composition, so
a composed frame is transient if any contributing frame is transient.
2026-06-19 13:22:01 +09:00
Matsumoto Kotaro
cc2d7a1789 graphics: add memory-only storage for graphics data
Add a new graphics protocol key, N=1, to request that transmitted
image/frame data is kept only in memory and not written to the graphics
disk cache file.

This is useful for transient high-frequency updates such as video-like
streams, where the latest frame is the only useful data and persisting
each frame to the disk cache causes unnecessary write traffic.

The implementation keeps the existing graphics cache abstraction intact:
memory-only entries can still be read back by animation, composition, and
frame coalescing paths. Only persistence to the disk cache file is skipped.

The default behavior is unchanged when N is omitted or set to zero.
2026-05-30 18:46:24 +09:00
Kovid Goyal
5fd06628be
Note that nvim now supports the kitty graphics protocol 2026-04-27 06:43:49 +05:30
Steven Xu
dbce70908b docs: add *BICat* to graphics protocol applications 2026-04-18 01:06:16 +10:00
Kovid Goyal
4e76c089d8
Add emacs kitty graphics package to integrations 2026-03-03 09:19:18 +05:30
Kovid Goyal
941e85a95e
Note that graphics-protocol is now supported in xterm.js 2026-02-24 08:55:40 +05:30
shfc
51a08d23cd
fix: typos in documentation 2025-12-14 22:42:24 +10:30
Kovid Goyal
270d3ed656
Note that iTerm2 also added support for the kitty graphics protocol 2025-12-04 22:32:52 +05:30
Kovid Goyal
914631b049
Avoid malloc per chunk 2025-11-24 17:39:19 +05:30
Kovid Goyal
c9c1b20cd1
Code golf the python version as well 2025-11-24 15:50:51 +05:30
Kovid Goyal
a2636f1860
Code golf 2025-11-24 15:21:18 +05:30
Kovid Goyal
adf03c067c
Add support for OpenBSD as well to transmit_png 2025-11-24 15:08:55 +05:30
Kovid Goyal
1236f04a97
return rather than exit 2025-11-24 11:29:17 +05:30
Kovid Goyal
79cd4d3ee8
... 2025-11-24 11:28:27 +05:30
Kovid Goyal
701d229139
Dont depend on icat to read screen size in pixels 2025-11-24 10:52:53 +05:30
Kovid Goyal
9fdebd66cb
Minor robustness improvements 2025-11-24 10:22:36 +05:30
Kovid Goyal
905e72baa2
... 2025-11-24 10:20:58 +05:30
Kovid Goyal
a3777694fd
POSIX printf doesnt support \e 2025-11-24 10:18:43 +05:30
Kovid Goyal
0d78490cc8
Make the script to transmit PNG image POSIX sh compliant
Fixes #9243
2025-11-24 10:14:34 +05:30
Kovid Goyal
554859cc6e
... 2025-11-24 09:38:25 +05:30
Kovid Goyal
18e73d0cff
Make the example script to read screen geometry work on POSIX sh 2025-11-24 09:31:52 +05:30
Jesse Miller
9e9af32a07 Add 'blackcat' a modern compatible cat with image support 2025-09-12 19:23:34 -06:00
Kovid Goyal
9700a96f02
... 2025-07-13 07:37:47 +05:30
Kovid Goyal
01dacf0ef6
Fix #8756 2025-06-27 08:15:48 +05:30
Kovid Goyal
a023a0db09
Graphics protocol: Add a note clarifying image update behavior on re-transmission
See #8701
2025-06-03 07:41:21 +05:30
Kovid Goyal
fe391bf2ac
Add a note about CSI 16 t as well 2025-06-03 07:35:01 +05:30
Eva
3d00a26840
Update graphics-protocol.rst: typo fix 2025-04-29 00:09:04 +03:00
danny neira
dc759e6a07
updated list of other terminals that support kitty image protocol 2025-03-27 17:16:45 -06:00
Sergei Grechanik
0d969bb441 Add st to the list of terminals implementing graphics protocol
It's implemented as a patch, the link points to the patch landing page.
2025-02-17 16:08:35 -08:00
Justin Brooks
4ee1a6a6ee
Add vat to list of applications that use the protocol 2025-01-09 09:37:23 -05:00
Kovid Goyal
dac6f88453
Cleanup previous PR 2024-12-28 08:08:09 +05:30
Peter Bronez
4b5ccc2911
Add Ghosttty to list of terminals implementing the graphics protocol
Ghostty 1.0 was just released. It implements the Kitty Graphics Protocol. I used a link to the specific code that implements the prototocol. Alternatively, could use the feature page https://ghostty.org/docs/features or home page https://ghostty.org
2024-12-27 13:54:50 -05:00
Kovid Goyal
70d72b22d8
Graphics protocol: Clear any partially uploaded data for a chunked load when any delete command is received
Fixes #7968
2024-10-13 09:49:44 +05:30
Kovid Goyal
f66a58ebe2
Decouple notification closed reporting from closing of notifications 2024-07-25 10:53:31 +05:30
Kovid Goyal
f1e1dc4a0c
Split up list of software supporting graphics protocol into libraries and applications and make it alphabetical 2024-07-07 20:31:36 +05:30
Denys Séguret
ae899fe24f
Update graphics-protocol.rst
Add broot to the list of applications using Kitty's graphics protocol

(IMO it would be easier to read with an alphabetical sorting and by removing the gratuitous "blazing fast" assertions but that's out of scope of this PR)
2024-07-07 15:08:28 +02:00
Chase Colman
e2d3e0ba96
Fix composition example in Graphics Protocol
The example is missing `a=c` but it has the remaining parameters.
2024-06-25 00:59:06 +08:00
sxyazi
14c16fa943
Add Yazi terminal file manager to the list of software implementing kitty's graphics protocol 2024-06-04 14:06:14 +08:00
Kovid Goyal
9b14946176
Add image_preview.nvim to the integrations docs 2024-04-25 07:39:22 +05:30
Kovid Goyal
c19488f3be
Graphics protocol: Add a new delete mode for deleting images whose ids fall within a range
Useful for bulk deletion. See #7080
2024-02-25 09:57:44 +05:30