Branch: refs/heads/redraw-damage-rectangles
Home: https://github.com/tmux/tmux
Commit: 48cdd85886b30fed94f176857585c9a674f5413d
https://github.com/tmux/tmux/commit/48cdd85886b30fed94f176857585c9a674f5413d
Author: Michael Grant <[email protected]>
Date: 2026-08-22 (Sat, 22 Aug 2026)
Changed paths:
M server-client.c
Log Message:
-----------
server-client: consume window damage during the normal redraw pass
redraw_client_damage() (added previously, unused until now) is called
from server_client_check_redraw()'s normal redraw pass, and
server_client_any_pane_redraw() now also checks for pending window
damage so a client with only damage (no PANE_REDRAW/PANE_REDRAWSCROLLBAR
flags) still gets its redraw pass run.
server_client_check_redraw() now returns whether the redraw was deferred
(waiting for outstanding tty output to drain) rather than performed. A
deferred redraw no longer escalates to a full CLIENT_REDRAWWINDOW to
avoid losing what was pending - server_client_loop() now only clears
PANE_REDRAW, PANE_REDRAWSCROLLBAR and window damage once every client
viewing a window actually drew this pass (tracked via a new per-window
redraw_deferred flag), otherwise they're left in place and retried in
their normal, narrowly-scoped form.
server_client_set_session() now redraws only if the client's session or
current window actually changed, not on every call (e.g. switch-client
-t= from clicking a pane name in the status line resolves here even
when nothing besides the active pane changed).
A drag callback's mouse_drag_update() now opens a sync region itself
(tty_sync_start()) before its first write, so a fast-path write it makes
directly and a later correction arriving via redraw_client_damage() end
up in the same atomic terminal update instead of two visible frames.
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/redraw-damage-rectangles/f255f0-48cdd8%40github.com.