xdg-popup: render above always-on-top

This commit is contained in:
Johan Malm 2023-05-20 08:58:42 +01:00 committed by Johan Malm
parent f2c3f83041
commit 78aec7945c
3 changed files with 42 additions and 2 deletions

View file

@ -285,8 +285,31 @@ server_init(struct server *server)
wlr_log(WLR_ERROR, "unable to create scene");
exit(EXIT_FAILURE);
}
/*
* The order in which the scene-trees below are created determines the
* z-order for nodes which cover the whole work-area. For per-output
* scene-trees, see new_output_notify() in src/output.c
*
* | Type | Scene Tree | Per Output | Example
* | ----------------- | ---------------- | ---------- | -------
* | ext-session | lock-screen | Yes | swaylock
* | layer-shell | layer-popups | Yes |
* | layer-shell | overlay-layer | Yes |
* | layer-shell | top-layer | Yes | waybar
* | server | labwc-menus | No |
* | xwayland-OR | unmanaged | No | dmenu
* | xdg-popups | xdg-popups | No |
* | toplevels windows | always-on-top | No |
* | toplevels windows | normal | No | firefox
* | toplevels windows | always-on-bottom | No | pcmanfm-qt --desktop
* | layer-shell | bottom-layer | Yes | waybar
* | layer-shell | background-layer | Yes | swaybg
*/
server->view_tree = wlr_scene_tree_create(&server->scene->tree);
server->view_tree_always_on_top = wlr_scene_tree_create(&server->scene->tree);
server->xdg_popup_tree = wlr_scene_tree_create(&server->scene->tree);
#if HAVE_XWAYLAND
server->unmanaged_tree = wlr_scene_tree_create(&server->scene->tree);
#endif