Commit Graph

12338 Commits

Author SHA1 Message Date
Michael Grant
cd14c5fc1a Fix Kitty image cursor movement, replies and screen clearing. 2026-10-09 09:44:58 +02:00
Michael Grant
00e3103a48 Accept independently padded base64 chunks in Kitty image transfers. 2026-10-08 22:54:14 +02:00
Michael Grant
bd2852e45d Added the Kitty XTVERSION detection case in tty-keys.c. 2026-10-08 22:54:14 +02:00
Michael Grant
9ff51bd715 Clean up image support and add regression tests 2026-10-08 22:54:14 +02:00
Michael Grant
c8f9c70534 regress: rationalise image test coverage, add missing image_support guard
- Extract shared setup for the "noflash" retransmission-avoidance tests
  (image-movepane-drag-noflash.sh, image-splitwindow-resize-noflash.sh,
  image-status-pane-click-noflash.sh, image-selection-noflash.sh) into
  a new image-noflash-common.inc, matching the existing input-common.inc
  convention: dual-server cleanup/fail helpers, the shared SIXEL fixture,
  the attach-and-capture sequence, and the final DCS-retransmission
  assertion. Each test keeps its own distinct interaction and failure
  message; only the copy-pasted scaffolding moved.

- Add the missing #{image_support} runtime guard to
  image-border-status-sixel.sh, which cats a real SIXEL fixture and
  specifically guards a sixel-after-pane-creation ordering bug - without
  it, the DCS sequence is compiled out entirely on a non-image build and
  the test's assertions could pass without exercising anything.
  image-border-status-wipe.sh is deliberately left unguarded: it has no
  image/sixel content at all and guards a general border-status caching
  bug unrelated to ENABLE_IMAGES.

- Reviewed the rest of the branch's regress/image-*.sh tests in full
  (not just headers) for redundant coverage; none warranted merging -
  each guards a genuinely distinct fix via a distinct mechanism.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-08 22:54:14 +02:00
Michael Grant
a45c1f1e2b Cleanup 2026-10-08 22:54:14 +02:00
Michael Grant
8ddbbfed14 Fix to drop SIXEL cells that a newer image completely covers. And regression test added. 2026-10-08 22:54:14 +02:00
Michael Grant
1c2fafb473 Implement generalised image support
Support Kitty and SIXEL input and output with grid-resident image layers, history and copy-mode integration, text fallback rendering, and damage-rectangle redraws.

Consolidate the image work through 250f96b4b onto the redraw-damage-rectangles-new base, excluding the superseded redraw implementation and its historical merges. The original history is preserved in backup/4902-image-support-before-master-rebase-20261003.
2026-10-08 22:54:14 +02:00
Nicholas Marriott
82abcd175c Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
* refs/remotes/tmux-openbsd/master:
  Add commands to copy mode to select, pipe and open OSC 133 command output, from Michael Grant.
  Fix bugs with empty panes and load-buffer -w, GitHub issue 5701 from Alexandre Fiori.
  Track allocations in yacc to avoid leaking when parsing commands, GitHub issue 5632 from Jeong, Heon.
  Fix commands being lost when chained with assignment, GitHub issue 5702 from Jeong, Heon
2026-10-08 16:36:34 +01:00
nicm
a0a0e12234 Add commands to copy mode to select, pipe and open OSC 133 command
output, from Michael Grant.
2026-10-08 13:32:31 +00:00
nicm
cb44afd415 Fix bugs with empty panes and load-buffer -w, GitHub issue 5701 from
Alexandre Fiori.
2026-10-08 13:32:31 +00:00
nicm
9a92292029 Track allocations in yacc to avoid leaking when parsing commands, GitHub
issue 5632 from Jeong, Heon.
2026-10-08 13:32:31 +00:00
nicm
4dc67a5dd6 Fix commands being lost when chained with assignment, GitHub issue 5702
from Jeong, Heon
2026-10-08 13:32:31 +00:00
Nicholas Marriott
48bbaa1172 Test for 5701. 2026-10-08 08:06:59 +01:00
Nicholas Marriott
ae33689815 Test for 5702. 2026-10-08 07:31:03 +01:00
tmux update bot
d217b37be9 Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
* refs/remotes/tmux-openbsd/master:
  Add sort order flags to switch-mode, GitHub issue 5696 from harikp2002 at gmail dot com.
2026-10-07 19:52:49 +00:00
nicm
f7195bec82 Add sort order flags to switch-mode, GitHub issue 5696 from harikp2002
at gmail dot com.
2026-10-07 19:52:47 +00:00
tmux update bot
9286115b43 Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
* refs/remotes/tmux-openbsd/master:
  Show match count in copy mode, GitHub issue 5399.
  Add window-default-command option to override default-command per window, from Meriel Sartha Mittelbach.
  Do not change active pane if joining a pane to the same window. Reported by David le Blanc.
