Commit Graph

208 Commits

Author SHA1 Message Date
Michael Grant
bc998ede98 Ordinary text writes replaced the entire grid cell, dropping GRID_FLAG_IMAGE and releasing the
mage reference. Deferred pane redraws explain the intermittent “image never appears” behavior.

Fixed:
  - Preserves image metadata while updating the text underlay in the collected ASCII path: grid.c:779
  - Handles the single-cell/non-ASCII path and schedules an image redraw: screen-write.c:2631
  - Uses the requested if/else for new_id.
  - Adds a deterministic regression reproducing point (2): regress/image-support.sh:240

  This matches Kitty’s requirement that normal text operations must not affect graphics; graphics require
  explicit deletion. Kitty graphics protocol
2026-08-07 16:13:07 +01:00
Michael Grant
3cd6526d46 Fix underlay bookkeeping bug. 2026-08-07 11:34:16 +01:00
Michael Grant
945152029d Pass through wrapped Kitty graphics 2026-08-06 19:08:59 +01:00
Michael Grant
2788616b6f Add bptato's test to the regression test script. 2026-08-06 09:11:45 +01:00
Michael Grant
51f1c0de51 The two Chawan symptoms now have matching fixes:
- Layout corruption: C=1 is respected.
  - Lingering remnants: tmux now tracks Kitty’s (image ID, placement ID) identity, replaces moved placements, and honors
    placement-specific d=i,...,p=... deletion.
2026-08-06 00:06:59 +01:00
Michael Grant
045a25c89a Support Kitty Unicode placeholder image transmission
- Parse Kitty graphics commands wrapped in tmux passthrough sequences.
  - Accept unpadded base64 payloads emitted by icat.
  - Handle chunked transfers whose final chunk omits m.
  - Track virtual image placements.
  - Convert Unicode placeholders into shared image cells for Kitty and SIXEL clients.
  - Add regression coverage for wrapped, chunked, unpadded input.
