diff options
Diffstat (limited to 'sway')
-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, container_damage_whole(container->parent); } + // If we've focused a floating container, bring it to the front. + // We do this by putting it at the end of the floating list. + // This must happen for both the pending and current children lists. + if (container_is_floating(container)) { + list_move_to_end(container->parent->children, container); + list_move_to_end(container->parent->current.children, container); + } + // clean up unfocused empty workspace on new output if (new_output_last_ws) { if (!workspace_is_visible(new_output_last_ws) |