From 0aed552bae7a468ecff2972add7100bd13189df1 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Tue, 23 Jun 2009 23:17:06 +0200 Subject: [PATCH] Bugfix: Remove/add floating clients to workspace->floating_clients when moving to other workspaces --- src/commands.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/commands.c b/src/commands.c index 084a388e..8b088793 100644 --- a/src/commands.c +++ b/src/commands.c @@ -452,15 +452,17 @@ static void move_floating_window_to_workspace(xcb_connection_t *conn, Client *cl } } - /* Remove from focus stack */ + /* Remove from focus stack and list of floating clients */ SLIST_REMOVE(&(client->workspace->focus_stack), client, Client, focus_clients); + TAILQ_REMOVE(&(client->workspace->floating_clients), client, floating_clients); if (client->workspace->fullscreen_client == client) client->workspace->fullscreen_client = NULL; - /* Insert into destination focus stack */ + /* Insert into destination focus stack and list of floating clients */ client->workspace = t_ws; SLIST_INSERT_HEAD(&(t_ws->focus_stack), client, focus_clients); + TAILQ_INSERT_TAIL(&(t_ws->floating_clients), client, floating_clients); if (client->fullscreen) t_ws->fullscreen_client = client;