aboutsummaryrefslogtreecommitdiffstats
path: root/sway/desktop/layer_shell.c
diff options
context:
space:
mode:
authorLibravatar Ryan Dwyer <ryandwyer1@gmail.com>2018-10-18 21:20:00 +1000
committerLibravatar Ryan Dwyer <ryandwyer1@gmail.com>2018-10-20 13:11:43 +1000
commitc006717910e5f30ca65645f701541dfa176c1392 (patch)
treec64452b7f2fe6ab481ad90c424cb14bcb0328eda /sway/desktop/layer_shell.c
parentMerge pull request #2872 from RyanDwyer/cursor-rebase (diff)
downloadsway-c006717910e5f30ca65645f701541dfa176c1392.tar.gz
sway-c006717910e5f30ca65645f701541dfa176c1392.tar.zst
sway-c006717910e5f30ca65645f701541dfa176c1392.zip
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/desktop/layer_shell.c')
-rw-r--r--sway/desktop/layer_shell.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sway/desktop/layer_shell.c b/sway/desktop/layer_shell.c
index 269864d4..cabb07f5 100644
--- a/sway/desktop/layer_shell.c
+++ b/sway/desktop/layer_shell.c
@@ -211,7 +211,7 @@ void arrange_layers(struct sway_output *output) {
211 } 211 }
212 212
213 struct sway_seat *seat; 213 struct sway_seat *seat;
214 wl_list_for_each(seat, &input_manager->seats, link) { 214 wl_list_for_each(seat, &server.input->seats, link) {
215 seat_set_focus_layer(seat, topmost ? topmost->layer_surface : NULL); 215 seat_set_focus_layer(seat, topmost ? topmost->layer_surface : NULL);
216 } 216 }
217} 217}
@@ -241,7 +241,7 @@ static void handle_output_destroy(struct wl_listener *listener, void *data) {
241 wl_container_of(listener, sway_layer, output_destroy); 241 wl_container_of(listener, sway_layer, output_destroy);
242 // Determine if this layer is being used by an exclusive client. If it is, 242 // Determine if this layer is being used by an exclusive client. If it is,
243 // try and find another layer owned by this client to pass focus to. 243 // try and find another layer owned by this client to pass focus to.
244 struct sway_seat *seat = input_manager_get_default_seat(input_manager); 244 struct sway_seat *seat = input_manager_get_default_seat();
245 struct wl_client *client = 245 struct wl_client *client =
246 wl_resource_get_client(sway_layer->layer_surface->resource); 246 wl_resource_get_client(sway_layer->layer_surface->resource);
247 bool set_focus = seat->exclusive_client == client; 247 bool set_focus = seat->exclusive_client == client;
@@ -299,7 +299,7 @@ static void unmap(struct sway_layer_surface *sway_layer) {
299 output_damage_surface(output, sway_layer->geo.x, sway_layer->geo.y, 299 output_damage_surface(output, sway_layer->geo.x, sway_layer->geo.y,
300 sway_layer->layer_surface->surface, true); 300 sway_layer->layer_surface->surface, true);
301 301
302 struct sway_seat *seat = input_manager_current_seat(input_manager); 302 struct sway_seat *seat = input_manager_current_seat();
303 if (seat->focused_layer == sway_layer->layer_surface) { 303 if (seat->focused_layer == sway_layer->layer_surface) {
304 seat_set_focus_layer(seat, NULL); 304 seat_set_focus_layer(seat, NULL);
305 } 305 }
@@ -370,7 +370,7 @@ void handle_layer_shell_surface(struct wl_listener *listener, void *data) {
370 if (!layer_surface->output) { 370 if (!layer_surface->output) {
371 // Assign last active output 371 // Assign last active output
372 struct sway_output *output = NULL; 372 struct sway_output *output = NULL;
373 struct sway_seat *seat = input_manager_get_default_seat(input_manager); 373 struct sway_seat *seat = input_manager_get_default_seat();
374 if (seat) { 374 if (seat) {
375 struct sway_workspace *ws = seat_get_focused_workspace(seat); 375 struct sway_workspace *ws = seat_get_focused_workspace(seat);
376 376