If the terminal supports sitm for italics, use it instead of standout

(smso). From Tiago Resende.
This commit is contained in:
Nicholas Marriott 2011-04-09 07:48:08 +00:00
parent ec89eb9552
commit 0a09d04e1b
3 changed files with 8 additions and 1 deletions

1
tmux.h
View File

@ -323,6 +323,7 @@ enum tty_code_code {
TTYC_SMKX, /* keypad_xmit, ks */
TTYC_SMSO, /* enter_standout_mode, so */
TTYC_SMUL, /* enter_underline_mode, us */
TTYC_SITM, /* enter_italics_mode, it */
TTYC_VPA, /* row_address, cv */
TTYC_XENL, /* eat_newline_glitch, xn */
};

View File

@ -178,6 +178,7 @@ const struct tty_term_code_entry tty_term_codes[NTTYCODE] = {
{ TTYC_SMKX, TTYCODE_STRING, "smkx" },
{ TTYC_SMSO, TTYCODE_STRING, "smso" },
{ TTYC_SMUL, TTYCODE_STRING, "smul" },
{ TTYC_SITM, TTYCODE_STRING, "sitm" },
{ TTYC_VPA, TTYCODE_STRING, "vpa" },
{ TTYC_XENL, TTYCODE_FLAG, "xenl" },
};

7
tty.c
View File

@ -1218,7 +1218,12 @@ tty_attributes(struct tty *tty, const struct grid_cell *gc)
if (changed & GRID_ATTR_DIM)
tty_putcode(tty, TTYC_DIM);
if (changed & GRID_ATTR_ITALICS)
tty_putcode(tty, TTYC_SMSO);
{
if (tty_term_has(tty->term, TTYC_SITM))
tty_putcode(tty, TTYC_SITM);
else
tty_putcode(tty, TTYC_SMSO);
}
if (changed & GRID_ATTR_UNDERSCORE)
tty_putcode(tty, TTYC_SMUL);
if (changed & GRID_ATTR_BLINK)