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).
This commit is contained in:
Fernando Tarlá Cardoso Lemos 2012-01-27 23:47:59 -02:00 committed by Michael Stapelberg
parent 194f986975
commit 8cffde232f
1 changed files with 6 additions and 0 deletions

View File

@ -764,6 +764,12 @@ void randr_query_outputs() {
Con *old_content = output_get_content(output->con); Con *old_content = output_get_content(output->con);
while (!TAILQ_EMPTY(&(old_content->nodes_head))) { while (!TAILQ_EMPTY(&(old_content->nodes_head))) {
current = TAILQ_FIRST(&(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); DLOG("Detaching current = %p / %s\n", current, current->name);
con_detach(current); con_detach(current);
DLOG("Re-attaching current = %p / %s\n", current, current->name); DLOG("Re-attaching current = %p / %s\n", current, current->name);