From: Fernando Tarlá Cardoso Lemos Date: Sun, 18 Jul 2010 00:40:42 +0000 (-0300) Subject: Don't draw stacked decors overlapping a fs window. X-Git-Tag: 3.e-bf2~26 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=20fc7681b1764cce5831adb762f503e163d11fdb;p=i3%2Fi3 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. --- 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);