diff options
Diffstat (limited to 'src/term.c')
-rw-r--r-- | src/term.c | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/src/term.c b/src/term.c index ef88705ffd..83b54e18ce 100644 --- a/src/term.c +++ b/src/term.c @@ -4546,6 +4546,9 @@ check_termcode( if (tp[1 + (tp[0] != CSI)] == '>' && semicols == 2) { int need_flush = FALSE; +# ifdef FEAT_MOUSE_SGR + int is_iterm2 = FALSE; +# endif /* if xterm version >= 141 try to get termcap codes */ if (version >= 141) @@ -4573,12 +4576,29 @@ check_termcode( # endif } + if (version == 95) + { + /* Mac Terminal.app sends 1;95;0 */ + if (STRNCMP(tp + extra - 2, "1;95;0c", 7) == 0) + { + is_not_xterm = TRUE; + is_mac_terminal = TRUE; + } +# ifdef FEAT_MOUSE_SGR + /* Iterm2 sends 0;95;0 */ + if (STRNCMP(tp + extra - 2, "0;95;0c", 7) == 0) + is_iterm2 = TRUE; +# endif + } + /* Only set 'ttymouse' automatically if it was not set * by the user already. */ if (!option_was_set((char_u *)"ttym")) { # ifdef FEAT_MOUSE_SGR - if (version >= 277) + /* Xterm version 277 supports SGR. Also support + * Terminal.app and iterm2. */ + if (version >= 277 || is_iterm2 || is_mac_terminal) set_option_value((char_u *)"ttym", 0L, (char_u *)"sgr", 0); else @@ -4593,14 +4613,6 @@ check_termcode( * "xterm-256colors" but are not fully xterm * compatible. */ - /* Mac Terminal.app sends 1;95;0 */ - if (version == 95 - && STRNCMP(tp + extra - 2, "1;95;0c", 7) == 0) - { - is_not_xterm = TRUE; - is_mac_terminal = TRUE; - } - /* Gnome terminal sends 1;3801;0, 1;4402;0 or 1;2501;0. * xfce4-terminal sends 1;2802;0. * screen sends 83;40500;0 |