]> git.sur5r.net Git - i3/i3/commitdiff
Bugfix: Don’t allow ConfigureRequests while in fullscreen (Thanks Piotr)
authorMichael Stapelberg <michael@stapelberg.de>
Tue, 4 Sep 2012 18:21:07 +0000 (20:21 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Tue, 4 Sep 2012 18:21:07 +0000 (20:21 +0200)
This fixes a compatibility issue with gnome-terminal and xfce’s
terminal, where fullscreening would lead to moving the window and not
displaying the contents properly.

fixes #788

src/handlers.c

index cb76eb788d99b328f67a194bf4cc34ad72cf2ee7..d63a4e5c873684df28286dea79f31b99de278a84 100644 (file)
@@ -374,7 +374,19 @@ static void handle_configure_request(xcb_configure_request_event_t *event) {
     }
 
     DLOG("Configure request!\n");
-    if (con_is_floating(con) && con_is_leaf(con)) {
+
+    Con *workspace = con_get_workspace(con),
+        *fullscreen = NULL;
+
+    /* There might not be a corresponding workspace for dock cons, therefore we
+     * have to be careful here. */
+    if (workspace) {
+        fullscreen = con_get_fullscreen_con(workspace, CF_OUTPUT);
+        if (!fullscreen)
+            fullscreen = con_get_fullscreen_con(workspace, CF_GLOBAL);
+    }
+
+    if (fullscreen != con && con_is_floating(con) && con_is_leaf(con)) {
         /* find the height for the decorations */
         int deco_height = config.font.height + 5;
         /* we actually need to apply the size/position changes to the *parent*