- 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>
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.
* refs/remotes/tmux-openbsd/master:
Include menus when working out what parts of a pane are visible to avoid overwriting them, GitHub issue 5593.
Modify display-message -c target-client to use the data relative to target-client, GitHub issue 5613 from Michael Grant.
Quote session_alert in status-format[2], GitHub issue 5671.
Only skip collecting text except for right margin when autowrap is off, from Jang-Ho Hwang.
Change to the new working directory even if getcwd fails, GitHub issue 5658.
* refs/remotes/tmux-openbsd/master:
Sync redraw should use the given rows not the scroll region now.
Instead of redrawing the entire pane or scene when moving or redrawing a pane, add damage rectangles and redraw only the affected spans. From Michael Grant.
Do not leak client if lost before configuration is loaded, and do not load multiple times. GitHub issues 5661 and 5662 from Alexandre Fiori.
Restore the zoom when swap-pane refuses a floating pane, GitHub issue 5660 from Alexandre Fiori.
Do not use client for copy-mode -S if NULL, reported by Martin Vlach.
* refs/remotes/tmux-openbsd/master:
Do not format times that localtime_r and ctime_r cannot convert, from Alexandre Fiori.
Add a maximum repeat size as well as count.
* refs/remotes/tmux-openbsd/master:
Do not try to decode UTF-8 if it is too long to match the pattern.
Do not allocate for repeat inside loop but allocate up front and just copy in the loop.
* refs/remotes/tmux-openbsd/master:
Copy all #s at once when multiple are seen before [ rather than only copying one at a time which can be very slow.
Check time every iteration for expensive repeat loop.