Con *parent = con->parent;
if (con->type == CT_FLOATING_CON) {
+ if (orientation != HORIZ)
+ return false;
+
/* left/right focuses the previous/next floating container */
- if (orientation == HORIZ) {
- Con *next;
+ 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_NEXT(con, floating_windows);
+ next = TAILQ_FIRST(&(parent->floating_head));
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;
+ next = TAILQ_LAST(&(parent->floating_head), floating_head);
+ }
- con_focus(con_descend_focused(next));
- return true;
- } else {
- /* up/down cycles through the Z-index */
- /* TODO: implement cycling through the z-index */
+ /* 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