]> git.mdlowis.com Git - proto/labwc.git/commitdiff
menu: put menu_tree above overlay layer
authorJohan Malm <jgm323@gmail.com>
Mon, 1 Jul 2024 20:47:19 +0000 (21:47 +0100)
committerHiroaki Yamamoto <hrak1529@gmail.com>
Thu, 19 Dec 2024 07:01:31 +0000 (16:01 +0900)
src/output.c
src/server.c

index e217a8a3c84530de1557fc4ab4f680c3eccdddb1..7de1c010aa9a54095562e8ac0186ebfdf673bffe 100644 (file)
@@ -459,6 +459,7 @@ new_output_notify(struct wl_listener *listener, void *data)
         * Set the z-positions to achieve the following order (from top to
         * bottom):
         *      - session lock layer
+        *      - compositor menu
         *      - layer-shell popups
         *      - overlay layer
         *      - top layer
@@ -471,6 +472,7 @@ new_output_notify(struct wl_listener *listener, void *data)
        wlr_scene_node_raise_to_top(&output->layer_tree[2]->node);
        wlr_scene_node_raise_to_top(&output->layer_tree[3]->node);
        wlr_scene_node_raise_to_top(&output->layer_popup_tree->node);
+       wlr_scene_node_raise_to_top(&server->menu_tree->node);
        wlr_scene_node_raise_to_top(&output->session_lock_tree->node);
 
        configure_new_output(server, output);
index 3ff19c45809554c4e65dae21e73236f0093c2228..69015d4e0e4c6d17c35857599b94396e4aa13fa1 100644 (file)
@@ -556,6 +556,7 @@ server_init(struct server *server)
         * | Type              | Scene Tree       | Per Output | Example
         * | ----------------- | ---------------- | ---------- | -------
         * | ext-session       | lock-screen      | Yes        | swaylock
+        * | compositor-menu   | menu_tree        | No         | root-menu
         * | layer-shell       | layer-popups     | Yes        |
         * | layer-shell       | overlay-layer    | Yes        |
         * | layer-shell       | top-layer        | Yes        | waybar
@@ -576,6 +577,11 @@ server_init(struct server *server)
 #if HAVE_XWAYLAND
        server->unmanaged_tree = wlr_scene_tree_create(&server->scene->tree);
 #endif
+
+       /*
+        * menu_tree is moved to top in new_output_notify() when layer-shell
+        * layers are positioned
+        */
        server->menu_tree = wlr_scene_tree_create(&server->scene->tree);
 
        workspaces_init(server);