]> git.sur5r.net Git - i3/i3/commitdiff
Bugfix: Cleanup the table after putting clients into floating mode
authorMichael Stapelberg <michael@stapelberg.de>
Tue, 26 May 2009 15:16:51 +0000 (17:16 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Tue, 26 May 2009 15:16:51 +0000 (17:16 +0200)
src/commands.c

index 20a8bd05764153c27e100e377b25e72a4b15ae98..ee2f6e61ee5f75c324a51faa06a4232765eb8e15 100644 (file)
@@ -262,7 +262,8 @@ static void move_current_window(xcb_connection_t *conn, direction_t direction) {
         /* Fix colspan/rowspan if it’d overlap */
         fix_colrowspan(conn, workspace);
 
-        render_layout(conn);
+        render_workspace(conn, workspace->screen, workspace);
+        xcb_flush(conn);
 
         set_focus(conn, current_client, true);
 }
@@ -847,6 +848,14 @@ void parse_command(xcb_connection_t *conn, const char *command) {
                 }
 
                 toggle_floating_mode(conn, last_focused);
+                /* delete all empty columns/rows */
+                cleanup_table(conn, last_focused->workspace);
+
+                /* Fix colspan/rowspan if it’d overlap */
+                fix_colrowspan(conn, last_focused->workspace);
+
+                render_workspace(conn, last_focused->workspace->screen, last_focused->workspace);
+                xcb_flush(conn);
                 return;
         }