tRelase pointer on mouse release - glazier - window management experiments
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) Submodules
(DIR) README
(DIR) LICENSE
---
(DIR) commit 174def5f1dc0771a99ad5af8f8cb2baff2062b92
(DIR) parent 45a966a1559ea5c24b85b9a988e70f9e21eb5ca6
(HTM) Author: Willy Goiffon <dev@z3bra.org>
Date: Sat, 19 Oct 2019 00:07:51 +0200
Relase pointer on mouse release
Diffstat:
M glazier.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
---
(DIR) diff --git a/glazier.c b/glazier.c
t@@ -91,7 +91,10 @@ cb_mouse_press(xcb_generic_event_t *ev)
}
/* grab pointer and watch motion events */
- c = xcb_grab_pointer(conn, 0, scrn->root, XCB_EVENT_MASK_BUTTON_MOTION,
+ c = xcb_grab_pointer(conn, 0, scrn->root,
+ XCB_EVENT_MASK_BUTTON_PRESS |
+ XCB_EVENT_MASK_BUTTON_RELEASE |
+ XCB_EVENT_MASK_BUTTON_MOTION,
XCB_GRAB_MODE_ASYNC, XCB_GRAB_MODE_ASYNC,
XCB_NONE, p, XCB_CURRENT_TIME);
t@@ -109,11 +112,17 @@ cb_mouse_press(xcb_generic_event_t *ev)
static int
cb_mouse_release(xcb_generic_event_t *ev)
{
+ xcb_cursor_t p;
+ xcb_cursor_context_t *cx;
+ xcb_grab_pointer_cookie_t c;
+ xcb_grab_pointer_reply_t *r;
xcb_button_release_event_t *e;
e = (xcb_button_release_event_t *)ev;
if (verbose)
fprintf(stderr, "mouse_release: 0x%08x\n", e->child);
+
+ xcb_ungrab_pointer(conn, XCB_CURRENT_TIME);
return 0;
}