aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2017-05-13 02:01:13 +0100
committerThomas Adam <thomas@xteddy.org>2017-05-13 02:01:13 +0100
commit9f9f8c8e762d3107919d573f1e600b3dd5cbf22b (patch)
tree4db2743f1c4a6aaf17328403aa18e36eb3c74d5c
parent886d896098cbd9ce0bd9249b7e86f362ee59a2f6 (diff)
parent50f1f1dce964d0f09d2ea2abba2abe093e775194 (diff)
downloadrtmux-9f9f8c8e762d3107919d573f1e600b3dd5cbf22b.tar.gz
rtmux-9f9f8c8e762d3107919d573f1e600b3dd5cbf22b.tar.bz2
rtmux-9f9f8c8e762d3107919d573f1e600b3dd5cbf22b.zip
Merge branch 'obsd-master'
-rw-r--r--format.c2
-rw-r--r--tty.c13
2 files changed, 14 insertions, 1 deletions
diff --git a/format.c b/format.c
index 5a5dabbe..6482fad4 100644
--- a/format.c
+++ b/format.c
@@ -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)
diff --git a/tty.c b/tty.c
index 58a4028c..d638f7d0 100644
--- a/tty.c
+++ b/tty.c
@@ -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);