Merge pull request #1722 from Airblader/bug-1701
Grab all buttons when managing a window
This commit is contained in:
commit
8029ff09d7
|
@ -349,8 +349,8 @@ done:
|
||||||
*/
|
*/
|
||||||
int handle_button_press(xcb_button_press_event_t *event) {
|
int handle_button_press(xcb_button_press_event_t *event) {
|
||||||
Con *con;
|
Con *con;
|
||||||
DLOG("Button %d %s on window 0x%08x (child 0x%08x) at (%d, %d) (root %d, %d)\n",
|
DLOG("Button %d (state %d) %s on window 0x%08x (child 0x%08x) at (%d, %d) (root %d, %d)\n",
|
||||||
event->state, (event->response_type == XCB_BUTTON_PRESS ? "press" : "release"),
|
event->detail, event->state, (event->response_type == XCB_BUTTON_PRESS ? "press" : "release"),
|
||||||
event->event, event->child, event->event_x, event->event_y, event->root_x,
|
event->event, event->child, event->event_x, event->event_y, event->root_x,
|
||||||
event->root_y);
|
event->root_y);
|
||||||
|
|
||||||
|
|
15
src/manage.c
15
src/manage.c
|
@ -168,20 +168,11 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki
|
||||||
cwindow->id = window;
|
cwindow->id = window;
|
||||||
cwindow->depth = get_visual_depth(attr->visual);
|
cwindow->depth = get_visual_depth(attr->visual);
|
||||||
|
|
||||||
/* We need to grab the mouse buttons for click to focus */
|
/* We need to grab buttons 1-3 for click-to-focus and buttons 1-5
|
||||||
|
* to allow for mouse bindings using --whole-window to work correctly. */
|
||||||
xcb_grab_button(conn, false, window, XCB_EVENT_MASK_BUTTON_PRESS,
|
xcb_grab_button(conn, false, window, XCB_EVENT_MASK_BUTTON_PRESS,
|
||||||
XCB_GRAB_MODE_SYNC, XCB_GRAB_MODE_ASYNC, root, XCB_NONE,
|
XCB_GRAB_MODE_SYNC, XCB_GRAB_MODE_ASYNC, root, XCB_NONE,
|
||||||
1 /* left mouse button */,
|
XCB_BUTTON_INDEX_ANY,
|
||||||
XCB_BUTTON_MASK_ANY /* don’t filter for any modifiers */);
|
|
||||||
|
|
||||||
xcb_grab_button(conn, false, window, XCB_EVENT_MASK_BUTTON_PRESS,
|
|
||||||
XCB_GRAB_MODE_SYNC, XCB_GRAB_MODE_ASYNC, root, XCB_NONE,
|
|
||||||
2 /* middle mouse button */,
|
|
||||||
XCB_BUTTON_MASK_ANY /* don’t filter for any modifiers */);
|
|
||||||
|
|
||||||
xcb_grab_button(conn, false, window, XCB_EVENT_MASK_BUTTON_PRESS,
|
|
||||||
XCB_GRAB_MODE_SYNC, XCB_GRAB_MODE_ASYNC, root, XCB_NONE,
|
|
||||||
3 /* right mouse button */,
|
|
||||||
XCB_BUTTON_MASK_ANY /* don’t filter for any modifiers */);
|
XCB_BUTTON_MASK_ANY /* don’t filter for any modifiers */);
|
||||||
|
|
||||||
/* update as much information as possible so far (some replies may be NULL) */
|
/* update as much information as possible so far (some replies may be NULL) */
|
||||||
|
|
Loading…
Reference in New Issue