vim-patch:8.2.4674: cannot force getting MouseMove events

Problem:    Cannot force getting MouseMove events.
Solution:   Add the 'mousemoveevent' option with implementaiton for the GUI.
            (Ernie Rael, closes vim/vim#10044)
c4cb544cd5

This only ports the docs and the option variable.
The following commits will actually implement it as a UI option.
This commit is contained in:
zeertzjq 2022-07-24 11:20:23 +08:00
parent 900a774182
commit 00b49dd8dd
3 changed files with 20 additions and 0 deletions

View File

@ -4231,6 +4231,18 @@ A jump table for the options with a short description can be found at |Q_op|.
The 'mousemodel' option is set by the |:behave| command.
*'mousemoveevent'* *'mousemev'*
'mousemoveevent' 'mousemev' boolean (default off)
global
{only works in the GUI}
When on, mouse move events are delivered to the input queue and are
available for mapping. The default, off, avoids the mouse movement
overhead except when needed.
Warning: Setting this option can make pending mappings to be aborted
when the mouse is moved.
Currently only works in the GUI, may be made to work in a terminal
later.
*'mousescroll'*
'mousescroll' string (default "ver:3,hor:6")
global

View File

@ -616,6 +616,7 @@ EXTERN int p_ma; ///< 'modifiable'
EXTERN int p_mod; ///< 'modified'
EXTERN char *p_mouse; // 'mouse'
EXTERN char *p_mousem; // 'mousemodel'
EXTERN int p_mousemev; ///< 'mousemoveevent'
EXTERN int p_mousef; // 'mousefocus'
EXTERN char *p_mousescroll; // 'mousescroll'
EXTERN long p_mousescroll_vert INIT(= MOUSESCROLL_VERT_DFLT);

View File

@ -1621,6 +1621,13 @@ return {
varname='p_mousem',
defaults={if_true="popup_setpos"}
},
{
full_name='mousemoveevent', abbreviation='mousemev',
short_desc=N_("deliver mouse move events to input queue"),
type='bool', scope={'global'},
varname='p_mousemev',
defaults={if_true=false}
},
{
full_name='mousescroll',
short_desc=N_("amount to scroll by when scrolling with a mouse"),