Michael Grant
fb589fd9f9
Clear text beneath graphical images
2026-08-06 22:17:19 +01:00
Michael Grant
945152029d
Pass through wrapped Kitty graphics
2026-08-06 19:08:59 +01:00
Michael Grant
8536e26517
Simplify image support terminology
2026-08-06 16:17:25 +01:00
Michael Grant
01d5c9f420
Use one image support switch
2026-08-06 14:27:33 +01:00
Michael Grant
a35871110f
Make image types opaque
2026-08-06 12:24:10 +01:00
Michael Grant
cdff709ab3
Inline basic image fallback renderer
2026-08-06 10:25:29 +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
6cb01394ed
Merge remote-tracking branch 'origin/master' into 4902-image-support
...
# Conflicts:
# tmux.h
2026-08-05 14:17:14 +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
tmux update bot
d60dbcf91c
Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
...
* refs/remotes/tmux-openbsd/master:
Ignore Ms if it is invalid (for example no %p1) and report in client mode, GitHub issue 5460.
2026-08-05 11:31:10 +00:00
nicm
bd483a63cf
Ignore Ms if it is invalid (for example no %p1) and report in client
...
mode, GitHub issue 5460.
2026-08-05 11:31:08 +00: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
tmux update bot
d5dc0ba855
Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
...
* refs/remotes/tmux-openbsd/master:
Use ACS arrows for tree mode.
Do not crash when synchronizing groups and there is no current window. GitHub issue 5467 from Ju-an Zhang.
Add pane_private_modes format with list of DEC private modes, from George Nachman.
Do not log when logging is off, from Michael Grant.
2026-08-05 09:10:55 +00:00
nicm
e56a042153
Use ACS arrows for tree mode.
2026-08-05 09:10:54 +00:00
nicm
1995b5559d
Do not crash when synchronizing groups and there is no current window.
...
GitHub issue 5467 from Ju-an Zhang.
2026-08-05 09:10:54 +00:00
nicm
fe384e06bc
Add pane_private_modes format with list of DEC private modes, from
...
George Nachman.
2026-08-05 09:10:54 +00:00
nicm
0198ee9e51
Do not log when logging is off, from Michael Grant.
2026-08-05 09:10:54 +00:00
Nicholas Marriott
72e705cbd6
Tweak times for macOS.
2026-08-05 08:26:10 +01:00
tmux update bot
d5afb67a81
Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
...
* refs/remotes/tmux-openbsd/master:
Switch from imsg_get to imsgbuf_get and switch type of n to int.
2026-08-04 17:23:12 +00:00
claudio
3894397b07
Switch from imsg_get to imsgbuf_get and switch type of n to int.
...
OK tb@
2026-08-04 17:23:10 +00:00
tmux update bot
36381f0884
Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
...
* refs/remotes/tmux-openbsd/master:
Do not attempt to drain write buffer on stuck clients, since it requires a weird dance to make libevent do it. Instead, just ignore the client and destroy the buffer normally if not drained in 10 seconds.
2026-08-04 15:37:15 +00:00
nicm
5cd1976a4a
Do not attempt to drain write buffer on stuck clients, since it requires
...
a weird dance to make libevent do it. Instead, just ignore the client
and destroy the buffer normally if not drained in 10 seconds.
2026-08-04 15:37:14 +00:00
Michael Grant
3d07d479db
Keep SIXEL palettes across redraw spans
2026-08-04 08:25:34 +01:00
tmux update bot
c9ae3f6a02
Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
...
* refs/remotes/tmux-openbsd/master:
Check for floating only for flags that require a floating pane, reported by Ilya Grigoriev.
2026-08-03 23:50:33 +00:00
nicm
d2322d0114
Check for floating only for flags that require a floating pane, reported
...
by Ilya Grigoriev.
2026-08-03 23:50:32 +00:00
tmux update bot
7a431ec7b9
Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
...
* refs/remotes/tmux-openbsd/master:
Do not let a stuck client prevent the server from exiting - give up after 10 seconds. GitHub issue 5444 from Ben Maurer.
2026-08-03 21:33:23 +00:00
nicm
114aa68082
Do not let a stuck client prevent the server from exiting - give up
...
after 10 seconds. GitHub issue 5444 from Ben Maurer.
2026-08-03 21:33:21 +00: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
tmux update bot
9228f97d7d
Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
...
* refs/remotes/tmux-openbsd/master:
Queue control mode notifications rather than emitting them inside %begin/%end, GitHub issue 5458 from George Nachman.
2026-08-03 16:29:11 +00:00
nicm
6db5175e4e
Queue control mode notifications rather than emitting them inside
...
%begin/%end, GitHub issue 5458 from George Nachman.
2026-08-03 16:29:09 +00:00
Nicholas Marriott
fba5ece05c
Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
...
* refs/remotes/tmux-openbsd/master:
Store background colour in padding cells and correctly clear adjacent cells when tabs are overwritten, GitHu issue 5441 from Ayman Bagabas.
Exit failure on socket failure, from Rayan Salhab.
Pessimize compiler flags for screen-redraw.c to prevent tmux from dumping core upon startup on landisk.
2026-08-03 17:27:11 +01:00
nicm
01a775a46c
Store background colour in padding cells and correctly clear adjacent
...
cells when tabs are overwritten, GitHu issue 5441 from Ayman Bagabas.
2026-08-03 13:59:13 +00:00
nicm
4918360ea1
Exit failure on socket failure, from Rayan Salhab.
2026-08-03 13:59:13 +00:00
Nicholas Marriott
433a5cf580
Add regress test from Ayman Bagabas.
2026-08-03 13:59:27 +01:00
Michael Grant
ff9b3e5cd7
Rename image damage functions to redraw
2026-08-03 13:15:04 +01:00
Michael Grant
9416ffe9bf
Correct image copyrights
2026-08-03 12:56:26 +01:00
Michael Grant
748fb9ff1c
Remove obsolete Kitty diacritics comment
2026-08-03 12:55:58 +01:00
Michael Grant
cfab0590a4
Support Kitty source rectangle placements
2026-08-03 12:31:11 +01:00
Michael Grant
a4b8d1c822
Improve SIXEL colour quantization
...
Build an adaptive 256-colour palette with median cut instead of using a fixed colour cube. Apply Floyd-Steinberg error diffusion while mapping pixels to reduce banding and preserve image detail.
2026-08-03 12:24:55 +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
Michael Grant
01db040717
Correct SIXEL HLS colour conversion
...
Use the DEC hue origin and channel order, and round percentage and HLS conversions to the nearest byte value.
2026-08-03 12:22:23 +01:00
Nicholas Marriott
fc9270c943
Test for socket error from Rayan Salhab.
2026-08-03 11:09:04 +01:00