2026-08-05 23:26:11 +01:00
Michael Grant
abfd8cee51 Fix SIXEL median-cut palette generation 2026-08-05 21:44:25 +01:00
Michael Grant
ccc90ea220 Revert "Removed unconditional Floyd–Steinberg dithering from image-sixel.c:1077. Kitty images now use the adaptive 256-colour median-cut palette with direct nearest-colour mapping."
This reverts commit ab591ae430.
2026-08-05 21:38:28 +01:00
Michael Grant
6b8d581135 Fix kitty image resize issue when the kitty image resized smaller than the image, the image was overflowing lines and banding. 2026-08-05 13:51:07 +01:00
Michael Grant
ab591ae430 Removed unconditional Floyd–Steinberg dithering from image-sixel.c:1077. Kitty images now use the adaptive 256-colour median-cut palette with direct nearest-colour mapping. 2026-08-05 13:22:15 +01:00
Michael Grant
d06eb0bc2b C=1 is parsed and stored as an image-placement flag, suppressing cursor movement and scrolling as required by the Kitty protocol. 2026-08-05 11:54:22 +01:00
Michael Grant
2a0e47fef0 Merge branch 'master' into 4902-image-support 2026-08-05 11:10:58 +01:00
Nicholas Marriott
72e705cbd6 Tweak times for macOS. 2026-08-05 08:26:10 +01:00
Nicholas Marriott
f07a76d959 Use move-pane for a test. 2026-08-03 21:30:44 +01:00
Nicholas Marriott
ca0d77855f Client exit test from Ben Maurer. 2026-08-03 21:19:10 +01:00
Nicholas Marriott
cd3f577c85 Add test for control mode events and guards. 2026-08-03 20:27:10 +01:00
Nicholas Marriott
433a5cf580 Add regress test from Ayman Bagabas. 2026-08-03 13:59:27 +01:00
Michael Grant
cfab0590a4 Support Kitty source rectangle placements 2026-08-03 12:31:11 +01:00
Michael Grant
7748e525a4 Preserve SIXEL pixel dimensions
Retain the padded canonical pixel canvas separately from the image content. Scale only the populated portion of partial edge cells so an image keeps its exact raster size on the originating terminal while retaining its cell footprint.
2026-08-03 12:24:55 +01:00
Nicholas Marriott
fc9270c943 Test for socket error from Rayan Salhab. 2026-08-03 11:09:04 +01:00
Nicholas Marriott
fa8c5789a6 Sleep after kill. 2026-08-03 09:53:50 +01:00
Michael Grant
fe938ea657 Refactor to centralize image-specific rendering and lifecycle code in image.c and the image-* backends. 2026-08-03 09:13:45 +01:00
Michael Grant
7225365b29 Add missing regression test files. 2026-08-02 12:37:09 +01:00
Nicholas Marriott
265fb7b4ea Test for vi keys and padding. 2026-07-29 21:18:38 +01:00
Nicholas Marriott
7cc0c11cde Add test for mouse menu position. 2026-07-28 14:18:18 +01:00
Nicholas Marriott
9c402fa7b7 Test hook time in customize mode. 2026-07-28 11:36:03 +01:00
Nicholas Marriott
3c1b2969a8 Tests for hooks time and count. 2026-07-28 08:08:26 +01:00
Nicholas Marriott
9b97dadc01 Test for pipe-pane. 2026-07-27 15:26:43 +01:00
Nicholas Marriott
0255981a54 Test run-shell if killed. 2026-07-26 16:08:58 +01:00
Nicholas Marriott
10726b1b27 Title stack test. 2026-07-26 10:21:01 +01:00
Nicholas Marriott
0768795ce3 Test for overlong runs of combining characters, GitHub issue 5434. 2026-07-26 10:02:31 +01:00
Nicholas Marriott
e361982acf Fix some tests. 2026-07-24 09:49:32 +01:00
Nicholas Marriott
a2f3bdb601 fill-character test bits. 2026-07-23 10:38:27 +01:00
Nicholas Marriott
38feebb5d2 Show options tests. 2026-07-23 08:06:09 +01:00
Nicholas Marriott
09a2ea190d Update test. 2026-07-22 20:24:21 +01:00
Nicholas Marriott
18fc547b82 Update show hooks tests. 2026-07-22 19:58:55 +01:00
Nicholas Marriott
0868435e81 Add test for A: modifier, from Fernando Daciuk. 2026-07-22 14:17:22 +01:00
Nicholas Marriott
2848a12562 Update tests for fix to floating panes at window edges. 2026-07-21 14:41:52 +01:00
Nicholas Marriott
3e61e63851 Test for outside panes with no border. 2026-07-21 12:56:32 +01:00
Nicholas Marriott
8aaae25e56 Fix a merge and add test bits. 2026-07-21 08:00:39 +01:00
Nicholas Marriott
c750c014b2 Extend test. 2026-07-19 20:58:20 +01:00
Nicholas Marriott
2a2bce3dd4 Fix tty-keys.sh test. 2026-07-19 18:34:18 +01:00
Nicholas Marriott
b46684427f Extend control client size test. 2026-07-17 09:37:50 +01:00
Nicholas Marriott
5cd43626ef cmd_template_replace test. 2026-07-17 09:29:59 +01:00
Nicholas Marriott
43092f8d54 Test for client lost during config file. 2026-07-17 09:13:33 +01:00
Nicholas Marriott
fba51526af Modal pane regression test. 2026-07-16 13:16:29 +01:00
Nicholas Marriott
5350da0be3 Update test. 2026-07-15 11:38:49 +01:00
Nicholas Marriott
11496010c0 Update test outputs. 2026-07-14 22:15:08 +01:00
Nicholas Marriott
e54785ddd6 Add menu tests. 2026-07-14 22:09:52 +01:00
Nicholas Marriott
d705471aa5 Regression tests for display-panes changes. 2026-07-14 18:18:52 +01:00