diff options
-rw-r--r-- | format.c | 2 | ||||
-rw-r--r-- | tty.c | 13 |
2 files changed, 14 insertions, 1 deletions
@@ -217,7 +217,6 @@ format_job_update(struct job *job) struct format_job *fj = job->data; char *line; time_t t; - struct client *c; if ((line = evbuffer_readline(job->event->input)) == NULL) return; @@ -321,6 +320,7 @@ format_job_get(struct format_tree *ft, const char *cmd) xasprintf(&fj->out, "<'%s' didn't start>", fj->cmd); } fj->last = t; + fj->updated = 0; } if (ft->flags & FORMAT_STATUS) @@ -830,12 +830,25 @@ tty_clear_area(struct tty *tty, const struct window_pane *wp, u_int py, return; } + /* Full lines can be scrolled away to clear them. */ + if (px == 0 && + px + nx >= tty->sx && + ny > 2 && + tty_term_has(tty->term, TTYC_CSR) && + tty_term_has(tty->term, TTYC_INDN)) { + tty_region(tty, py, py + ny - 1); + tty_margin_off(tty); + tty_putcode1(tty, TTYC_INDN, ny); + return; + } + /* * If margins are supported, can just scroll the area off to * clear it. */ if (nx > 2 && ny > 2 && + tty_term_has(tty->term, TTYC_CSR) && tty_use_margin(tty) && tty_term_has(tty->term, TTYC_INDN)) { tty_region(tty, py, py + ny - 1); |