summaryrefslogtreecommitdiffstats
path: root/tty.c
diff options
context:
space:
mode:
authornicm <nicm>2018-09-25 14:27:20 +0000
committernicm <nicm>2018-09-25 14:27:20 +0000
commit7d59f82cf96a91ac560d06aef0fe5c8880cf2244 (patch)
treece343d62d48bc9bf2a3dd98bc646f2218057d0a1 /tty.c
parent7bc6c105b7565441e8b32f4f77099cb5c3274611 (diff)
Allow panes to be 1 line or column by redrawing instead of using the
scroll region, from Soeren Tempel in GitHub issue 1487.
Diffstat (limited to 'tty.c')
-rw-r--r--tty.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/tty.c b/tty.c
index b6dd3403..5bf4a3ca 100644
--- a/tty.c
+++ b/tty.c
@@ -1145,7 +1145,9 @@ tty_cmd_insertline(struct tty *tty, const struct tty_ctx *ctx)
if (!tty_pane_full_width(tty, ctx) ||
tty_fake_bce(tty, ctx->wp, ctx->bg) ||
!tty_term_has(tty->term, TTYC_CSR) ||
- !tty_term_has(tty->term, TTYC_IL1)) {
+ !tty_term_has(tty->term, TTYC_IL1) ||
+ ctx->wp->sx == 1 ||
+ ctx->wp->sy == 1) {
tty_redraw_region(tty, ctx);
return;
}
@@ -1166,7 +1168,9 @@ tty_cmd_deleteline(struct tty *tty, const struct tty_ctx *ctx)
if (!tty_pane_full_width(tty, ctx) ||
tty_fake_bce(tty, ctx->wp, ctx->bg) ||
!tty_term_has(tty->term, TTYC_CSR) ||
- !tty_term_has(tty->term, TTYC_DL1)) {
+ !tty_term_has(tty->term, TTYC_DL1) ||
+ ctx->wp->sx == 1 ||
+ ctx->wp->sy == 1) {
tty_redraw_region(tty, ctx);
return;
}
@@ -1227,7 +1231,9 @@ tty_cmd_reverseindex(struct tty *tty, const struct tty_ctx *ctx)
if (!tty_pane_full_width(tty, ctx) ||
tty_fake_bce(tty, wp, 8) ||
!tty_term_has(tty->term, TTYC_CSR) ||
- !tty_term_has(tty->term, TTYC_RI)) {
+ !tty_term_has(tty->term, TTYC_RI) ||
+ ctx->wp->sx == 1 ||
+ ctx->wp->sy == 1) {
tty_redraw_region(tty, ctx);
return;
}
@@ -1251,7 +1257,9 @@ tty_cmd_linefeed(struct tty *tty, const struct tty_ctx *ctx)
if ((!tty_pane_full_width(tty, ctx) && !tty_use_margin(tty)) ||
tty_fake_bce(tty, wp, 8) ||
- !tty_term_has(tty->term, TTYC_CSR)) {
+ !tty_term_has(tty->term, TTYC_CSR) ||
+ wp->sx == 1 ||
+ wp->sy == 1) {
tty_redraw_region(tty, ctx);
return;
}
@@ -1287,7 +1295,9 @@ tty_cmd_scrollup(struct tty *tty, const struct tty_ctx *ctx)
if ((!tty_pane_full_width(tty, ctx) && !tty_use_margin(tty)) ||
tty_fake_bce(tty, wp, 8) ||
- !tty_term_has(tty->term, TTYC_CSR)) {
+ !tty_term_has(tty->term, TTYC_CSR) ||
+ wp->sx == 1 ||
+ wp->sy == 1) {
tty_redraw_region(tty, ctx);
return;
}