aboutsummaryrefslogtreecommitdiff
path: root/server-client.c
diff options
context:
space:
mode:
Diffstat (limited to 'server-client.c')
-rw-r--r--server-client.c14
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);