From 8cffde232f84d4c7beade44afc5be66ee6e46eaf Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fernando=20Tarl=C3=A1=20Cardoso=20Lemos?= Date: Fri, 27 Jan 2012 23:47:59 -0200 Subject: [PATCH] Don't migrate unfocused empty workspaces when disabling output. This is more similar to what happens when you close the last client of an unfocused workspace (the workspace gets reaped). --- src/randr.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/randr.c b/src/randr.c index ae181a91..5f1dad52 100644 --- a/src/randr.c +++ b/src/randr.c @@ -764,6 +764,12 @@ void randr_query_outputs() { Con *old_content = output_get_content(output->con); while (!TAILQ_EMPTY(&(old_content->nodes_head))) { current = TAILQ_FIRST(&(old_content->nodes_head)); + if (current != next && TAILQ_EMPTY(&(current->focus_head))) { + /* the workspace is empty and not focused, get rid of it */ + DLOG("Getting rid of current = %p / %s (empty, unfocused)\n", current, current->name); + tree_close(current, DONT_KILL_WINDOW, false, false); + continue; + } DLOG("Detaching current = %p / %s\n", current, current->name); con_detach(current); DLOG("Re-attaching current = %p / %s\n", current, current->name); -- 2.39.5