Branch: refs/heads/4902-image-support
Home: https://github.com/tmux/tmux
Commit: e0620eb8d2435ac3e4be17a395c488eb74b5b0d6
https://github.com/tmux/tmux/commit/e0620eb8d2435ac3e4be17a395c488eb74b5b0d6
Author: Michael Grant <[email protected]>
Date: 2026-08-22 (Sat, 22 Aug 2026)
Changed paths:
M image.c
A regress/image-scroll-off-recovery.sh
A regress/image-selection-noflash.sh
M window-copy.c
Log Message:
-----------
window-copy: avoid erasing and needlessly re-flashing images during copy-mode
redraws
window_copy_write_one() used to write text/highlight styling directly
over image-covered cells via the normal path, which - since a character
write typically clears whatever pixel content a terminal was showing
there - erased the image with nothing to redraw it back in. Image-covered
cells now bypass styling and go straight into the grid instead (a
non-graphical client's ASCII fallback for the image still depends on this
same write, so it can't just be skipped).
window_copy_write_line()'s call to image_redraw_area() used to fire
unconditionally on every redraw, needlessly recompositing (and briefly
flashing) the image on every single cursor step even after the erasure
above was fixed, even though nothing about the image had changed. It now
only fires when window_copy_update_image_refresh() (new) determines the
view's underlying history position actually moved since the last redraw.
Also adds window_copy_visible_has_images(), used by a later commit's
scroll-region fix as a bypass to a full redraw when the visible range
carries image data - line insert/delete only shifts character cells, not
already-sent image pixels, so scroll's normal fast path leaves stale or
missing image content behind.
To unsubscribe from these emails, change your notification settings at
https://github.com/tmux/tmux/settings/notifications
--
You received this message because you are subscribed to the Google Groups
"tmux-git" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion, visit
https://groups.google.com/d/msgid/tmux-git/tmux/tmux/push/refs/heads/4902-image-support/529539-e0620e%40github.com.