]> git.sur5r.net Git - i3/i3/commitdiff
i3-config-wizard: handle mouse button clicks on <win> and <alt>
authorMichael Stapelberg <michael@stapelberg.de>
Thu, 25 Aug 2011 23:19:46 +0000 (01:19 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Thu, 25 Aug 2011 23:19:46 +0000 (01:19 +0200)
i3-config-wizard/main.c
i3-config-wizard/xcb.c

index d3a26721d20329c427b8994d02ba6548474dea29..2880ed85038fab4fae75ba97c752fad3565880ca 100644 (file)
@@ -281,6 +281,29 @@ static int handle_key_press(void *ignored, xcb_connection_t *conn, xcb_key_press
     return 1;
 }
 
+/*
+ * Handle button presses to make clicking on "<win>" and "<alt>" work
+ *
+ */
+static void handle_button_press(xcb_button_press_event_t* event) {
+    if (current_step != STEP_GENERATE)
+        return;
+
+    if (event->event_x >= 32 && event->event_x <= 68 &&
+        event->event_y >= 45 && event->event_y <= 54) {
+        modifier = MOD_SUPER;
+        handle_expose();
+    }
+
+    if (event->event_x >= 32 && event->event_x <= 68 &&
+        event->event_y >= 56 && event->event_y <= 70) {
+        modifier = MOD_ALT;
+        handle_expose();
+    }
+
+    return;
+}
+
 /*
  * Creates the config file and tells i3 to reload.
  *
@@ -534,6 +557,10 @@ int main(int argc, char *argv[]) {
 
             /* TODO: handle mappingnotify */
 
+            case XCB_BUTTON_PRESS:
+                handle_button_press((xcb_button_press_event_t*)event);
+                break;
+
             case XCB_EXPOSE:
                 handle_expose();
                 break;
index d1753d18cb4d2df390ef6ff3fbbbb287b628f1a5..461dfd529b7dbbe3bd731dd21b94bd8205684746 100644 (file)
@@ -110,7 +110,8 @@ xcb_window_t open_input_window(xcb_connection_t *conn, uint32_t width, uint32_t
         values[0] = 0;
 
        mask |= XCB_CW_EVENT_MASK;
-       values[1] = XCB_EVENT_MASK_EXPOSURE;
+       values[1] = XCB_EVENT_MASK_EXPOSURE |
+                    XCB_EVENT_MASK_BUTTON_PRESS;
 
         xcb_create_window(conn,
                           XCB_COPY_FROM_PARENT,