Commit Graph

11991 Commits

Author SHA1 Message Date
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
Michael Grant
94f6f3b125 Redraw images after pixel geometry changes
A resize may temporarily leave the terminal cell pixel dimensions unknown while tmux queries the terminal. Schedule another client redraw when the pixel geometry response arrives so the graphical backend replaces the temporary text fallback.
2026-08-03 10:49:41 +01:00
Michael Grant
da6812d15f Use sixel images for WezTerm
Enable the sixel feature when WezTerm is detected and clarify that the kitty terminal feature requires Unicode placeholder support rather than only the basic graphics protocol.
2026-08-03 10:39:11 +01:00
Nicholas Marriott
fa8c5789a6 Sleep after kill. 2026-08-03 09:53:50 +01:00
Michael Grant
791752ffff Remove local image ASCII test tool references 2026-08-03 09:24:16 +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
miod
cce56fa19b Pessimize compiler flags for screen-redraw.c to prevent tmux from dumping core
upon startup on landisk.
2026-08-02 23:13:19 +00:00
Michael Grant
f68aad1b41 Add tool to generate the kitty diacritics directly from the public UnicodeData.txt file. 2026-08-02 16:15:51 +01:00
Michael Grant
7225365b29 Add missing regression test files. 2026-08-02 12:37:09 +01:00
Michael Grant
d50902b14d Move image-diacritics.h into image-kitty.c. 2026-08-02 10:41:59 +01:00
Michael Grant
4c04fc805e Fix copyrights. 2026-08-02 10:38:26 +01:00
Michael Grant
27f12454a1 Add missing .h file. 2026-08-02 10:36:49 +01:00
Michael Grant
fe5f775f76 New image related files. 2026-08-01 08:27:42 +01:00
Michael Grant
4da7f897ea Fix image flickering. 2026-07-30 22:47:31 +01:00
Michael Grant
9a2060db06 Merge branch '4902-image-support' of github.com:tmux/tmux into 4902-image-support 2026-07-30 22:16:16 +01:00
Michael Grant
f4a57f8b95 Initial commit. Implement generalised image support. 2026-07-30 22:15:53 +01:00
tmux update bot
31dccb6bc9 Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
* refs/remotes/tmux-openbsd/master:
  Fix unzoomed width when scrollbars are hidden.
2026-07-30 04:22:52 +00:00