Can scroll away full lines to clear them too.

pull/581/merge
nicm 2017-05-12 23:06:43 +00:00
parent f688653710
commit 0264ef094a
1 changed files with 13 additions and 0 deletions

13
tty.c
View File

@ -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);