x: recurse x_push_node in focus order. reduces flickering when switching workspaces

next
Michael Stapelberg 2011-04-01 20:40:32 +02:00
parent 20b1fd4293
commit b644fb5f26
1 changed files with 4 additions and 5 deletions

View File

@ -575,11 +575,10 @@ static void x_push_node(Con *con) {
fake_absolute_configure_notify(con);
}
/* handle all children and floating windows of this node */
TAILQ_FOREACH(current, &(con->nodes_head), nodes)
x_push_node(current);
TAILQ_FOREACH(current, &(con->floating_head), floating_windows)
/* Handle all children and floating windows of this node. We recurse
* in focus order to display the focused client in a stack first when
* switching workspaces (reduces flickering). */
TAILQ_FOREACH(current, &(con->focus_head), focused)
x_push_node(current);
if (con->type != CT_ROOT && con->type != CT_OUTPUT)