diff options
author | nicm <nicm> | 2018-10-18 07:57:57 +0000 |
---|---|---|
committer | nicm <nicm> | 2018-10-18 07:57:57 +0000 |
commit | bc0e527f32642cc9eb2354d1bdc033ab6beca33b (patch) | |
tree | a6b154e707a0fad14f57ba8940f76cba024e0330 /tty.c | |
parent | f7c85f3ed8f151501fb72a1c18a48d126d89c83c (diff) | |
download | rtmux-bc0e527f32642cc9eb2354d1bdc033ab6beca33b.tar.gz rtmux-bc0e527f32642cc9eb2354d1bdc033ab6beca33b.tar.bz2 rtmux-bc0e527f32642cc9eb2354d1bdc033ab6beca33b.zip |
Support for extended underline styles on terminals which offer them,
enabled by adding the Smulx capability with terminal-overrides (add
something like ',vte*:Smulx=\E[4\:%p1%dm'). GitHub issue 1492.
Diffstat (limited to 'tty.c')
-rw-r--r-- | tty.c | 15 |
1 files changed, 13 insertions, 2 deletions
@@ -1832,8 +1832,19 @@ tty_attributes(struct tty *tty, const struct grid_cell *gc, tty_putcode(tty, TTYC_DIM); if (changed & GRID_ATTR_ITALICS) tty_set_italics(tty); - if (changed & GRID_ATTR_UNDERSCORE) - tty_putcode(tty, TTYC_SMUL); + if (changed & GRID_ATTR_ALL_UNDERSCORE) { + if ((changed & GRID_ATTR_UNDERSCORE) || + !tty_term_has(tty->term, TTYC_SMULX)) + tty_putcode(tty, TTYC_SMUL); + else if (changed & GRID_ATTR_UNDERSCORE_2) + tty_putcode1(tty, TTYC_SMULX, 2); + else if (changed & GRID_ATTR_UNDERSCORE_3) + tty_putcode1(tty, TTYC_SMULX, 3); + else if (changed & GRID_ATTR_UNDERSCORE_4) + tty_putcode1(tty, TTYC_SMULX, 4); + else if (changed & GRID_ATTR_UNDERSCORE_5) + tty_putcode1(tty, TTYC_SMULX, 5); + } if (changed & GRID_ATTR_BLINK) tty_putcode(tty, TTYC_BLINK); if (changed & GRID_ATTR_REVERSE) { |