mirror of
https://github.com/tmux/tmux.git
synced 2024-12-04 19:58:48 +00:00
In terminfo, sometimes cvvis implies cnorm and sometimes it doesn't, so
don't assume it does. Fixes missing cursor with emacs-in-tmux-in-tmux.
This commit is contained in:
parent
3f4ee98162
commit
2c53b23d59
19
tty.c
19
tty.c
@ -507,14 +507,17 @@ tty_update_mode(struct tty *tty, int mode, struct screen *s)
|
||||
mode &= ~MODE_CURSOR;
|
||||
|
||||
changed = mode ^ tty->mode;
|
||||
if (changed & (MODE_CURSOR|MODE_BLINKING)) {
|
||||
if (mode & MODE_CURSOR) {
|
||||
if (mode & MODE_BLINKING &&
|
||||
tty_term_has(tty->term, TTYC_CVVIS))
|
||||
tty_putcode(tty, TTYC_CVVIS);
|
||||
else
|
||||
tty_putcode(tty, TTYC_CNORM);
|
||||
} else
|
||||
if (changed & MODE_BLINKING) {
|
||||
if (tty_term_has(tty->term, TTYC_CVVIS))
|
||||
tty_putcode(tty, TTYC_CVVIS);
|
||||
else
|
||||
tty_putcode(tty, TTYC_CNORM);
|
||||
changed |= MODE_CURSOR;
|
||||
}
|
||||
if (changed & MODE_CURSOR) {
|
||||
if (mode & MODE_CURSOR)
|
||||
tty_putcode(tty, TTYC_CNORM);
|
||||
else
|
||||
tty_putcode(tty, TTYC_CIVIS);
|
||||
}
|
||||
if (s != NULL && tty->cstyle != s->cstyle) {
|
||||
|
Loading…
Reference in New Issue
Block a user