diff options
-rw-r--r-- | screen-redraw.c | 3 | ||||
-rw-r--r-- | server.c | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/screen-redraw.c b/screen-redraw.c index eee1c83c..5ee273a5 100644 --- a/screen-redraw.c +++ b/screen-redraw.c @@ -173,6 +173,7 @@ screen_redraw_screen(struct client *c, int status_only) /* If only drawing status and it is present, don't need the rest. */ if (status_only && status) { tty_draw_line(tty, &c->status, 0, 0, tty->sy - 1); + tty_reset(tty); return; } @@ -214,6 +215,7 @@ screen_redraw_screen(struct client *c, int status_only) /* Draw the status line. */ if (status) tty_draw_line(tty, &c->status, 0, 0, tty->sy - 1); + tty_reset(tty); } /* Draw a single pane. */ @@ -224,4 +226,5 @@ screen_redraw_pane(struct client *c, struct window_pane *wp) for (i = 0; i < wp->sy; i++) tty_draw_line(&c->tty, wp->screen, i, wp->xoff, wp->yoff); + tty_reset(&c->tty); } @@ -866,6 +866,7 @@ server_handle_client(struct client *c) /* Ensure cursor position and mode settings. */ status = options_get_number(&c->session->options, "status"); + tty_region(&c->tty, 0, c->tty.sy - 1, 0); if (!window_pane_visible(wp) || wp->yoff + s->cy >= c->tty.sy - status) tty_cursor(&c->tty, 0, 0, 0, 0); else |