Bugfix: configure floating windows above tiling windows when moving them to another workspaces (Thanks Sasha)
This commit is contained in:
parent
baab5eff6c
commit
d55e4ece83
|
@ -560,6 +560,22 @@ static void move_floating_window_to_workspace(xcb_connection_t *conn, Client *cl
|
||||||
xcb_flush(conn);
|
xcb_flush(conn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Configure the window above all tiling windows (or below a fullscreen
|
||||||
|
* window, if any) */
|
||||||
|
if (t_ws->fullscreen_client != NULL) {
|
||||||
|
uint32_t values[] = { t_ws->fullscreen_client->frame, XCB_STACK_MODE_BELOW };
|
||||||
|
xcb_configure_window(conn, client->frame, XCB_CONFIG_WINDOW_SIBLING | XCB_CONFIG_WINDOW_STACK_MODE, values);
|
||||||
|
} else {
|
||||||
|
Client *last_tiling;
|
||||||
|
SLIST_FOREACH(last_tiling, &(t_ws->focus_stack), focus_clients)
|
||||||
|
if (!client_is_floating(last_tiling))
|
||||||
|
break;
|
||||||
|
if (last_tiling != SLIST_END(&(t_ws->focus_stack))) {
|
||||||
|
uint32_t values[] = { last_tiling->frame, XCB_STACK_MODE_ABOVE };
|
||||||
|
xcb_configure_window(conn, client->frame, XCB_CONFIG_WINDOW_SIBLING | XCB_CONFIG_WINDOW_STACK_MODE, values);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
LOG("done\n");
|
LOG("done\n");
|
||||||
|
|
||||||
render_layout(conn);
|
render_layout(conn);
|
||||||
|
|
Loading…
Reference in New Issue