diff options
Diffstat (limited to 'server-client.c')
-rw-r--r-- | server-client.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/server-client.c b/server-client.c index 9dad52fe..08f48b31 100644 --- a/server-client.c +++ b/server-client.c @@ -921,7 +921,7 @@ server_client_check_redraw(struct client *c) struct session *s = c->session; struct tty *tty = &c->tty; struct window_pane *wp; - int flags, redraw; + int flags, masked, redraw; if (c->flags & (CLIENT_CONTROL|CLIENT_SUSPENDED)) return; @@ -961,15 +961,15 @@ server_client_check_redraw(struct client *c) } } - if (c->flags & CLIENT_BORDERS) { + masked = c->flags & (CLIENT_BORDERS|CLIENT_STATUS); + if (masked != 0) tty_update_mode(tty, tty->mode, NULL); + if (masked == CLIENT_BORDERS) screen_redraw_screen(c, 0, 0, 1); - } - - if (c->flags & CLIENT_STATUS) { - tty_update_mode(tty, tty->mode, NULL); + else if (masked == CLIENT_STATUS) screen_redraw_screen(c, 0, 1, 0); - } + else if (masked != 0) + screen_redraw_screen(c, 0, 1, 1); tty->flags = (tty->flags & ~(TTY_FREEZE|TTY_NOCURSOR)) | flags; tty_update_mode(tty, tty->mode, NULL); |