Commit Graph

12063 Commits

Author SHA1 Message Date
Michael Grant
33bbd60d98 Merge branch 'master' into 4902-image-support 2026-08-17 21:47:49 +01:00
Michael Grant
48658fd659 Merge branch 'master' into 4902-image-support 2026-08-17 21:39:27 +01:00
Nicholas Marriott
30abbe36a8 Regress for sync, from xiangzhedev@gmail.com. 2026-08-17 21:04:26 +01:00
tmux update bot
62044f02df Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
* refs/remotes/tmux-openbsd/master:
  Allow features to be disabled using @ suffix in terminal-features, from Michael Grant.
2026-08-17 16:39:40 +00:00
nicm
a18d4e0067 Allow features to be disabled using @ suffix in terminal-features, from
Michael Grant.
2026-08-17 16:39:38 +00:00
Nicholas Marriott
0f241b7447 Update CHANGES. 2026-08-17 13:59:10 +01:00
tmux update bot
efaa1fe31c Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
* refs/remotes/tmux-openbsd/master:
  If writing a file fails, propagate the error to the server via a new message. Use a client flag rather than bumping the protocol version. GitHub issue 5451.
  Add default terminal features for Rio, GitHub issue 5489 from Raphael Amorim.
2026-08-17 09:45:11 +00:00
nicm
1729bb8e8a If writing a file fails, propagate the error to the server via a new
message. Use a client flag rather than bumping the protocol version.
GitHub issue 5451.
2026-08-17 09:45:10 +00:00
nicm
9fdd04ae61 Add default terminal features for Rio, GitHub issue 5489 from Raphael
Amorim.
2026-08-17 09:45:10 +00:00
tmux update bot
87a8bda023 Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
* refs/remotes/tmux-openbsd/master:
  Remove flags from both keys for menus, GitHub issue 5484.
2026-08-17 08:54:28 +00:00
nicm
d384557b63 Remove flags from both keys for menus, GitHub issue 5484. 2026-08-17 08:54:26 +00:00
tmux update bot
534a4f81fc Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
* refs/remotes/tmux-openbsd/master:
  Attach window to session earlier so resize cannot cause customize mode to blow up. Reported by Marcel Partap.
  Do not copy too many positions when deleting, GitHub issue 5478 from Uzair Aftab.
2026-08-17 07:58:26 +00:00
nicm
a0d3585c6c Attach window to session earlier so resize cannot cause customize mode
to blow up. Reported by Marcel Partap.
2026-08-17 07:58:24 +00:00
nicm
ec34ff52cc Do not copy too many positions when deleting, GitHub issue 5478 from
Uzair Aftab.
2026-08-17 07:58:24 +00:00
Michael Grant
1962365106 Cleanup and simplification. 2026-08-17 08:42:29 +01:00
Nicholas Marriott
0ac8138ce3 Add a break-pane test for customize mode. 2026-08-17 08:06:31 +01:00
Nicholas Marriott
c41cad4c5f Merge pull request #5481 from r1w1s1/fix-getpeereid-socklen
compat: use socklen_t for getsockopt length
2026-08-17 07:52:02 +01:00
Michael Grant
870dba6664 Fix indents. 2026-08-17 07:19:56 +01:00
Michael Grant
6ef98552da Readability and clarity. 2026-08-16 17:09:11 +01:00
r1w1s1
f466d6289e compat: use socklen_t for getsockopt length 2026-08-10 15:38:55 -03:00
Michael Grant
a4abd61663 image: add manual visual checks 2026-08-10 15:46:47 +01:00
Michael Grant
b263d13df0 image: preserve fractional cell extents 2026-08-10 15:08:26 +01:00
Michael Grant
dadc6ef69f image: select backend after terminal setup 2026-08-10 14:34:16 +01:00
Michael Grant
001b10f2b3 image: retain ordered placements in the grid
Replace the per-cell image marker with sparse placement spans attached to
grid lines. A placement owns all of its spans and records the input
protocol, application image and placement IDs, z-index, and creation order.

