From: Fernando Tarlá Cardoso Lemos Date: Sat, 28 Jan 2012 01:47:59 +0000 (-0200) Subject: Don't migrate unfocused empty workspaces when disabling output. X-Git-Tag: 4.2~93 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=8cffde232f84d4c7beade44afc5be66ee6e46eaf;p=i3%2Fi3 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). --- 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);