atoms[i] == A__NET_WM_WINDOW_TYPE_MENU ||
atoms[i] == A__NET_WM_WINDOW_TYPE_DROPDOWN_MENU ||
atoms[i] == A__NET_WM_WINDOW_TYPE_POPUP_MENU ||
- atoms[i] == A__NET_WM_WINDOW_TYPE_TOOLTIP) {
+ atoms[i] == A__NET_WM_WINDOW_TYPE_TOOLTIP ||
+ atoms[i] == A__NET_WM_WINDOW_TYPE_NOTIFICATION) {
return atoms[i];
}
}
* 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++;
}
}