From ed44add1252c763f5ff6a3adf64910849c1d9924 Mon Sep 17 00:00:00 2001 From: John Lindgren Date: Mon, 24 Nov 2025 12:00:34 -0500 Subject: [PATCH] xwayland: hide content tree at re-map if shaded --- src/view.c | 6 +++++- src/xwayland.c | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/view.c b/src/view.c index 8940f5ea..643ae145 100644 --- a/src/view.c +++ b/src/view.c @@ -2518,7 +2518,11 @@ view_set_shade(struct view *view, bool shaded) view->shaded = shaded; ssd_enable_shade(view->ssd, view->shaded); - /* An unmapped view may not have a content tree */ + /* + * An unmapped view may not have a content tree. When the view + * is mapped again, the new content tree will be hidden by the + * map handler, if the view is still shaded at that point. + */ if (view->content_tree) { wlr_scene_node_set_enabled(&view->content_tree->node, !view->shaded); diff --git a/src/xwayland.c b/src/xwayland.c index 5600e8d2..efd8d8be 100644 --- a/src/xwayland.c +++ b/src/xwayland.c @@ -816,6 +816,8 @@ handle_map(struct wl_listener *listener, void *data) } } + wlr_scene_node_set_enabled(&view->content_tree->node, !view->shaded); + if (!view->been_mapped) { check_natural_geometry(view); set_initial_position(view, xwayland_surface);