Commit Graph

3 Commits

Author SHA1 Message Date
a
56c4253a87
kitty: fix Unicode placeholder rendering
csiparse() mishandled colon-form SGR (ESC[38:2:r:g:bm): the undercurl
patch's readcolonargs() swallowed the colour sub-parameters, so the
foreground never became a truecolor value and the image id encoded in
it could not be recovered. Only consume colon args for non-colour
attributes, and only while ';' is still the separator.

Also suppress the U+10EEEE placeholder glyph itself when drawing, so
only the image shows.

Fixes the base64 decoder's signed shift overflow found by UBSan.
2026-09-06 22:30:56 -05:00
a
a4f4f96c62
kitty: draw negative z-index images under the text
Images with a negative z-index are composited between the background
and foreground passes of xdrawline, so that text renders on top of
them with alpha blending, as the protocol requires.
2026-09-06 20:47:48 -05:00
a
cb1f41c9ae
kitty: add kitty terminal graphics protocol support
Adds kitty.c/kitty.h implementing the kitty graphics protocol behind
KITTY_GRAPHICS_PATCH, enabled in patches.h.

Supports transmission (direct, file, temp file, POSIX shared memory),
the RGB/RGBA/PNG formats with a self-contained PNG decoder, zlib
compression, chunked transfers, placements with source rects, scaling,
cell offsets, z-index ordering with alpha blending via XRender,
relative and Unicode-placeholder virtual placements, the full set of
delete selectors, queries, image numbers and animation (frame
transfer, composition and playback).
2026-09-06 20:41:24 -05:00