diff options
Diffstat (limited to 'sway/input/seat.c')
-rw-r--r-- | sway/input/seat.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sway/input/seat.c b/sway/input/seat.c index 5dadb31d..bf4e8876 100644 --- a/sway/input/seat.c +++ b/sway/input/seat.c | |||
@@ -666,6 +666,14 @@ void seat_set_focus_warp(struct sway_seat *seat, | |||
666 | container_damage_whole(container->parent); | 666 | container_damage_whole(container->parent); |
667 | } | 667 | } |
668 | 668 | ||
669 | // If we've focused a floating container, bring it to the front. | ||
670 | // We do this by putting it at the end of the floating list. | ||
671 | // This must happen for both the pending and current children lists. | ||
672 | if (container_is_floating(container)) { | ||
673 | list_move_to_end(container->parent->children, container); | ||
674 | list_move_to_end(container->parent->current.children, container); | ||
675 | } | ||
676 | |||
669 | // clean up unfocused empty workspace on new output | 677 | // clean up unfocused empty workspace on new output |
670 | if (new_output_last_ws) { | 678 | if (new_output_last_ws) { |
671 | if (!workspace_is_visible(new_output_last_ws) | 679 | if (!workspace_is_visible(new_output_last_ws) |