Need to update features after all the sequences come in.

pull/2219/head
Nicholas Marriott 2020-05-16 07:32:46 +01:00
parent c2167c5ee8
commit 740f047a85
1 changed files with 8 additions and 7 deletions

15
tty.c
View File

@ -286,6 +286,8 @@ tty_start_timer_callback(__unused int fd, __unused short events, void *data)
struct client *c = tty->client;
log_debug("%s: start timer fired", c->name);
if ((tty->flags & (TTY_HAVEDA|TTY_HAVEXDA)) == 0)
tty_update_features(tty);
tty->flags |= (TTY_HAVEDA|TTY_HAVEXDA);
}
@ -329,13 +331,6 @@ tty_start_tty(struct tty *tty)
tty_puts(tty, "\033[?1006l\033[?1005l");
}
if (options_get_number(global_options, "focus-events"))
tty_raw(tty, tty_term_string(tty->term, TTYC_ENFCS));
if (options_get_number(global_options, "extended-keys"))
tty_raw(tty, tty_term_string(tty->term, TTYC_ENEKS));
if (tty->term->flags & TERM_VT100LIKE)
tty_puts(tty, "\033[?7727h");
evtimer_set(&tty->start_timer, tty_start_timer_callback, tty);
evtimer_add(&tty->start_timer, &tv);
@ -469,6 +464,12 @@ tty_update_features(struct tty *tty)
if (tty_use_margin(tty))
tty_putcode(tty, TTYC_ENMG);
if (options_get_number(global_options, "extended-keys"))
tty_puts(tty, tty_term_string(tty->term, TTYC_ENEKS));
if (options_get_number(global_options, "focus-events"))
tty_raw(tty, tty_term_string(tty->term, TTYC_ENFCS));
if (tty->term->flags & TERM_VT100LIKE)
tty_puts(tty, "\033[?7727h");
}
void