* Grab the specified buttons on a window when managing it.
*
*/
-void xcb_grab_buttons(xcb_connection_t *conn, xcb_window_t window, bool bind_scrollwheel) {
- uint8_t buttons[3];
- int num = 0;
-
- if (bind_scrollwheel) {
- buttons[num++] = XCB_BUTTON_INDEX_ANY;
- } else {
- buttons[num++] = XCB_BUTTON_INDEX_1;
- buttons[num++] = XCB_BUTTON_INDEX_2;
- buttons[num++] = XCB_BUTTON_INDEX_3;
- }
-
- for (int i = 0; i < num; i++) {
+void xcb_grab_buttons(xcb_connection_t *conn, xcb_window_t window, int *buttons) {
+ int i = 0;
+ while (buttons[i] > 0) {
xcb_grab_button(conn, false, window, XCB_EVENT_MASK_BUTTON_PRESS, XCB_GRAB_MODE_SYNC,
XCB_GRAB_MODE_ASYNC, root, XCB_NONE, buttons[i], XCB_BUTTON_MASK_ANY);
+
+ i++;
}
}