From 3a888163a03e8fb6fbe91bfe8e2fe4f3d2f03cec Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Fri, 17 Aug 2018 17:32:53 +1000 Subject: Refactor seat_get_focus functions Fixes #2467. This commit introduces seat_get_focus_inactive_floating to supplement seat_get_focus_inactive_tiling, and uses it during `focus mode_toggle` which fixes a focus bug. This also refactors the seat_get_focus_inactive functions so that they do their selection logic themselves rather than offloading it to seat_get_focus_by_type which was getting bloated. seat_get_focus_by_type is now removed. Lastly, this commit changes seat_get_focus to just return the first container in the focus stack rather than looping and calling seat_get_focus_by_type. --- include/sway/input/seat.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'include') diff --git a/include/sway/input/seat.h b/include/sway/input/seat.h index eb4202f3..9dfb0714 100644 --- a/include/sway/input/seat.h +++ b/include/sway/input/seat.h @@ -166,6 +166,9 @@ void seat_begin_resize_floating(struct sway_seat *seat, void seat_begin_resize_tiling(struct sway_seat *seat, struct sway_container *con, uint32_t button, enum wlr_edges edge); +struct sway_container *seat_get_focus_inactive_floating(struct sway_seat *seat, + struct sway_container *container); + void seat_end_mouse_operation(struct sway_seat *seat); void seat_pointer_notify_button(struct sway_seat *seat, uint32_t time_msec, -- cgit v1.2.3-54-g00ecf