]> git.sur5r.net Git - i3/i3/commitdiff
Merge branch 'master' into next
authorMichael Stapelberg <michael@stapelberg.de>
Sun, 29 Jan 2012 18:02:48 +0000 (18:02 +0000)
committerMichael Stapelberg <michael@stapelberg.de>
Sun, 29 Jan 2012 18:02:48 +0000 (18:02 +0000)
src/randr.c

index 5cbca9f68050d9ead5e0e8266396a1617c200c8b..ae181a916127066b68b5e81637ce2443c8084771 100644 (file)
@@ -758,7 +758,8 @@ void randr_query_outputs() {
                     DLOG("next = %p\n", next);
                 }
 
-                /* 2: iterate through workspaces and re-assign them */
+                /* 2: iterate through workspaces and re-assign them, fixing the coordinates
+                 * of floating containers as we go */
                 Con *current;
                 Con *old_content = output_get_content(output->con);
                 while (!TAILQ_EMPTY(&(old_content->nodes_head))) {
@@ -767,6 +768,10 @@ void randr_query_outputs() {
                     con_detach(current);
                     DLOG("Re-attaching current = %p / %s\n", current, current->name);
                     con_attach(current, first_content, false);
+                    DLOG("Fixing the coordinates of floating containers\n");
+                    Con *floating_con;
+                    TAILQ_FOREACH(floating_con, &(current->floating_head), floating_windows)
+                        floating_fix_coordinates(floating_con, &(old_content->rect), &(first_content->rect));
                     DLOG("Done, next\n");
                 }
                 DLOG("re-attached all workspaces\n");