Bugfix: Make sure floating clients are alwalys above tiling clients (Thanks Mirko)

This commit is contained in:
Michael Stapelberg
2009-06-19 22:57:19 +02:00
parent 589a73c8ea
commit 5c0496a3ef
2 changed files with 10 additions and 6 deletions

View File

@ -374,12 +374,8 @@ void reparent_window(xcb_connection_t *conn, xcb_window_t child,
SLIST_INSERT_HEAD(&(new->container->workspace->focus_stack), new, focus_clients);
/* Ensure that it is below all floating clients */
Client *first_floating;
SLIST_FOREACH(first_floating, &(new->container->workspace->focus_stack), focus_clients)
if (first_floating->floating >= FLOATING_AUTO_ON)
break;
if (first_floating != SLIST_END(&(new->container->workspace->focus_stack))) {
Client *first_floating = TAILQ_FIRST(&(new->workspace->floating_clients));
if (first_floating != TAILQ_END(&(new->workspace->floating_clients))) {
LOG("Setting below floating\n");
uint32_t values[] = { first_floating->frame, XCB_STACK_MODE_BELOW };
xcb_configure_window(conn, new->frame, XCB_CONFIG_WINDOW_SIBLING | XCB_CONFIG_WINDOW_STACK_MODE, values);