2026-10-07 13:58:41 +00:00
nicm
ddd0698e30 Show match count in copy mode, GitHub issue 5399. 2026-10-07 13:58:39 +00:00
nicm
d041d56bb2 Add window-default-command option to override default-command per
window, from Meriel Sartha Mittelbach.
2026-10-07 13:58:39 +00:00
nicm
e63e2df764 Do not change active pane if joining a pane to the same window. Reported
by David le Blanc.
2026-10-07 13:58:39 +00:00
Nicholas Marriott
5512949947 Test for 5696. 2026-10-07 14:14:02 +01:00
Nicholas Marriott
052c54fb49 Test for 5399. 2026-10-07 14:01:09 +01:00
Nicholas Marriott
b04055d577 Test for join-pane with modal floating pane. 2026-10-07 13:03:16 +01:00
Nicholas Marriott
6c30e1bc03 Make terminal bigger so test works on macOS. 2026-10-07 11:18:24 +01:00
Nicholas Marriott
a8158b2443 Fix test on macOS and add new test for tty. 2026-10-07 11:02:08 +01:00
Nicholas Marriott
f5c8e5acbd Fix tests. 2026-10-07 10:45:25 +01:00
tmux update bot
64ffd431de Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
* refs/remotes/tmux-openbsd/master:
  Fix tty_clamp_area with status lines at the top and a smaller client, GitHub issue 5697 from Yasuhiro Inami.
2026-10-07 09:35:09 +00:00
nicm
37b1631e57 Fix tty_clamp_area with status lines at the top and a smaller client,
GitHub issue 5697 from Yasuhiro Inami.
2026-10-07 09:35:07 +00:00
Nicholas Marriott
3e22d43c66 Fix tests. 2026-10-07 10:16:50 +01:00
Nicholas Marriott
2d7bca72e7 Fix tests. 2026-10-07 09:42:00 +01:00
Nicholas Marriott
7b4d4074cf Fix tests. 2026-10-07 09:08:33 +01:00
Nicholas Marriott
3b20a0418a Fix tests. 2026-10-07 08:06:16 +01:00
Nicholas Marriott
20555f1508 Fix tests. 2026-10-07 07:29:44 +01:00
Nicholas Marriott
209d389a81 Fix test again. 2026-10-07 06:46:25 +01:00
Nicholas Marriott
4775bc95e1 Fix tests on macOS. 2026-10-07 06:35:49 +01:00
Nicholas Marriott
aa52838c84 Don't use so many ptys. 2026-10-07 06:28:47 +01:00
Nicholas Marriott
da1ba778e4 Increase pty limit on macOS. 2026-10-07 06:08:35 +01:00
tmux update bot
a7a3b4b3a8 Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
* refs/remotes/tmux-openbsd/master:
  Parse terminal replies with keys and apply them only when finished, so that a preceding Escape can be handled correctly. GitHub issue 5676 from Joan Fabrégat.
  Use the .Cm macro for keywords used as arguments to commands and options, mostly replacing dubious use of .Ic, but a few others as well; nicm@ agrees with the general direction.
2026-10-06 21:00:17 +00:00
nicm
61581458a4 Parse terminal replies with keys and apply them only when finished, so
that a preceding Escape can be handled correctly. GitHub issue 5676 from
Joan Fabrégat.
2026-10-06 21:00:15 +00:00
schwarze
198196e53e Use the .Cm macro for keywords used as arguments to commands and options,
mostly replacing dubious use of .Ic, but a few others as well;
nicm@ agrees with the general direction.
2026-10-06 21:00:15 +00:00
Nicholas Marriott
059df9643c Tests for 5675. 2026-10-06 18:50:37 +01:00
tmux update bot
81dc40dedf Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
* refs/remotes/tmux-openbsd/master:
  Add table for destroy-unattached.
  Do not allow drags started on status line to trigger pane key bindings, GitHub issue 5692.
2026-10-06 16:10:29 +00:00
nicm
e21f5e2d63 Add table for destroy-unattached. 2026-10-06 16:10:27 +00:00
nicm
b4f7b85e86 Do not allow drags started on status line to trigger pane key bindings,
GitHub issue 5692.
2026-10-06 16:10:27 +00:00
Nicholas Marriott
068812380f Test for drag on status line. 2026-10-06 12:28:40 +01:00
tmux update bot
0e59d2c035 Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
* refs/remotes/tmux-openbsd/master:
  Fix redraw and selection position when changing selection mode.
2026-10-06 11:24:38 +00:00
nicm
50160131a8 Fix redraw and selection position when changing selection mode. 2026-10-06 11:24:37 +00:00
tmux update bot
f22e1d95b2 Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
* refs/remotes/tmux-openbsd/master:
  Improve text about status lines, GitHub issue 5677.
  Redraw selections after scrolling to line boundaries, GitHub issue 5689 from bugreporter23 at gmail dot com.
2026-10-06 09:16:23 +00:00
nicm
d6237b5b87 Improve text about status lines, GitHub issue 5677. 2026-10-06 09:16:21 +00:00