Only grab scrollwheel buttons if necessary.
With this patch, we only grab the scrollwheel buttons (4 and 5) when managing a window if a whole window key binding exists for these buttons. This allows both of these usecases: - Bindings to scrollwheel buttons using --whole-window (see #1701). - Scrolling in a window without focusing it if no such binding exists (see #2049). Furthermore, we drop all button grabs and regrab them after a config reload in order to reevaluate the new bindings correctly. fixes #2049
This commit is contained in:
@ -168,7 +168,7 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki
|
||||
cwindow->id = window;
|
||||
cwindow->depth = get_visual_depth(attr->visual);
|
||||
|
||||
xcb_grab_buttons(conn, window, (uint8_t[]) {XCB_BUTTON_INDEX_ANY});
|
||||
xcb_grab_buttons(conn, window, bindings_should_grab_scrollwheel_buttons());
|
||||
|
||||
/* update as much information as possible so far (some replies may be NULL) */
|
||||
window_update_class(cwindow, xcb_get_property_reply(conn, class_cookie, NULL), true);
|
||||
|
Reference in New Issue
Block a user