]> git.sur5r.net Git - i3/i3/blobdiff - src/xcb.c
Extract function to grab buttons when managing a window.
[i3/i3] / src / xcb.c
index f98115f5c80ce25049e081d9ea303636acc180bd..cafc29ca239d8a816ad860a3dc5b5f03bc098dca 100644 (file)
--- a/src/xcb.c
+++ b/src/xcb.c
@@ -319,3 +319,14 @@ release_grab:
     FREE(reply);
     xcb_ungrab_server(conn);
 }
+
+/*
+ * Grab the specified buttons on a window when managing it.
+ *
+ */
+void xcb_grab_buttons(xcb_connection_t *conn, xcb_window_t window, uint8_t* buttons) {
+    for (int i = 0; i < sizeof(buttons) / sizeof(uint8_t); i++) {
+        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);
+    }
+}