Do not draw cells which have no cell (zoomed and they are not active).

This commit is contained in:
Nicholas Marriott 2018-08-25 13:55:50 +01:00
parent 45841400f2
commit 7fbd2f5498
3 changed files with 9 additions and 2 deletions

View File

@ -456,6 +456,9 @@ screen_redraw_pane(struct client *c, struct window_pane *wp)
{
struct screen_redraw_ctx ctx;
if (wp->layout_cell == NULL)
return;
screen_redraw_set_context(c, &ctx);
screen_redraw_draw_pane(&ctx, wp);
@ -542,6 +545,8 @@ screen_redraw_draw_panes(struct screen_redraw_ctx *ctx)
log_debug("%s: %s @%u", __func__, c->name, w->id);
TAILQ_FOREACH(wp, &w->panes, entry) {
if (wp->layout_cell == NULL)
continue;
screen_redraw_draw_pane(ctx, wp);
if (c->flags & CLIENT_IDENTIFY)
screen_redraw_draw_number(ctx, wp);

4
tmux.h
View File

@ -2013,10 +2013,10 @@ void grid_view_scroll_region_up(struct grid *, u_int, u_int, u_int);
void grid_view_scroll_region_down(struct grid *, u_int, u_int, u_int);
void grid_view_insert_lines(struct grid *, u_int, u_int, u_int);
void grid_view_insert_lines_region(struct grid *, u_int, u_int, u_int,
u_int);
u_int);
void grid_view_delete_lines(struct grid *, u_int, u_int, u_int);
void grid_view_delete_lines_region(struct grid *, u_int, u_int, u_int,
u_int);
u_int);
void grid_view_insert_cells(struct grid *, u_int, u_int, u_int, u_int);
void grid_view_delete_cells(struct grid *, u_int, u_int, u_int, u_int);
char *grid_view_string_cells(struct grid *, u_int, u_int, u_int);

2
tty.c
View File

@ -1330,6 +1330,8 @@ tty_client_ready(struct client *c, struct window_pane *wp)
return (0);
if (c->session->curw->window != wp->window)
return (0);
if (wp->layout_cell == NULL)
return (0);
return (1);
}