diff --git a/src/tree.c b/src/tree.c index bbd5e6a4..6e289790 100644 --- a/src/tree.c +++ b/src/tree.c @@ -599,33 +599,30 @@ static bool _tree_next(Con *con, char way, orientation_t orientation, bool wrap) Con *parent = con->parent; if (con->type == CT_FLOATING_CON) { - /* left/right focuses the previous/next floating container */ - if (orientation == HORIZ) { - Con *next; - if (way == 'n') - next = TAILQ_NEXT(con, floating_windows); - else - next = TAILQ_PREV(con, floating_head, floating_windows); - - /* If there is no next/previous container, wrap */ - if (!next) { - if (way == 'n') - next = TAILQ_FIRST(&(parent->floating_head)); - else - next = TAILQ_LAST(&(parent->floating_head), floating_head); - } - - /* Still no next/previous container? bail out */ - if (!next) - return false; - - con_focus(con_descend_focused(next)); - return true; - } else { - /* up/down cycles through the Z-index */ - /* TODO: implement cycling through the z-index */ + if (orientation != HORIZ) return false; + + /* left/right focuses the previous/next floating container */ + Con *next; + if (way == 'n') + next = TAILQ_NEXT(con, floating_windows); + else + next = TAILQ_PREV(con, floating_head, floating_windows); + + /* If there is no next/previous container, wrap */ + if (!next) { + if (way == 'n') + next = TAILQ_FIRST(&(parent->floating_head)); + else + next = TAILQ_LAST(&(parent->floating_head), floating_head); } + + /* Still no next/previous container? bail out */ + if (!next) + return false; + + con_focus(con_descend_focused(next)); + return true; } /* If the orientation does not match or there is no other con to focus, we