aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sway/tree/layout.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/sway/tree/layout.c b/sway/tree/layout.c
index f8acdf6c..91759f7b 100644
--- a/sway/tree/layout.c
+++ b/sway/tree/layout.c
@@ -187,9 +187,17 @@ void container_move_to(struct sway_container *container,
container_notify_child_title_changed(old_parent);
container_notify_child_title_changed(new_parent);
if (old_parent) {
- arrange_children_of(old_parent);
+ if (old_parent->type == C_OUTPUT) {
+ arrange_output(old_parent);
+ } else {
+ arrange_children_of(old_parent);
+ }
+ }
+ if (new_parent->type == C_OUTPUT) {
+ arrange_output(new_parent);
+ } else {
+ arrange_children_of(new_parent);
}
- arrange_children_of(new_parent);
// If view was moved to a fullscreen workspace, refocus the fullscreen view
struct sway_container *new_workspace = container;
if (new_workspace->type != C_WORKSPACE) {