Cache scene for client and invalidate when changes.

This commit is contained in:
Nicholas Marriott
2026-06-16 23:04:57 +01:00
parent 2af751d78d
commit b7fa115aab
6 changed files with 77 additions and 6 deletions

View File

@@ -758,6 +758,7 @@ window_zoom(struct window_pane *wp)
w->flags |= WINDOW_ZOOMED;
notify_window("window-layout-changed", w);
screen_redraw_invalidate_scene(w);
return (0);
}
@@ -784,6 +785,7 @@ window_unzoom(struct window *w, int notify)
if (notify)
notify_window("window-layout-changed", w);
screen_redraw_invalidate_scene(w);
return (0);
}
@@ -840,6 +842,7 @@ window_add_pane(struct window *w, struct window_pane *other, u_int hlimit,
else {
TAILQ_INSERT_HEAD(&w->z_index, wp, zentry);
}
screen_redraw_invalidate_scene(w);
return (wp);
}
@@ -866,6 +869,7 @@ window_lost_pane(struct window *w, struct window_pane *wp)
window_update_focus(w);
}
}
screen_redraw_invalidate_scene(w);
}
void
@@ -874,6 +878,7 @@ window_remove_pane(struct window *w, struct window_pane *wp)
window_lost_pane(w, wp);
TAILQ_REMOVE(&w->panes, wp, entry);
TAILQ_REMOVE(&w->z_index, wp, zentry);
screen_redraw_invalidate_scene(w);
window_pane_destroy(wp);
}