diff options
author | nicm <nicm> | 2017-02-16 12:56:01 +0000 |
---|---|---|
committer | nicm <nicm> | 2017-02-16 12:56:01 +0000 |
commit | 82db1fa9e5b92c21d30488f54f12294267b137b2 (patch) | |
tree | 28a63e285672f8e10e0cb9aacf01ec7729e267cc | |
parent | c948c6b69764729859dcd091934f42abad2f73e6 (diff) | |
download | rtmux-82db1fa9e5b92c21d30488f54f12294267b137b2.tar.gz rtmux-82db1fa9e5b92c21d30488f54f12294267b137b2.tar.bz2 rtmux-82db1fa9e5b92c21d30488f54f12294267b137b2.zip |
There are buggy terminals out there that do not move the cursor to 0,0
after CSR, so invalidate the cursor position rather than assuming 0,0.
-rw-r--r-- | input.c | 2 | ||||
-rw-r--r-- | tty.c | 4 |
2 files changed, 3 insertions, 3 deletions
@@ -1389,7 +1389,7 @@ input_csi_dispatch(struct input_ctx *ictx) break; case INPUT_CSI_IL: screen_write_insertline(sctx, input_get(ictx, 0, 1, 1), - ictx->cell.cell.bg); + ictx->cell.cell.bg); break; case INPUT_CSI_RCP: memcpy(&ictx->cell, &ictx->old_cell, sizeof ictx->cell); @@ -1321,7 +1321,7 @@ tty_region(struct tty *tty, u_int rupper, u_int rlower) tty_cursor(tty, 0, tty->cy); tty_putcode2(tty, TTYC_CSR, tty->rupper, tty->rlower); - tty->cx = tty->cy = 0; + tty->cx = tty->cy = UINT_MAX; } /* Turn off margin. */ @@ -1359,7 +1359,7 @@ tty_margin(struct tty *tty, u_int rleft, u_int rright) else snprintf(s, sizeof s, "\033[%u;%us", rleft + 1, rright + 1); tty_puts(tty, s); - tty->cx = tty->cy = 0; + tty->cx = tty->cy = UINT_MAX; } /* Move cursor inside pane. */ |