aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2018-08-25 13:55:50 +0100
committerNicholas Marriott <nicholas.marriott@gmail.com>2018-08-25 13:55:50 +0100
commit7fbd2f5498f30383d145653fe5d1e542fbd6ad43 (patch)
treeb1b727eb9268649b55e213ebe347492aed7fda88
parent45841400f2e5de5c61e415a3cf83339dfa387adb (diff)
downloadrtmux-7fbd2f5498f30383d145653fe5d1e542fbd6ad43.tar.gz
rtmux-7fbd2f5498f30383d145653fe5d1e542fbd6ad43.tar.bz2
rtmux-7fbd2f5498f30383d145653fe5d1e542fbd6ad43.zip
Do not draw cells which have no cell (zoomed and they are not active).
-rw-r--r--screen-redraw.c5
-rw-r--r--tmux.h4
-rw-r--r--tty.c2
3 files changed, 9 insertions, 2 deletions
diff --git a/screen-redraw.c b/screen-redraw.c
index 50862f9e..1f51e743 100644
--- a/screen-redraw.c
+++ b/screen-redraw.c
@@ -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);
diff --git a/tmux.h b/tmux.h
index aac96be7..76130265 100644
--- a/tmux.h
+++ b/tmux.h
@@ -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);
diff --git a/tty.c b/tty.c
index a6cfadf9..495366e4 100644
--- a/tty.c
+++ b/tty.c
@@ -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);
}