summaryrefslogtreecommitdiff
path: root/src/os_unix.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-10-17 23:00:07 +0200
committerBram Moolenaar <Bram@vim.org>2019-10-17 23:00:07 +0200
commita1cb1d1dce14dd005797590721f1bcd0e7c3b35f (patch)
treebe364e198e623b25d59e58d205e598fd954d3f17 /src/os_unix.c
parent0d2c4bf1714a6b286bd7a10061044414e0b17a15 (diff)
downloadvim-git-a1cb1d1dce14dd005797590721f1bcd0e7c3b35f.tar.gz
patch 8.1.2171: mouse support not always availablev8.1.2171
Problem: Mouse support not always available. Solution: Enable mouse support also in tiny version. Do not define FEAT_MOUSE_XTERM on MS-Windows (didn't really work).
Diffstat (limited to 'src/os_unix.c')
-rw-r--r--src/os_unix.c54
1 files changed, 25 insertions, 29 deletions
diff --git a/src/os_unix.c b/src/os_unix.c
index 54989af88..e518bb91f 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -2282,7 +2282,6 @@ use_xterm_like_mouse(char_u *name)
}
#endif
-#if defined(FEAT_MOUSE_TTY) || defined(PROTO)
/*
* Return non-zero when using an xterm mouse, according to 'ttymouse'.
* Return 1 for "xterm".
@@ -2303,7 +2302,6 @@ use_xterm_mouse(void)
return 1;
return 0;
}
-#endif
int
vim_is_iris(char_u *name)
@@ -3592,7 +3590,6 @@ get_tty_info(int fd, ttyinfo_T *info)
#endif /* VMS */
-#if defined(FEAT_MOUSE_TTY) || defined(PROTO)
static int mouse_ison = FALSE;
/*
@@ -3601,29 +3598,29 @@ static int mouse_ison = FALSE;
void
mch_setmouse(int on)
{
-# ifdef FEAT_BEVAL_TERM
+#ifdef FEAT_BEVAL_TERM
static int bevalterm_ison = FALSE;
-# endif
+#endif
int xterm_mouse_vers;
-# if defined(FEAT_X11) && defined(FEAT_XCLIPBOARD)
+#if defined(FEAT_X11) && defined(FEAT_XCLIPBOARD)
if (!on)
// Make sure not tracing mouse movements. Important when a button-down
// was received but no release yet.
stop_xterm_trace();
-# endif
+#endif
if (on == mouse_ison
-# ifdef FEAT_BEVAL_TERM
+#ifdef FEAT_BEVAL_TERM
&& p_bevalterm == bevalterm_ison
-# endif
+#endif
)
/* return quickly if nothing to do */
return;
xterm_mouse_vers = use_xterm_mouse();
-# ifdef FEAT_MOUSE_URXVT
+#ifdef FEAT_MOUSE_URXVT
if (ttym_flags == TTYM_URXVT)
{
out_str_nf((char_u *)
@@ -3632,7 +3629,7 @@ mch_setmouse(int on)
: IF_EB("\033[?1015l", ESC_STR "[?1015l")));
mouse_ison = on;
}
-# endif
+#endif
if (ttym_flags == TTYM_SGR)
{
@@ -3644,7 +3641,7 @@ mch_setmouse(int on)
mouse_ison = on;
}
-# ifdef FEAT_BEVAL_TERM
+#ifdef FEAT_BEVAL_TERM
if (bevalterm_ison != (p_bevalterm && on))
{
bevalterm_ison = (p_bevalterm && on);
@@ -3653,7 +3650,7 @@ mch_setmouse(int on)
out_str_nf((char_u *)
(IF_EB("\033[?1003l", ESC_STR "[?1003l")));
}
-# endif
+#endif
if (xterm_mouse_vers > 0)
{
@@ -3661,10 +3658,10 @@ mch_setmouse(int on)
out_str_nf((char_u *)
(xterm_mouse_vers > 1
? (
-# ifdef FEAT_BEVAL_TERM
+#ifdef FEAT_BEVAL_TERM
bevalterm_ison
? IF_EB("\033[?1003h", ESC_STR "[?1003h") :
-# endif
+#endif
IF_EB("\033[?1002h", ESC_STR "[?1002h"))
: IF_EB("\033[?1000h", ESC_STR "[?1000h")));
else /* disable mouse events, could probably always send the same */
@@ -3675,7 +3672,7 @@ mch_setmouse(int on)
mouse_ison = on;
}
-# ifdef FEAT_MOUSE_DEC
+#ifdef FEAT_MOUSE_DEC
else if (ttym_flags == TTYM_DEC)
{
if (on) /* enable mouse events */
@@ -3684,9 +3681,9 @@ mch_setmouse(int on)
out_str_nf((char_u *)"\033['z");
mouse_ison = on;
}
-# endif
+#endif
-# ifdef FEAT_MOUSE_GPM
+#ifdef FEAT_MOUSE_GPM
else
{
if (on)
@@ -3700,9 +3697,9 @@ mch_setmouse(int on)
mouse_ison = FALSE;
}
}
-# endif
+#endif
-# ifdef FEAT_SYSMOUSE
+#ifdef FEAT_SYSMOUSE
else
{
if (on)
@@ -3716,9 +3713,9 @@ mch_setmouse(int on)
mouse_ison = FALSE;
}
}
-# endif
+#endif
-# ifdef FEAT_MOUSE_JSB
+#ifdef FEAT_MOUSE_JSB
else
{
if (on)
@@ -3738,14 +3735,14 @@ mch_setmouse(int on)
* 4 = Windows Cross Hair
* 5 = Windows UP Arrow
*/
-# ifdef JSBTERM_MOUSE_NONADVANCED
+# ifdef JSBTERM_MOUSE_NONADVANCED
/* Disables full feedback of pointer movements */
out_str_nf((char_u *)IF_EB("\033[0~ZwLMRK1Q\033\\",
ESC_STR "[0~ZwLMRK1Q" ESC_STR "\\"));
-# else
+# else
out_str_nf((char_u *)IF_EB("\033[0~ZwLMRK+1Q\033\\",
ESC_STR "[0~ZwLMRK+1Q" ESC_STR "\\"));
-# endif
+# endif
mouse_ison = TRUE;
}
else
@@ -3755,8 +3752,8 @@ mch_setmouse(int on)
mouse_ison = FALSE;
}
}
-# endif
-# ifdef FEAT_MOUSE_PTERM
+#endif
+#ifdef FEAT_MOUSE_PTERM
else
{
/* 1 = button press, 6 = release, 7 = drag, 1h...9l = right button */
@@ -3766,7 +3763,7 @@ mch_setmouse(int on)
out_str_nf("\033[>1l\033[>6l\033[>7l\033[>1l\033[>9h");
mouse_ison = on;
}
-# endif
+#endif
}
#if defined(FEAT_BEVAL_TERM) || defined(PROTO)
@@ -3929,7 +3926,6 @@ check_mouse_termcode(void)
del_mouse_termcode(KS_SGR_MOUSE_RELEASE);
}
}
-#endif
/*
* set screen mode, always fails.