summaryrefslogtreecommitdiffstats
path: root/tty.c
diff options
context:
space:
mode:
authornicm <nicm>2016-05-30 09:26:49 +0000
committernicm <nicm>2016-05-30 09:26:49 +0000
commit7d105738b6d1973af82d312f6e46f8d63cbdec03 (patch)
treeaef39afc253c5b43622665a862a84b59a273db46 /tty.c
parent344a6a620233ab351a9875fb52cc2662cdf4aac4 (diff)
Send two cub1 instead of using cub for moving the cursor two left. This
is normally better because using cub1 will be ^H^H (so two bytes) but cub would be ^[[2D (four).
Diffstat (limited to 'tty.c')
-rw-r--r--tty.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/tty.c b/tty.c
index 07e14097..12135f48 100644
--- a/tty.c
+++ b/tty.c
@@ -1345,7 +1345,7 @@ tty_cursor(struct tty *tty, u_int cx, u_int cy)
*/
/* To left edge. */
- if (cx == 0) {
+ if (cx == 0) {
tty_putc(tty, '\r');
goto out;
}
@@ -1373,6 +1373,11 @@ tty_cursor(struct tty *tty, u_int cx, u_int cy)
tty_putcode1(tty, TTYC_HPA, cx);
goto out;
} else if (change > 0 && tty_term_has(term, TTYC_CUB)) {
+ if (change == 2 && tty_term_has(term, TTYC_CUB1)) {
+ tty_putcode(tty, TTYC_CUB1);
+ tty_putcode(tty, TTYC_CUB1);
+ goto out;
+ }
tty_putcode1(tty, TTYC_CUB, change);
goto out;
} else if (change < 0 && tty_term_has(term, TTYC_CUF)) {