diff options
author | nicm <nicm> | 2015-01-20 08:18:04 +0000 |
---|---|---|
committer | nicm <nicm> | 2015-01-20 08:18:04 +0000 |
commit | 16bdd970dcc68e50f26c512b3ead628b9b899c88 (patch) | |
tree | 62d7c4b928766cfc532ab197adf4482116439d1b /tty.c | |
parent | d45150267656530b8503375555a1814fcfe6a15a (diff) | |
download | rtmux-16bdd970dcc68e50f26c512b3ead628b9b899c88.tar.gz rtmux-16bdd970dcc68e50f26c512b3ead628b9b899c88.tar.bz2 rtmux-16bdd970dcc68e50f26c512b3ead628b9b899c88.zip |
Support blinking cursor mode, both the xterm CSI ?12 h/l and (the
backwards) screen CSI 34 h/l. From Guanpeng Xu.
Diffstat (limited to 'tty.c')
-rw-r--r-- | tty.c | 12 |
1 files changed, 8 insertions, 4 deletions
@@ -482,10 +482,14 @@ tty_update_mode(struct tty *tty, int mode, struct screen *s) mode &= ~MODE_CURSOR; changed = mode ^ tty->mode; - if (changed & MODE_CURSOR) { - if (mode & MODE_CURSOR) - tty_putcode(tty, TTYC_CNORM); - else + 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 tty_putcode(tty, TTYC_CIVIS); } if (tty->cstyle != s->cstyle) { |