aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@openbsd.org>2009-07-10 07:11:59 +0000
committerNicholas Marriott <nicm@openbsd.org>2009-07-10 07:11:59 +0000
commit4a6d62e40168fc8c33c0804dbe67bab2f29d4f68 (patch)
tree189f54940e00064d0615379dadc1c737fd8b8408
parentdaa1faa90510c09ddface800101ea86b167d1154 (diff)
downloadrtmux-4a6d62e40168fc8c33c0804dbe67bab2f29d4f68.tar.gz
rtmux-4a6d62e40168fc8c33c0804dbe67bab2f29d4f68.tar.bz2
rtmux-4a6d62e40168fc8c33c0804dbe67bab2f29d4f68.zip
Don't send initialisation strings is1/2/3 (barely anything else does) and move
smcup to the first and rmcup to the last sequences output to the terminal. This allows tmux to use the alternate screen (smcup/rmcup) when available.
-rw-r--r--tty.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/tty.c b/tty.c
index 1ce8b226..3a536bae 100644
--- a/tty.c
+++ b/tty.c
@@ -157,11 +157,8 @@ tty_start_tty(struct tty *tty)
if (ioctl(tty->fd, TIOCFLUSH, &what) != 0)
fatal("ioctl(TIOCFLUSH)");
- tty_putcode(tty, TTYC_IS1);
- tty_putcode(tty, TTYC_IS2);
- tty_putcode(tty, TTYC_IS3);
-
tty_putcode(tty, TTYC_SMCUP);
+
tty_putcode(tty, TTYC_SMKX);
tty_putcode(tty, TTYC_ENACS);
tty_putcode(tty, TTYC_CLEAR);
@@ -200,12 +197,13 @@ tty_stop_tty(struct tty *tty)
tty_raw(tty, tty_term_string(tty->term, TTYC_RMACS));
tty_raw(tty, tty_term_string(tty->term, TTYC_SGR0));
tty_raw(tty, tty_term_string(tty->term, TTYC_RMKX));
- tty_raw(tty, tty_term_string(tty->term, TTYC_RMCUP));
tty_raw(tty, tty_term_string(tty->term, TTYC_CLEAR));
tty_raw(tty, tty_term_string(tty->term, TTYC_CNORM));
if (tty_term_has(tty->term, TTYC_KMOUS))
tty_raw(tty, "\033[?1000l");
+
+ tty_raw(tty, tty_term_string(tty->term, TTYC_RMCUP));
}
#if 0