This retains overlapping image layers without storing a list in every grid
cell. Grid operations move, split, clip, and remove only the affected spans.

Use the input protocol to determine image/text interaction: later text
damages SIXEL spans, while Kitty placements remain and are ordered by their
z-index. Rendering then adapts that one logical scene for each client,
rather than changing its semantics according to whether the outer terminal
uses Kitty or SIXEL.
2026-08-10 12:04:37 +01:00
Michael Grant
a5808bf868 Change some names of things for clarity. 2026-08-09 22:13:15 +01:00
Michael Grant
e97c3d697d Redraw SIXEL images before or after text depending on which was placed first in the cell. 2026-08-09 08:32:25 +01:00
Michael Grant
c6a59c29ae The implementation now distinguishes a newly placed image cell from one later overwritten by text. On a SIXEL terminal, damaged cells are omitted from image output; on Kitty they remain ordinary positional placements. 2026-08-08 22:35:10 +01:00
Michael Grant
0ac7289c48 Cleanup. 2026-08-08 22:16:24 +01:00
Michael Grant
7dfd835c3f Update Kitty image names 2026-08-08 10:58:15 +01:00
Michael Grant
bbcccee9fc More cleanup of "histogram" name. 2026-08-08 10:51:33 +01:00
Michael Grant
4819dc34df Shorten image and SIXEL names 2026-08-08 10:51:17 +01:00
Michael Grant
6535274d98 Avoid overflow in image cell size calculation 2026-08-08 10:34:00 +01:00
Michael Grant
9a3b71ac64 Move image cell drawing into image.c 2026-08-08 10:27:31 +01:00
Michael Grant
4c9523c814 Expose image backend flags 2026-08-08 10:22:05 +01:00
Michael Grant
7e6c49b5a5 Do not enable sync for SIXEL 2026-08-08 09:14:07 +01:00
Michael Grant
468259933f Comment sixel_from_image(). 2026-08-07 22:42:22 +01:00
Michael Grant
4380fceb2b Add comments to image functions 2026-08-07 22:16:16 +01:00
Michael Grant
08c237f0cb Preserve text behind transparent Kitty images. 2026-08-07 22:06:09 +01:00
Michael Grant
5d0d6c29b4 Revert "Clear text beneath SIXEL image placements."
This reverts commit 64cea48f91.
2026-08-07 19:14:46 +01:00
Michael Grant
64cea48f91 Clear text beneath SIXEL image placements. 2026-08-07 16:39:28 +01:00
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
5c496c765a Preserve Kitty image crop width after cell rounding. 2026-08-07 16:09:00 +01:00
Michael Grant
3cd6526d46 Fix underlay bookkeeping bug. 2026-08-07 11:34:16 +01:00
Michael Grant
1dacc18ce0 Dither alpha in SIXEL output 2026-08-07 11:21:10 +01:00
tmux update bot
851c5a933d Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
* refs/remotes/tmux-openbsd/master:
  Only unzoom in the floating-split case, modal panes take care of themselves.
2026-08-07 09:33:41 +00:00
nicm
10048f6579 Only unzoom in the floating-split case, modal panes take care of themselves. 2026-08-07 09:33:39 +00:00
Michael Grant
e3f6c1849d Revert "Clear text beneath graphical images"
This reverts commit fb589fd9f9.
2026-08-07 09:27:20 +01:00
tmux update bot
a598b2a910 Merge remote-tracking branch 'refs/remotes/tmux-openbsd/master'
* refs/remotes/tmux-openbsd/master:
  Always unzoom before splitting window, for floating panes also. We already unzoomed for tiled panes and this does the same for floating panes (until we support having them float over a zoomed pane). From Éric NICOLAS.
2026-08-07 03:40:47 +00:00
nicm
2ec1038ffd Always unzoom before splitting window, for floating panes also. We
already unzoomed for tiled panes and this does the same for floating
panes (until we support having them float over a zoomed pane). From Éric
NICOLAS.
2026-08-07 03:40:45 +00:00
Michael Grant
a8dfb979e6 Use compact image references in grid cells 2026-08-06 22:36:46 +01:00