From 20fc7681b1764cce5831adb762f503e163d11fdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fernando=20Tarl=C3=A1=20Cardoso=20Lemos?= Date: Sat, 17 Jul 2010 21:40:42 -0300 Subject: [PATCH] Don't draw stacked decors overlapping a fs window. When both a fullscreen window and a floating window existed at the same time, we used to configure stack_win as a sibling of the floating window. Now we first check if a fullscreen window exists so that the decorations are always behind it. --- src/layout.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/layout.c b/src/layout.c index 76343aa0..3c7d2ff4 100644 --- a/src/layout.c +++ b/src/layout.c @@ -454,12 +454,12 @@ void render_container(xcb_connection_t *conn, Container *container) { /* Raise the stack window, but keep it below the first floating client * and below the fullscreen client (if any) */ Client *first_floating = TAILQ_FIRST(&(container->workspace->floating_clients)); - if (first_floating != TAILQ_END(&(container->workspace->floating_clients))) { - mask |= XCB_CONFIG_WINDOW_SIBLING; - values[4] = first_floating->frame; - } else if (container->workspace->fullscreen_client != NULL) { + if (container->workspace->fullscreen_client != NULL) { mask |= XCB_CONFIG_WINDOW_SIBLING; values[4] = container->workspace->fullscreen_client->frame; + } else if (first_floating != TAILQ_END(&(container->workspace->floating_clients))) { + mask |= XCB_CONFIG_WINDOW_SIBLING; + values[4] = first_floating->frame; } xcb_configure_window(conn, stack_win->window, mask, values);