summaryrefslogtreecommitdiff
path: root/usr.bin
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@cvs.openbsd.org>2009-07-10 07:12:00 +0000
committerNicholas Marriott <nicm@cvs.openbsd.org>2009-07-10 07:12:00 +0000
commitde53a076a1b2e068e63b07259b62466709a04db6 (patch)
tree9ecbcfd43d297b4a3542c88dadb31ac3188c6942 /usr.bin
parenteef17eedd4353e87fd4358216f808cb473e9c3e7 (diff)
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.
Diffstat (limited to 'usr.bin')
-rw-r--r--usr.bin/tmux/tty.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/usr.bin/tmux/tty.c b/usr.bin/tmux/tty.c
index a180f89cb9e..3b448736160 100644
--- a/usr.bin/tmux/tty.c
+++ b/usr.bin/tmux/tty.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: tty.c,v 1.9 2009/07/07 17:24:32 nicm Exp $ */
+/* $OpenBSD: tty.c,v 1.10 2009/07/10 07:11:59 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -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