@ -586,11 +586,19 @@ static struct sway_container *get_swayc_in_output_direction(
if ( ws - > children - > length > 0 ) {
if ( ws - > children - > length > 0 ) {
switch ( dir ) {
switch ( dir ) {
case MOVE_LEFT :
case MOVE_LEFT :
// get most right child of new output
if ( ws - > layout = = L_HORIZ | | ws - > layout = = L_TABBED ) {
return ws - > children - > items [ ws - > children - > length - 1 ] ;
// get most right child of new output
return ws - > children - > items [ ws - > children - > length - 1 ] ;
} else {
return seat_get_focus_inactive ( seat , ws ) ;
}
case MOVE_RIGHT :
case MOVE_RIGHT :
// get most left child of new output
if ( ws - > layout = = L_HORIZ | | ws - > layout = = L_TABBED ) {
return ws - > children - > items [ 0 ] ;
// get most left child of new output
return ws - > children - > items [ 0 ] ;
} else {
return seat_get_focus_inactive ( seat , ws ) ;
}
case MOVE_UP :
case MOVE_UP :
case MOVE_DOWN : {
case MOVE_DOWN : {
struct sway_container * focused =
struct sway_container * focused =