]> git.sur5r.net Git - i3/i3/commitdiff
Bugfix: update root geometry on output changes for “fullscreen global” (Thanks kaersten)
authorMichael Stapelberg <michael@stapelberg.de>
Fri, 30 Aug 2013 17:59:57 +0000 (19:59 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Fri, 30 Aug 2013 17:59:57 +0000 (19:59 +0200)
fixes #1064

src/handlers.c

index 36c83399ed554fa8dcbcd72bc869d09da4b4ca90..931e863456ab07bd9a1d917fb9031262a02a9f98 100644 (file)
@@ -423,6 +423,19 @@ int handle_configure_event(void *prophs, xcb_connection_t *conn, xcb_configure_n
 static void handle_screen_change(xcb_generic_event_t *e) {
     DLOG("RandR screen change\n");
 
+    /* The geometry of the root window is used for “fullscreen global” and
+     * changes when new outputs are added. */
+    xcb_get_geometry_cookie_t cookie = xcb_get_geometry(conn, root);
+    xcb_get_geometry_reply_t *reply = xcb_get_geometry_reply(conn, cookie, NULL);
+    if (reply == NULL) {
+        ELOG("Could not get geometry of the root window, exiting\n");
+        exit(1);
+    }
+    DLOG("root geometry reply: (%d, %d) %d x %d\n", reply->x, reply->y, reply->width, reply->height);
+
+    croot->rect.width = reply->width;
+    croot->rect.height = reply->height;
+
     randr_query_outputs();
 
     scratchpad_fix_resolution();