mirror of
https://github.com/vim/vim.git
synced 2025-09-25 03:54:15 -04:00
patch 7.4.1894
Problem: Cannot get the window ID for a mouse click. Solution: Add v:mouse_winid.
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
*eval.txt* For Vim version 7.4. Last change: 2016 May 25
|
*eval.txt* For Vim version 7.4. Last change: 2016 Jun 04
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -1358,6 +1358,10 @@ v:beval_winnr The number of the window, over which the mouse pointer is. Only
|
|||||||
window has number zero (unlike most other places where a
|
window has number zero (unlike most other places where a
|
||||||
window gets a number).
|
window gets a number).
|
||||||
|
|
||||||
|
*v:beval_winid* *beval_winid-variable*
|
||||||
|
v:beval_winid The window ID of the window, over which the mouse pointer is.
|
||||||
|
Otherwise like v:beval_winnr.
|
||||||
|
|
||||||
*v:char* *char-variable*
|
*v:char* *char-variable*
|
||||||
v:char Argument for evaluating 'formatexpr' and used for the typed
|
v:char Argument for evaluating 'formatexpr' and used for the typed
|
||||||
character when using <expr> in an abbreviation |:map-<expr>|.
|
character when using <expr> in an abbreviation |:map-<expr>|.
|
||||||
@@ -1591,6 +1595,10 @@ v:mouse_win Window number for a mouse click obtained with |getchar()|.
|
|||||||
First window has number 1, like with |winnr()|. The value is
|
First window has number 1, like with |winnr()|. The value is
|
||||||
zero when there was no mouse button click.
|
zero when there was no mouse button click.
|
||||||
|
|
||||||
|
*v:mouse_winid* *mouse_winid-variable*
|
||||||
|
v:mouse_winid Window ID for a mouse click obtained with |getchar()|.
|
||||||
|
The value is zero when there was no mouse button click.
|
||||||
|
|
||||||
*v:mouse_lnum* *mouse_lnum-variable*
|
*v:mouse_lnum* *mouse_lnum-variable*
|
||||||
v:mouse_lnum Line number for a mouse click obtained with |getchar()|.
|
v:mouse_lnum Line number for a mouse click obtained with |getchar()|.
|
||||||
This is the text line number, not the screen line number. The
|
This is the text line number, not the screen line number. The
|
||||||
@@ -1821,7 +1829,7 @@ v:windowid When any X11 based GUI is running or when running in a
|
|||||||
When an MS-Windows GUI is running this will be set to the
|
When an MS-Windows GUI is running this will be set to the
|
||||||
window handle.
|
window handle.
|
||||||
Otherwise the value is zero.
|
Otherwise the value is zero.
|
||||||
Note: for windows inside Vim use |winnr()|.
|
Note: for windows inside Vim use |winnr()| or |win_getid()|.
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
4. Builtin Functions *functions*
|
4. Builtin Functions *functions*
|
||||||
@@ -3846,8 +3854,8 @@ getchar([expr]) *getchar()*
|
|||||||
|
|
||||||
When the user clicks a mouse button, the mouse event will be
|
When the user clicks a mouse button, the mouse event will be
|
||||||
returned. The position can then be found in |v:mouse_col|,
|
returned. The position can then be found in |v:mouse_col|,
|
||||||
|v:mouse_lnum| and |v:mouse_win|. This example positions the
|
|v:mouse_lnum|, |v:mouse_winid| and |v:mouse_win|. This
|
||||||
mouse as it would normally happen: >
|
example positions the mouse as it would normally happen: >
|
||||||
let c = getchar()
|
let c = getchar()
|
||||||
if c == "\<LeftMouse>" && v:mouse_win > 0
|
if c == "\<LeftMouse>" && v:mouse_win > 0
|
||||||
exe v:mouse_win . "wincmd w"
|
exe v:mouse_win . "wincmd w"
|
||||||
@@ -4724,6 +4732,10 @@ job_status({job}) *job_status()* *E916*
|
|||||||
"fail" job failed to start
|
"fail" job failed to start
|
||||||
"dead" job died or was stopped after running
|
"dead" job died or was stopped after running
|
||||||
|
|
||||||
|
On Unix a non-existing command results in "dead" instead of
|
||||||
|
"fail", because a fork happens before the failure can be
|
||||||
|
detected.
|
||||||
|
|
||||||
If an exit callback was set with the "exit_cb" option and the
|
If an exit callback was set with the "exit_cb" option and the
|
||||||
job is now detected to be "dead" the callback will be invoked.
|
job is now detected to be "dead" the callback will be invoked.
|
||||||
|
|
||||||
@@ -6369,10 +6381,15 @@ setqflist({list} [, {action}]) *setqflist()*
|
|||||||
*E927*
|
*E927*
|
||||||
If {action} is set to 'a', then the items from {list} are
|
If {action} is set to 'a', then the items from {list} are
|
||||||
added to the existing quickfix list. If there is no existing
|
added to the existing quickfix list. If there is no existing
|
||||||
list, then a new list is created. If {action} is set to 'r',
|
list, then a new list is created.
|
||||||
then the items from the current quickfix list are replaced
|
|
||||||
with the items from {list}. If {action} is not present or is
|
If {action} is set to 'r', then the items from the current
|
||||||
set to ' ', then a new list is created.
|
quickfix list are replaced with the items from {list}. This
|
||||||
|
can also be used to clear the list: >
|
||||||
|
:call setqflist([], 'r')
|
||||||
|
<
|
||||||
|
If {action} is not present or is set to ' ', then a new list
|
||||||
|
is created.
|
||||||
|
|
||||||
Returns zero for success, -1 for failure.
|
Returns zero for success, -1 for failure.
|
||||||
|
|
||||||
|
@@ -359,6 +359,7 @@ static struct vimvar
|
|||||||
{VV_NAME("swapcommand", VAR_STRING), VV_RO},
|
{VV_NAME("swapcommand", VAR_STRING), VV_RO},
|
||||||
{VV_NAME("char", VAR_STRING), 0},
|
{VV_NAME("char", VAR_STRING), 0},
|
||||||
{VV_NAME("mouse_win", VAR_NUMBER), 0},
|
{VV_NAME("mouse_win", VAR_NUMBER), 0},
|
||||||
|
{VV_NAME("mouse_winid", VAR_NUMBER), 0},
|
||||||
{VV_NAME("mouse_lnum", VAR_NUMBER), 0},
|
{VV_NAME("mouse_lnum", VAR_NUMBER), 0},
|
||||||
{VV_NAME("mouse_col", VAR_NUMBER), 0},
|
{VV_NAME("mouse_col", VAR_NUMBER), 0},
|
||||||
{VV_NAME("operator", VAR_STRING), VV_RO},
|
{VV_NAME("operator", VAR_STRING), VV_RO},
|
||||||
@@ -12755,6 +12756,7 @@ f_getchar(typval_T *argvars, typval_T *rettv)
|
|||||||
--allow_keys;
|
--allow_keys;
|
||||||
|
|
||||||
vimvars[VV_MOUSE_WIN].vv_nr = 0;
|
vimvars[VV_MOUSE_WIN].vv_nr = 0;
|
||||||
|
vimvars[VV_MOUSE_WINID].vv_nr = 0;
|
||||||
vimvars[VV_MOUSE_LNUM].vv_nr = 0;
|
vimvars[VV_MOUSE_LNUM].vv_nr = 0;
|
||||||
vimvars[VV_MOUSE_COL].vv_nr = 0;
|
vimvars[VV_MOUSE_COL].vv_nr = 0;
|
||||||
|
|
||||||
@@ -12810,6 +12812,7 @@ f_getchar(typval_T *argvars, typval_T *rettv)
|
|||||||
++winnr;
|
++winnr;
|
||||||
# endif
|
# endif
|
||||||
vimvars[VV_MOUSE_WIN].vv_nr = winnr;
|
vimvars[VV_MOUSE_WIN].vv_nr = winnr;
|
||||||
|
vimvars[VV_MOUSE_WINID].vv_nr = win->w_id;
|
||||||
vimvars[VV_MOUSE_LNUM].vv_nr = lnum;
|
vimvars[VV_MOUSE_LNUM].vv_nr = lnum;
|
||||||
vimvars[VV_MOUSE_COL].vv_nr = col + 1;
|
vimvars[VV_MOUSE_COL].vv_nr = col + 1;
|
||||||
}
|
}
|
||||||
|
@@ -753,6 +753,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1894,
|
||||||
/**/
|
/**/
|
||||||
1893,
|
1893,
|
||||||
/**/
|
/**/
|
||||||
|
41
src/vim.h
41
src/vim.h
@@ -1887,26 +1887,27 @@ typedef int sock_T;
|
|||||||
#define VV_SWAPCOMMAND 48
|
#define VV_SWAPCOMMAND 48
|
||||||
#define VV_CHAR 49
|
#define VV_CHAR 49
|
||||||
#define VV_MOUSE_WIN 50
|
#define VV_MOUSE_WIN 50
|
||||||
#define VV_MOUSE_LNUM 51
|
#define VV_MOUSE_WINID 51
|
||||||
#define VV_MOUSE_COL 52
|
#define VV_MOUSE_LNUM 52
|
||||||
#define VV_OP 53
|
#define VV_MOUSE_COL 53
|
||||||
#define VV_SEARCHFORWARD 54
|
#define VV_OP 54
|
||||||
#define VV_HLSEARCH 55
|
#define VV_SEARCHFORWARD 55
|
||||||
#define VV_OLDFILES 56
|
#define VV_HLSEARCH 56
|
||||||
#define VV_WINDOWID 57
|
#define VV_OLDFILES 57
|
||||||
#define VV_PROGPATH 58
|
#define VV_WINDOWID 58
|
||||||
#define VV_COMPLETED_ITEM 59
|
#define VV_PROGPATH 59
|
||||||
#define VV_OPTION_NEW 60
|
#define VV_COMPLETED_ITEM 60
|
||||||
#define VV_OPTION_OLD 61
|
#define VV_OPTION_NEW 61
|
||||||
#define VV_OPTION_TYPE 62
|
#define VV_OPTION_OLD 62
|
||||||
#define VV_ERRORS 63
|
#define VV_OPTION_TYPE 63
|
||||||
#define VV_FALSE 64
|
#define VV_ERRORS 64
|
||||||
#define VV_TRUE 65
|
#define VV_FALSE 65
|
||||||
#define VV_NULL 66
|
#define VV_TRUE 66
|
||||||
#define VV_NONE 67
|
#define VV_NULL 67
|
||||||
#define VV_VIM_DID_ENTER 68
|
#define VV_NONE 68
|
||||||
#define VV_TESTING 69
|
#define VV_VIM_DID_ENTER 69
|
||||||
#define VV_LEN 70 /* number of v: vars */
|
#define VV_TESTING 70
|
||||||
|
#define VV_LEN 71 /* number of v: vars */
|
||||||
|
|
||||||
/* used for v_number in VAR_SPECIAL */
|
/* used for v_number in VAR_SPECIAL */
|
||||||
#define VVAL_FALSE 0L
|
#define VVAL_FALSE 0L
|
||||||
|
Reference in New Issue
Block a user