]> git.mdlowis.com Git - proto/labwc.git/commitdiff
osd: prevent preview outlines to be above OSD
authortokyo4j <hrak1529@gmail.com>
Mon, 6 Jan 2025 18:42:22 +0000 (03:42 +0900)
committerJohan Malm <johanmalm@users.noreply.github.com>
Mon, 6 Jan 2025 21:02:22 +0000 (21:02 +0000)
86c3597 raised server->menu_tree above layer shell surfaces, but it caused
preview outlines for window switcher to be placed above the OSD because
the preview outlines are placed just above server->menu_tree.

So this commit fixes it by placing server->osd_tree above server->menu.
This also prevents layer-shell surfaces from covering the OSD.

Before (higher-first):
- preview outlines (just above menu)
- menu
- layer-shell (top/overlay/popup)
- osd

After (higher-first):
- osd
- preview outlines (just above menu)
- menu
- layer-shell (top/overlay/popup)

src/output.c
src/server.c

index 02a626a331c9c1ce93e19722a269eb24a5c448a9..595fcb4dc5d5fa71f7e020fac9159bbf5039bd0b 100644 (file)
@@ -511,6 +511,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
+        *      - window switcher osd
         *      - compositor menu
         *      - layer-shell popups
         *      - overlay layer
@@ -525,6 +526,7 @@ new_output_notify(struct wl_listener *listener, void *data)
        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->osd_tree->node);
        wlr_scene_node_raise_to_top(&output->session_lock_tree->node);
 
        if (rc.auto_enable_outputs) {
index 03ec75223ff22352cd37a9e1840f6d2daea7b81f..e4cf22000b953cdd3ddd31fb90e9f9d4168eae24 100644 (file)
@@ -561,6 +561,7 @@ server_init(struct server *server)
         * | Type              | Scene Tree       | Per Output | Example
         * | ----------------- | ---------------- | ---------- | -------
         * | ext-session       | lock-screen      | Yes        | swaylock
+        * | osd               | osd_tree         | Yes        |
         * | compositor-menu   | menu_tree        | No         | root-menu
         * | layer-shell       | layer-popups     | Yes        |
         * | layer-shell       | overlay-layer    | Yes        |