diff --git a/input.c b/input.c index d7071bfe..ea9320d1 100644 --- a/input.c +++ b/input.c @@ -773,6 +773,7 @@ input_save_state(struct input_ctx *ictx) ictx->old_mode = s->mode; } +/* Restore screen state. */ static void input_restore_state(struct input_ctx *ictx) { diff --git a/tty.c b/tty.c index 54c3be30..3bab556d 100644 --- a/tty.c +++ b/tty.c @@ -338,8 +338,10 @@ tty_start_tty(struct tty *tty) tty->flags |= TTY_FOCUS; tty_puts(tty, "\033[?1004h"); } - tty_puts(tty, "\033[c\033[1337n"); /* DA and DSR */ - + if (~tty->flags & TTY_HAVEDA) + tty_puts(tty, "\033[c"); + if (~tty->flags & TTY_HAVEDSR) + tty_puts(tty, "\033[1337n"); } else tty->flags |= (TTY_HAVEDA|TTY_HAVEDSR);