summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFurkan Sahin <furkan-dev@proton.me>2025-05-21 20:31:46 -0500
committerFurkan Sahin <furkan-dev@proton.me>2025-05-21 20:31:46 -0500
commitf7619563af7201e9e72644cd91ce1aece4f53d27 (patch)
tree5d62fc0858a49e6014ee3c61ecd95ef61c9e794b
parent7416b643637e05f77110aa98155c9721a5353c64 (diff)
transaction: fix floating fullscreen containers
8fecf3a introduced a regression where fullscreening a child of a floating container would result in a black screen. This is because the order of 'arrange_fullscreen' and 'arrange_worksplace_floating' was swapped causing the fullscreen container's scene to get reparented after it was parented in the fullscreen layer. Fixes #8729
-rw-r--r--sway/desktop/transaction.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sway/desktop/transaction.c b/sway/desktop/transaction.c
index 7ec9b68d..325a3022 100644
--- a/sway/desktop/transaction.c
+++ b/sway/desktop/transaction.c
@@ -596,6 +596,7 @@ static void arrange_output(struct sway_output *output, int width, int height) {
wlr_scene_rect_set_size(output->fullscreen_background, width, height);
+ arrange_workspace_floating(child);
arrange_fullscreen(child->layers.fullscreen, fs, child,
width, height);
} else {
@@ -608,9 +609,8 @@ static void arrange_output(struct sway_output *output, int width, int height) {
arrange_workspace_tiling(child,
area->width - gaps->left - gaps->right,
area->height - gaps->top - gaps->bottom);
+ arrange_workspace_floating(child);
}
-
- arrange_workspace_floating(child);
} else {
wlr_scene_node_set_enabled(&child->layers.tiling->node, false);
wlr_scene_node_set_enabled(&child->layers.fullscreen->node, false);