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.
This commit is contained in:
parent
ff64b0db59
commit
9c5a8d606c
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue