diff options
Diffstat (limited to 'sway')
-rw-r--r-- | sway/tree/layout.c | 12 |
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) { |