[PATCH] Honor bypass_keystate with MotionNotify events

Daniel Hahler genml+rxvt-unicode at thequod.de
Sat Jul 11 16:44:22 CEST 2015


From: Daniel Hahler <git at thequod.de>

Without this shifted mouse-dragging would be reported to the app (via
1002 in DECSET).
This makes Neovim start visual selection for example.

Fixes https://github.com/neovim/neovim/issues/2520.
---
 src/command.C | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/command.C b/src/command.C
index 24366cc..c3c60be 100644
--- a/src/command.C
+++ b/src/command.C
@@ -1614,8 +1614,9 @@ rxvt_term::x_cb (XEvent &ev)
         if (hidden_pointer)
           pointer_unblank ();
 #endif
-        if ((priv_modes & PrivMode_MouseBtnEvent && ev.xbutton.state & (Button1Mask|Button2Mask|Button3Mask))
-            || priv_modes & PrivMode_MouseAnyEvent)
+        if (!bypass_keystate
+            && ((priv_modes & PrivMode_MouseBtnEvent && ev.xbutton.state & (Button1Mask|Button2Mask|Button3Mask))
+                || priv_modes & PrivMode_MouseAnyEvent))
           mouse_report (ev.xbutton);
         if ((priv_modes & PrivMode_mouse_report) && !bypass_keystate)
           break;
-- 
2.4.3.dirty




More information about the rxvt-unicode mailing list