commit 93ca8919f63c7022779c9780a24478559e7e47af
parent 37b173f326d89a43812dfab5846a3f04400ff94a
Author: emersion <contact@emersion.fr>
Date: Fri, 6 Apr 2018 18:10:02 -0400
Don't rejigger if parent has two children
Diffstat:
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/sway/tree/layout.c b/sway/tree/layout.c
@@ -331,11 +331,17 @@ void container_move(struct sway_container *container,
}
case C_WORKSPACE:
if (!is_parallel(current->layout, move_dir)) {
- if (current->children->length != 1) {
- // Special case
+ if (current->children->length > 2) {
wlr_log(L_DEBUG, "Rejiggering the workspace (%d kiddos)",
current->children->length);
workspace_rejigger(current, container, move_dir);
+ } else if (current->children->length == 2) {
+ wlr_log(L_DEBUG, "Changing workspace layout");
+ container_set_layout(current,
+ move_dir == MOVE_LEFT || move_dir == MOVE_RIGHT ?
+ L_HORIZ : L_VERT);
+ container_insert_child(current, container, offs < 0 ? 0 : 1);
+ arrange_windows(current, -1, -1);
}
return;
} else {