From e4076aaf30c6eb0c6680a5a467514abb5047da6f Mon Sep 17 00:00:00 2001 From: Furkan Sahin Date: Wed, 21 May 2025 20:31:46 -0500 Subject: transaction: fix floating fullscreen containers 7462d62 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 --- sway/desktop/transaction.c | 4 ++-- 1 file 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); -- cgit v1.2.3