From 472dce662116bb13101e27ecb4b05b803ee21e64 Mon Sep 17 00:00:00 2001 From: Tudor Brindus Date: Wed, 1 Jul 2020 01:08:04 -0400 Subject: commands/move: unwrap workspace container on move to new workspace If moving e.g. `T[app app]` into a new workspace with `workspace_layout tabbed`, then post-move the tree in that workspace will be `T[T[app app]]`. This still happens with horizontal or vertical workspace layout, but is less visible since those containers have no decorations. Fixes #5426. (cherry picked from commit 92891fb1edef5136ae4eb35fec5b8523f031be81) --- sway/commands/move.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'sway/commands/move.c') diff --git a/sway/commands/move.c b/sway/commands/move.c index cdbad13e..5851520e 100644 --- a/sway/commands/move.c +++ b/sway/commands/move.c @@ -208,9 +208,13 @@ static void container_move_to_workspace(struct sway_container *container, } } else { container_detach(container); - container->width = container->height = 0; - container->width_fraction = container->height_fraction = 0; - workspace_add_tiling(workspace, container); + if (workspace_is_empty(workspace) && container->children) { + workspace_unwrap_children(workspace, container); + } else { + container->width = container->height = 0; + container->width_fraction = container->height_fraction = 0; + workspace_add_tiling(workspace, container); + } container_update_representation(container); } if (container->view) { -- cgit v1.2.3-54-g00ecf