Don't rejigger if parent has two children

This commit is contained in:
emersion 2018-04-06 18:10:02 -04:00
parent 37b173f326
commit 93ca8919f6
No known key found for this signature in database
GPG Key ID: 0FDE7BE0E88F5E48
1 changed files with 8 additions and 2 deletions

View File

@ -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 {