Skip to content

Commit 1a735d6

Browse files
committed
patch 8.0.1075: MS-Windows: mouse does not work in terminal
Problem: MS-Windows: mouse does not work in terminal. Solution: Force the winpty mouse on. (Yasuhiro Matsumoto, closes #2072)
1 parent 2dc9d26 commit 1a735d6

2 files changed

Lines changed: 10 additions & 1 deletion

File tree

src/terminal.c

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2972,11 +2972,13 @@ term_send_eof(channel_T *ch)
29722972

29732973
#define WINPTY_SPAWN_FLAG_AUTO_SHUTDOWN 1ul
29742974
#define WINPTY_SPAWN_FLAG_EXIT_AFTER_SHUTDOWN 2ull
2975+
#define WINPTY_MOUSE_MODE_FORCE 2
29752976

29762977
void* (*winpty_config_new)(UINT64, void*);
29772978
void* (*winpty_open)(void*, void*);
29782979
void* (*winpty_spawn_config_new)(UINT64, void*, LPCWSTR, void*, void*, void*);
29792980
BOOL (*winpty_spawn)(void*, void*, HANDLE*, HANDLE*, DWORD*, void*);
2981+
void (*winpty_config_set_mouse_mode)(void*, int);
29802982
void (*winpty_config_set_initial_size)(void*, int, int);
29812983
LPCWSTR (*winpty_conin_name)(void*);
29822984
LPCWSTR (*winpty_conout_name)(void*);
@@ -3007,7 +3009,10 @@ dyn_winpty_init(int verbose)
30073009
{"winpty_conerr_name", (FARPROC*)&winpty_conerr_name},
30083010
{"winpty_config_free", (FARPROC*)&winpty_config_free},
30093011
{"winpty_config_new", (FARPROC*)&winpty_config_new},
3010-
{"winpty_config_set_initial_size", (FARPROC*)&winpty_config_set_initial_size},
3012+
{"winpty_config_set_mouse_mode",
3013+
(FARPROC*)&winpty_config_set_mouse_mode},
3014+
{"winpty_config_set_initial_size",
3015+
(FARPROC*)&winpty_config_set_initial_size},
30113016
{"winpty_conin_name", (FARPROC*)&winpty_conin_name},
30123017
{"winpty_conout_name", (FARPROC*)&winpty_conout_name},
30133018
{"winpty_error_free", (FARPROC*)&winpty_error_free},
@@ -3105,6 +3110,8 @@ term_and_job_init(
31053110
if (term->tl_winpty_config == NULL)
31063111
goto failed;
31073112

3113+
winpty_config_set_mouse_mode(term->tl_winpty_config,
3114+
WINPTY_MOUSE_MODE_FORCE);
31083115
winpty_config_set_initial_size(term->tl_winpty_config,
31093116
term->tl_cols, term->tl_rows);
31103117
term->tl_winpty = winpty_open(term->tl_winpty_config, &winpty_err);

src/version.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -769,6 +769,8 @@ static char *(features[]) =
769769

770770
static int included_patches[] =
771771
{ /* Add new patch number below this line */
772+
/**/
773+
1075,
772774
/**/
773775
1074,
774776
/**/

0 commit comments

Comments
 (0)