]> git.sur5r.net Git - i3/i3/commitdiff
Bugfix: Correctly switch border types for floating windows (Thanks msi)
authorMichael Stapelberg <michael@stapelberg.de>
Fri, 13 Nov 2009 18:55:34 +0000 (19:55 +0100)
committerMichael Stapelberg <michael@stapelberg.de>
Fri, 13 Nov 2009 18:55:54 +0000 (19:55 +0100)
src/client.c

index 215140c2915294a6a2b50d36e15e3481ce595a4a..c0031d7188abdb3fbdd1185e710cbb49f43401a7 100644 (file)
@@ -297,11 +297,16 @@ void client_change_border(xcb_connection_t *conn, Client *client, char border_ty
         /* Ensure that the child’s position inside our window gets updated */
         client->force_reconfigure = true;
 
-        /* For clients inside a container, we can simply render the container.
-         * If the client is floating, we need to render the whole layout */
+        /* For clients inside a container, we can simply render the container */
         if (client->container != NULL)
                 render_container(conn, client->container);
-        else render_layout(conn);
+        else {
+                /* If the client is floating, directly push its size */
+                if (client_is_floating(client))
+                        resize_client(conn, client);
+                /* Otherwise, it may be a dock client, thus render the whole layout */
+                else render_layout(conn);
+        }
 
         redecorate_window(conn, client);
 }