@@ -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
29762977void * (* winpty_config_new )(UINT64 , void * );
29772978void * (* winpty_open )(void * , void * );
29782979void * (* winpty_spawn_config_new )(UINT64 , void * , LPCWSTR , void * , void * , void * );
29792980BOOL (* winpty_spawn )(void * , void * , HANDLE * , HANDLE * , DWORD * , void * );
2981+ void (* winpty_config_set_mouse_mode )(void * , int );
29802982void (* winpty_config_set_initial_size )(void * , int , int );
29812983LPCWSTR (* winpty_conin_name )(void * );
29822984LPCWSTR (* 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 );
0 commit comments