diff options
author | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-10-18 21:20:00 +1000 |
---|---|---|
committer | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-10-20 13:11:43 +1000 |
commit | c006717910e5f30ca65645f701541dfa176c1392 (patch) | |
tree | c64452b7f2fe6ab481ad90c424cb14bcb0328eda /sway/tree/view.c | |
parent | 5b8257b88f703f48466f3b917f1ceaee7c457355 (diff) |
Minor refactor of input manager
The input manager is a singleton object. Passing the sway_input_manager
argument to each of its functions is unnecessary, while removing the
argument makes it obvious to the caller that it's a singleton. This
patch removes the argument and makes the input manager use server.input
instead.
On a similar note:
* sway_input_manager.server is removed in favour of using the server
global.
* seat.input is removed because it can get it from server.input.
Due to a circular dependency, creating seat0 is now done directly in
server_init rather than in input_manager_create. This is because
creating seats must be done after server.input is set.
Lastly, it now stores the default seat name using a constant and removes
a second reference to seat0 (in input_manager_get_default_seat).
Diffstat (limited to 'sway/tree/view.c')
-rw-r--r-- | sway/tree/view.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/sway/tree/view.c b/sway/tree/view.c index 43a9d510..85afbb87 100644 --- a/sway/tree/view.c +++ b/sway/tree/view.c @@ -305,7 +305,7 @@ void view_request_activate(struct sway_view *view) { if (!ws) { // hidden scratchpad container return; } - struct sway_seat *seat = input_manager_current_seat(input_manager); + struct sway_seat *seat = input_manager_current_seat(); switch (config->focus_on_window_activation) { case FOWA_SMART: @@ -443,7 +443,7 @@ void view_execute_criteria(struct sway_view *view) { } static struct sway_workspace *select_workspace(struct sway_view *view) { - struct sway_seat *seat = input_manager_current_seat(input_manager); + struct sway_seat *seat = input_manager_current_seat(); // Check if there's any `assign` criteria for the view list_t *criterias = criteria_for_view(view, @@ -517,7 +517,7 @@ static struct sway_workspace *select_workspace(struct sway_view *view) { } static bool should_focus(struct sway_view *view) { - struct sway_seat *seat = input_manager_current_seat(input_manager); + struct sway_seat *seat = input_manager_current_seat(); struct sway_container *prev_con = seat_get_focused_container(seat); struct sway_workspace *prev_ws = seat_get_focused_workspace(seat); struct sway_workspace *map_ws = view->container->workspace; @@ -551,7 +551,7 @@ void view_map(struct sway_view *view, struct wlr_surface *wlr_surface, } view->surface = wlr_surface; - struct sway_seat *seat = input_manager_current_seat(input_manager); + struct sway_seat *seat = input_manager_current_seat(); struct sway_workspace *ws = select_workspace(view); struct sway_node *node = seat_get_focus_inactive(seat, &ws->node); struct sway_container *target_sibling = node->type == N_CONTAINER ? @@ -616,7 +616,7 @@ void view_map(struct sway_view *view, struct wlr_surface *wlr_surface, } if (should_focus(view)) { - input_manager_set_focus(input_manager, &view->container->node); + input_manager_set_focus(&view->container->node); } } @@ -645,7 +645,7 @@ void view_unmap(struct sway_view *view) { } struct sway_seat *seat; - wl_list_for_each(seat, &input_manager->seats, link) { + wl_list_for_each(seat, &server.input->seats, link) { if (config->mouse_warping == WARP_CONTAINER) { struct sway_node *node = seat_get_focus(seat); if (node && node->type == N_CONTAINER) { @@ -1106,7 +1106,7 @@ bool view_is_visible(struct sway_view *view) { return false; } // Check view isn't in a tabbed or stacked container on an inactive tab - struct sway_seat *seat = input_manager_current_seat(input_manager); + struct sway_seat *seat = input_manager_current_seat(); struct sway_container *con = view->container; while (con) { enum sway_container_layout layout = container_parent_layout(con); @@ -1138,7 +1138,7 @@ void view_set_urgent(struct sway_view *view, bool enable) { return; } if (enable) { - struct sway_seat *seat = input_manager_current_seat(input_manager); + struct sway_seat *seat = input_manager_current_seat(); if (seat_get_focused_container(seat) == view->container) { return; } |