From 75f218dc73a19ac6de9d2270aab43f83c5bb8816 Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Sat, 9 Apr 2011 07:48:58 +0000 Subject: [PATCH] If the terminal supports sitm for italics, use it instead of standout (smso). From Tiago Resende. --- configure.ac | 4 ++-- tmux.h | 3 ++- tty-term.c | 3 ++- tty.c | 9 +++++++-- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/configure.ac b/configure.ac index afbabaf6..2da3b1df 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -# $Id: configure.ac,v 1.15 2011-02-11 23:31:15 nicm Exp $ +# $Id: configure.ac,v 1.16 2011-04-09 07:48:58 nicm Exp $ # Miscellaneous autofoo bullshit. AC_INIT(tmux, 1.5) @@ -101,7 +101,7 @@ AC_MSG_RESULT($found_glibc) AC_CHECK_LIB(rt, clock_gettime) # Look for libevent. -AC_SEARCH_LIBS(event_init, event, found_libevent=yes, found_libevent=no) +AC_SEARCH_LIBS(event_init, [event event-1.4 event2], found_libevent=yes, found_libevent=no) if test "x$found_libevent" = xno; then AC_MSG_ERROR("libevent not found") fi diff --git a/tmux.h b/tmux.h index 9d76f608..b14857b4 100644 --- a/tmux.h +++ b/tmux.h @@ -1,4 +1,4 @@ -/* $Id: tmux.h,v 1.618 2011-04-06 22:29:26 nicm Exp $ */ +/* $Id: tmux.h,v 1.619 2011-04-09 07:48:58 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -319,6 +319,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 */ }; diff --git a/tty-term.c b/tty-term.c index 81ddb3c9..56aa34b7 100644 --- a/tty-term.c +++ b/tty-term.c @@ -1,4 +1,4 @@ -/* $Id: tty-term.c,v 1.46 2011-02-15 15:12:28 tcunha Exp $ */ +/* $Id: tty-term.c,v 1.47 2011-04-09 07:48:58 nicm Exp $ */ /* * Copyright (c) 2008 Nicholas Marriott @@ -181,6 +181,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" }, }; diff --git a/tty.c b/tty.c index 2084fccb..c6b7654a 100644 --- a/tty.c +++ b/tty.c @@ -1,4 +1,4 @@ -/* $Id: tty.c,v 1.207 2011-04-06 22:18:05 nicm Exp $ */ +/* $Id: tty.c,v 1.208 2011-04-09 07:48:58 nicm Exp $ */ /* * Copyright (c) 2007 Nicholas Marriott @@ -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)