Mercurial > vim
comparison src/normal.c @ 12865:ebb4f6c93598 v8.0.1309
patch 8.0.1309: cannot use 'balloonexpr' in a terminal
commit https://github.com/vim/vim/commit/51b0f3701ecb440aa72ab6017c1df6940c0e0f6f
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat Nov 18 18:52:04 2017 +0100
patch 8.0.1309: cannot use 'balloonexpr' in a terminal
Problem: Cannot use 'balloonexpr' in a terminal.
Solution: Add 'balloonevalterm' and add code to handle mouse movements in a
terminal. Initial implementation for Unix with GUI.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 18 Nov 2017 19:00:06 +0100 |
parents | e769c912fcd9 |
children | 1a450ce6980c |
comparison
equal
deleted
inserted
replaced
12864:e98532b79dba | 12865:ebb4f6c93598 |
---|---|
356 {K_LEFTMOUSE, nv_mouse, 0, 0}, | 356 {K_LEFTMOUSE, nv_mouse, 0, 0}, |
357 {K_LEFTMOUSE_NM, nv_mouse, 0, 0}, | 357 {K_LEFTMOUSE_NM, nv_mouse, 0, 0}, |
358 {K_LEFTDRAG, nv_mouse, 0, 0}, | 358 {K_LEFTDRAG, nv_mouse, 0, 0}, |
359 {K_LEFTRELEASE, nv_mouse, 0, 0}, | 359 {K_LEFTRELEASE, nv_mouse, 0, 0}, |
360 {K_LEFTRELEASE_NM, nv_mouse, 0, 0}, | 360 {K_LEFTRELEASE_NM, nv_mouse, 0, 0}, |
361 {K_MOUSEMOVE, nv_mouse, 0, 0}, | |
361 {K_MIDDLEMOUSE, nv_mouse, 0, 0}, | 362 {K_MIDDLEMOUSE, nv_mouse, 0, 0}, |
362 {K_MIDDLEDRAG, nv_mouse, 0, 0}, | 363 {K_MIDDLEDRAG, nv_mouse, 0, 0}, |
363 {K_MIDDLERELEASE, nv_mouse, 0, 0}, | 364 {K_MIDDLERELEASE, nv_mouse, 0, 0}, |
364 {K_RIGHTMOUSE, nv_mouse, 0, 0}, | 365 {K_RIGHTMOUSE, nv_mouse, 0, 0}, |
365 {K_RIGHTDRAG, nv_mouse, 0, 0}, | 366 {K_RIGHTDRAG, nv_mouse, 0, 0}, |
2392 mouse_row = save_mouse_row; | 2393 mouse_row = save_mouse_row; |
2393 mouse_col = save_mouse_col; | 2394 mouse_col = save_mouse_col; |
2394 } | 2395 } |
2395 } | 2396 } |
2396 break; | 2397 break; |
2398 } | |
2399 | |
2400 if (c == K_MOUSEMOVE) | |
2401 { | |
2402 /* Mouse moved without a button pressed. */ | |
2403 #ifdef FEAT_BEVALTERM | |
2404 ui_may_remove_balloon(); | |
2405 if (p_bevalterm && !VIsual_active) | |
2406 { | |
2407 profile_setlimit(p_bdlay, &bevalexpr_due); | |
2408 bevalexpr_due_set = TRUE; | |
2409 } | |
2410 #endif | |
2411 return FALSE; | |
2397 } | 2412 } |
2398 | 2413 |
2399 #ifdef FEAT_MOUSESHAPE | 2414 #ifdef FEAT_MOUSESHAPE |
2400 /* May have stopped dragging the status or separator line. The pointer is | 2415 /* May have stopped dragging the status or separator line. The pointer is |
2401 * most likely still on the status or separator line. */ | 2416 * most likely still on the status or separator line. */ |
3841 # ifdef FEAT_GUI | 3856 # ifdef FEAT_GUI |
3842 K_VER_SCROLLBAR, K_HOR_SCROLLBAR, | 3857 K_VER_SCROLLBAR, K_HOR_SCROLLBAR, |
3843 K_LEFTMOUSE_NM, K_LEFTRELEASE_NM, | 3858 K_LEFTMOUSE_NM, K_LEFTRELEASE_NM, |
3844 # endif | 3859 # endif |
3845 K_IGNORE, K_PS, | 3860 K_IGNORE, K_PS, |
3846 K_LEFTMOUSE, K_LEFTDRAG, K_LEFTRELEASE, | 3861 K_LEFTMOUSE, K_LEFTDRAG, K_LEFTRELEASE, K_MOUSEMOVE, |
3847 K_MIDDLEMOUSE, K_MIDDLEDRAG, K_MIDDLERELEASE, | 3862 K_MIDDLEMOUSE, K_MIDDLEDRAG, K_MIDDLERELEASE, |
3848 K_RIGHTMOUSE, K_RIGHTDRAG, K_RIGHTRELEASE, | 3863 K_RIGHTMOUSE, K_RIGHTDRAG, K_RIGHTRELEASE, |
3849 K_MOUSEDOWN, K_MOUSEUP, K_MOUSELEFT, K_MOUSERIGHT, | 3864 K_MOUSEDOWN, K_MOUSEUP, K_MOUSELEFT, K_MOUSERIGHT, |
3850 K_X1MOUSE, K_X1DRAG, K_X1RELEASE, K_X2MOUSE, K_X2DRAG, K_X2RELEASE, | 3865 K_X1MOUSE, K_X1DRAG, K_X1RELEASE, K_X2MOUSE, K_X2DRAG, K_X2RELEASE, |
3851 K_CURSORHOLD, | 3866 K_CURSORHOLD, |
8356 case K_MIDDLEDRAG: | 8371 case K_MIDDLEDRAG: |
8357 case K_MIDDLERELEASE: | 8372 case K_MIDDLERELEASE: |
8358 case K_LEFTMOUSE: | 8373 case K_LEFTMOUSE: |
8359 case K_LEFTDRAG: | 8374 case K_LEFTDRAG: |
8360 case K_LEFTRELEASE: | 8375 case K_LEFTRELEASE: |
8376 case K_MOUSEMOVE: | |
8361 case K_RIGHTMOUSE: | 8377 case K_RIGHTMOUSE: |
8362 case K_RIGHTDRAG: | 8378 case K_RIGHTDRAG: |
8363 case K_RIGHTRELEASE: | 8379 case K_RIGHTRELEASE: |
8364 case K_X1MOUSE: | 8380 case K_X1MOUSE: |
8365 case K_X1DRAG: | 8381 case K_X1DRAG: |