]> git.sur5r.net Git - i3/i3/commitdiff
don’t allow useless splits, change orientation of existing split container instead
authorMichael Stapelberg <michael@stapelberg.de>
Sun, 14 Nov 2010 22:18:39 +0000 (23:18 +0100)
committerMichael Stapelberg <michael@stapelberg.de>
Sun, 14 Nov 2010 22:18:39 +0000 (23:18 +0100)
src/tree.c

index 3f8609231192465de125cc47092ae299c9071d2b..6ba83ea701ae3464c91e0b7a1c1bdebc99343e07 100644 (file)
@@ -240,11 +240,11 @@ void tree_split(Con *con, orientation_t orientation) {
 
     Con *parent = con->parent;
     /* if we are in a container whose parent contains only one
-     * child and has the same orientation like we are trying to
-     * set, this operation is a no-op to not confuse the user */
-    if (con_orientation(parent) == orientation &&
-        TAILQ_NEXT(con, nodes) == TAILQ_END(&(parent->nodes_head))) {
-        DLOG("Not splitting the same way again\n");
+     * child (its split functionality is unused so far), we just change the
+     * orientation (more intuitive than splitting again) */
+    if (con_num_children(parent) == 1) {
+        parent->orientation = orientation;
+        DLOG("Just changing orientation of existing container\n");
         return;
     }