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: