Branch: refs/heads/redraw-damage-rectangles
  Home:   https://github.com/tmux/tmux
  Commit: d6074895bb40f4a4d5d5c7551d6cdcd8480f98ff
      
https://github.com/tmux/tmux/commit/d6074895bb40f4a4d5d5c7551d6cdcd8480f98ff
  Author: Michael Grant <[email protected]>
  Date:   2026-08-22 (Sat, 22 Aug 2026)

  Changed paths:
    M screen-redraw.c
    M screen-write.c
    M tmux.h
    M window.c

  Log Message:
  -----------
  screen-redraw, screen-write: add damage-rectangle tracking and composition

Introduce a per-window list of damaged rectangles (struct redraw_damage)
and redraw_damage_window() to record them, redraw_client_damage() to
consume them by composing exactly the damaged cells (via a new
redraw_draw_damage_rect(), which also force-refreshes any pane-status
span it touches, since window_make_pane_status()'s content-diff check
has no way to know the physical cells were disturbed by something else).

redraw_draw_span() now takes an explicit [clip_x, clip_x + clip_n) range
instead of always drawing a span's full width, so a damage rectangle can
redraw just the portion of a span it actually covers.

screen_write_redraw_cb() - the fallback when a write can't be applied
directly to the terminal - now reports damage for just the affected row
via this mechanism, instead of unconditionally flagging the whole pane
for a full redraw.



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/faba41-d60748%40github.com.

Reply via email to