diff --git a/include/sway/input/seat.h b/include/sway/input/seat.h index e006faba..7b756ef3 100644 --- a/include/sway/input/seat.h +++ b/include/sway/input/seat.h @@ -1,7 +1,7 @@ #ifndef _SWAY_INPUT_SEAT_H #define _SWAY_INPUT_SEAT_H -#include +#include #include #include #include "sway/input/input-manager.h" @@ -53,7 +53,7 @@ struct sway_seat { struct wl_list focus_stack; // list of containers in focus order // If the focused layer is set, views cannot receive keyboard focus - struct wlr_layer_surface *focused_layer; + struct wlr_layer_surface_v1 *focused_layer; // If exclusive_client is set, no other clients will receive input events struct wl_client *exclusive_client; @@ -119,7 +119,7 @@ void seat_set_focus_surface(struct sway_seat *seat, struct wlr_surface *surface, bool unfocus); void seat_set_focus_layer(struct sway_seat *seat, - struct wlr_layer_surface *layer); + struct wlr_layer_surface_v1 *layer); void seat_set_exclusive_client(struct sway_seat *seat, struct wl_client *client); diff --git a/include/sway/layers.h b/include/sway/layers.h index 96155eae..51878fc9 100644 --- a/include/sway/layers.h +++ b/include/sway/layers.h @@ -3,10 +3,10 @@ #include #include #include -#include +#include struct sway_layer_surface { - struct wlr_layer_surface *layer_surface; + struct wlr_layer_surface_v1 *layer_surface; struct wl_list link; struct wl_listener destroy; @@ -22,7 +22,7 @@ struct sway_layer_surface { struct sway_output; void arrange_layers(struct sway_output *output); -struct sway_layer_surface *layer_from_wlr_layer_surface( - struct wlr_layer_surface *layer_surface); +struct sway_layer_surface *layer_from_wlr_layer_surface_v1( + struct wlr_layer_surface_v1 *layer_surface); #endif diff --git a/include/sway/server.h b/include/sway/server.h index 07e0949a..5dabb61f 100644 --- a/include/sway/server.h +++ b/include/sway/server.h @@ -7,7 +7,7 @@ #include #include #include -#include +#include #include #include #include @@ -35,7 +35,7 @@ struct sway_server { struct wlr_idle *idle; struct sway_idle_inhibit_manager_v1 *idle_inhibit_manager_v1; - struct wlr_layer_shell *layer_shell; + struct wlr_layer_shell_v1 *layer_shell; struct wl_listener layer_shell_surface; struct wlr_xdg_shell_v6 *xdg_shell_v6; diff --git a/protocols/wlr-layer-shell-unstable-v1.xml b/protocols/wlr-layer-shell-unstable-v1.xml index 6a5d5d35..2bb72edd 100644 --- a/protocols/wlr-layer-shell-unstable-v1.xml +++ b/protocols/wlr-layer-shell-unstable-v1.xml @@ -1,5 +1,5 @@ - + Copyright © 2017 Drew DeVault diff --git a/sway/desktop/layer_shell.c b/sway/desktop/layer_shell.c index 076bacc4..e09282b2 100644 --- a/sway/desktop/layer_shell.c +++ b/sway/desktop/layer_shell.c @@ -3,7 +3,7 @@ #include #include #include -#include +#include #include #include #include @@ -86,8 +86,8 @@ static void arrange_layer(struct sway_output *output, struct wl_list *list, wlr_output_effective_resolution(output->wlr_output, &full_area.width, &full_area.height); wl_list_for_each(sway_layer, list, link) { - struct wlr_layer_surface *layer = sway_layer->layer_surface; - struct wlr_layer_surface_state *state = &layer->current; + struct wlr_layer_surface_v1 *layer = sway_layer->layer_surface; + struct wlr_layer_surface_v1_state *state = &layer->current; if (exclusive != (state->exclusive_zone > 0)) { continue; } @@ -146,7 +146,7 @@ static void arrange_layer(struct sway_output *output, struct wl_list *list, } if (box.width < 0 || box.height < 0) { // TODO: Bubble up a protocol error? - wlr_layer_surface_close(layer); + wlr_layer_surface_v1_close(layer); continue; } // Apply @@ -154,7 +154,7 @@ static void arrange_layer(struct sway_output *output, struct wl_list *list, apply_exclusive(usable_area, state->anchor, state->exclusive_zone, state->margin.top, state->margin.right, state->margin.bottom, state->margin.left); - wlr_layer_surface_configure(layer, box.width, box.height); + wlr_layer_surface_v1_configure(layer, box.width, box.height); } } @@ -223,13 +223,13 @@ static void handle_output_destroy(struct wl_listener *listener, void *data) { wl_list_remove(&sway_layer->link); wl_list_init(&sway_layer->link); sway_layer->layer_surface->output = NULL; - wlr_layer_surface_close(sway_layer->layer_surface); + wlr_layer_surface_v1_close(sway_layer->layer_surface); } static void handle_surface_commit(struct wl_listener *listener, void *data) { struct sway_layer_surface *layer = wl_container_of(listener, layer, surface_commit); - struct wlr_layer_surface *layer_surface = layer->layer_surface; + struct wlr_layer_surface_v1 *layer_surface = layer->layer_surface; struct wlr_output *wlr_output = layer_surface->output; if (wlr_output == NULL) { return; @@ -312,13 +312,13 @@ static void handle_unmap(struct wl_listener *listener, void *data) { unmap(sway_layer); } -struct sway_layer_surface *layer_from_wlr_layer_surface( - struct wlr_layer_surface *layer_surface) { +struct sway_layer_surface *layer_from_wlr_layer_surface_v1( + struct wlr_layer_surface_v1 *layer_surface) { return layer_surface->data; } void handle_layer_shell_surface(struct wl_listener *listener, void *data) { - struct wlr_layer_surface *layer_surface = data; + struct wlr_layer_surface_v1 *layer_surface = data; struct sway_server *server = wl_container_of(listener, server, layer_shell_surface); wlr_log(WLR_DEBUG, "new layer surface: namespace %s layer %d anchor %d " @@ -345,7 +345,7 @@ void handle_layer_shell_surface(struct wl_listener *listener, void *data) { if (!output) { if (!sway_assert(root->outputs->length, "cannot auto-assign output for layer")) { - wlr_layer_surface_close(layer_surface); + wlr_layer_surface_v1_close(layer_surface); return; } output = root->outputs->items[0]; @@ -382,7 +382,7 @@ void handle_layer_shell_surface(struct wl_listener *listener, void *data) { // Temporarily set the layer's current state to client_pending // So that we can easily arrange it - struct wlr_layer_surface_state old_state = layer_surface->current; + struct wlr_layer_surface_v1_state old_state = layer_surface->current; layer_surface->current = layer_surface->client_pending; arrange_layers(output); layer_surface->current = old_state; diff --git a/sway/desktop/output.c b/sway/desktop/output.c index e49c4cca..a5db15cd 100644 --- a/sway/desktop/output.c +++ b/sway/desktop/output.c @@ -182,9 +182,9 @@ void output_layer_for_each_surface(struct sway_output *output, void *user_data) { struct sway_layer_surface *layer_surface; wl_list_for_each(layer_surface, layer_surfaces, link) { - struct wlr_layer_surface *wlr_layer_surface = + struct wlr_layer_surface_v1 *wlr_layer_surface_v1 = layer_surface->layer_surface; - output_surface_for_each_surface(output, wlr_layer_surface->surface, + output_surface_for_each_surface(output, wlr_layer_surface_v1->surface, layer_surface->geo.x, layer_surface->geo.y, iterator, user_data); } @@ -240,15 +240,15 @@ struct sway_workspace *output_get_active_workspace(struct sway_output *output) { } bool output_has_opaque_overlay_layer_surface(struct sway_output *output) { - struct wlr_layer_surface *wlr_layer_surface; - wl_list_for_each(wlr_layer_surface, &server.layer_shell->surfaces, link) { - if (wlr_layer_surface->output != output->wlr_output || - wlr_layer_surface->layer != ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY) { + struct wlr_layer_surface_v1 *wlr_layer_surface_v1; + wl_list_for_each(wlr_layer_surface_v1, &server.layer_shell->surfaces, link) { + if (wlr_layer_surface_v1->output != output->wlr_output || + wlr_layer_surface_v1->layer != ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY) { continue; } - struct wlr_surface *wlr_surface = wlr_layer_surface->surface; + struct wlr_surface *wlr_surface = wlr_layer_surface_v1->surface; struct sway_layer_surface *sway_layer_surface = - layer_from_wlr_layer_surface(wlr_layer_surface); + layer_from_wlr_layer_surface_v1(wlr_layer_surface_v1); pixman_box32_t output_box = { .x2 = output->width, .y2 = output->height, diff --git a/sway/input/cursor.c b/sway/input/cursor.c index dc66d82d..85951c09 100644 --- a/sway/input/cursor.c +++ b/sway/input/cursor.c @@ -807,8 +807,8 @@ void dispatch_cursor_button(struct sway_cursor *cursor, // Handle clicking a layer surface if (surface && wlr_surface_is_layer_surface(surface)) { - struct wlr_layer_surface *layer = - wlr_layer_surface_from_wlr_surface(surface); + struct wlr_layer_surface_v1 *layer = + wlr_layer_surface_v1_from_wlr_surface(surface); if (layer->current.keyboard_interactive) { seat_set_focus_layer(seat, layer); } diff --git a/sway/input/seat.c b/sway/input/seat.c index 8704f90f..ab5047b2 100644 --- a/sway/input/seat.c +++ b/sway/input/seat.c @@ -769,7 +769,7 @@ void seat_set_focus_surface(struct sway_seat *seat, } void seat_set_focus_layer(struct sway_seat *seat, - struct wlr_layer_surface *layer) { + struct wlr_layer_surface_v1 *layer) { if (!layer && seat->focused_layer) { seat->focused_layer = NULL; struct sway_node *previous = seat_get_focus_inactive(seat, &root->node); diff --git a/sway/server.c b/sway/server.c index 4e730311..bed5aed1 100644 --- a/sway/server.c +++ b/sway/server.c @@ -11,7 +11,7 @@ #include #include #include -#include +#include #include #include #include @@ -67,7 +67,7 @@ bool server_init(struct sway_server *server) { server->idle_inhibit_manager_v1 = sway_idle_inhibit_manager_v1_create(server->wl_display, server->idle); - server->layer_shell = wlr_layer_shell_create(server->wl_display); + server->layer_shell = wlr_layer_shell_v1_create(server->wl_display); wl_signal_add(&server->layer_shell->events.new_surface, &server->layer_shell_surface); server->layer_shell_surface.notify = handle_layer_shell_surface;