transaction: Ensure all tabs are visible in tabbed mode

Before this commit when a child of a tabbed or stacking container was
taken out of fullscreen and a different sibling was focused in the same
transaction, the titlebar of the previously fullscreen container would
remain hidden. This commit makes sure that scene tree for decorations is
enabled for all containers within a tabbed or stacking container when it
is arranged.

(cherry picked from commit 4ab411cab0)
This commit is contained in:
alex-huff 2025-05-04 17:41:44 -05:00 committed by Simon Ser
parent 6db0dd5abf
commit 05ffe545ea

View file

@ -309,6 +309,7 @@ static void arrange_children(enum sway_container_layout layout, list_t *children
arrange_title_bar(child, title_offset, -title_bar_height,
next_title_offset - title_offset, title_bar_height);
wlr_scene_node_set_enabled(&child->border.tree->node, activated);
wlr_scene_node_set_enabled(&child->scene_tree->node, true);
wlr_scene_node_set_position(&child->scene_tree->node, 0, title_bar_height);
wlr_scene_node_reparent(&child->scene_tree->node, content);
@ -338,6 +339,7 @@ static void arrange_children(enum sway_container_layout layout, list_t *children
arrange_title_bar(child, 0, y - title_height, width, title_bar_height);
wlr_scene_node_set_enabled(&child->border.tree->node, activated);
wlr_scene_node_set_enabled(&child->scene_tree->node, true);
wlr_scene_node_set_position(&child->scene_tree->node, 0, title_height);
wlr_scene_node_reparent(&child->scene_tree->node, content);