diff options
author | nicm <nicm> | 2020-05-16 14:42:06 +0000 |
---|---|---|
committer | nicm <nicm> | 2020-05-16 14:42:06 +0000 |
commit | 21a39c997b82b50b0307e836e4f11f9db6a84e55 (patch) | |
tree | 83de22937d097b9475ba9c1f26b96af900bd61ff /screen-redraw.c | |
parent | aebeeec1e988bd74e273bbf6e79f8950895c38fd (diff) |
Do not redraw or update mode if nothing has changed.
Diffstat (limited to 'screen-redraw.c')
-rw-r--r-- | screen-redraw.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/screen-redraw.c b/screen-redraw.c index 8e74fe97..5ca6024d 100644 --- a/screen-redraw.c +++ b/screen-redraw.c @@ -434,7 +434,11 @@ screen_redraw_screen(struct client *c) return; flags = screen_redraw_update(c, c->flags); + if ((flags & CLIENT_ALLREDRAWFLAGS) == 0) + return; + screen_redraw_set_context(c, &ctx); + tty_update_mode(&c->tty, c->tty.mode, NULL); tty_sync_start(&c->tty); if (flags & (CLIENT_REDRAWWINDOW|CLIENT_REDRAWBORDERS)) { @@ -470,6 +474,7 @@ screen_redraw_pane(struct client *c, struct window_pane *wp) return; screen_redraw_set_context(c, &ctx); + tty_update_mode(&c->tty, c->tty.mode, NULL); tty_sync_start(&c->tty); screen_redraw_draw_pane(&ctx, wp); |