diff options
-rw-r--r-- | protocols/wlr-layer-shell-unstable-v1.xml | 6 | ||||
-rw-r--r-- | swaybg/main.c | 13 |
2 files changed, 13 insertions, 6 deletions
diff --git a/protocols/wlr-layer-shell-unstable-v1.xml b/protocols/wlr-layer-shell-unstable-v1.xml index 3181c0bb..6a5d5d35 100644 --- a/protocols/wlr-layer-shell-unstable-v1.xml +++ b/protocols/wlr-layer-shell-unstable-v1.xml @@ -47,12 +47,16 @@ or manipulate a buffer prior to the first layer_surface.configure call must also be treated as errors. + You may pass NULL for output to allow the compositor to decide which + output to use. Generally this will be the one that the user most + recently interacted with. + Clients can specify a namespace that defines the purpose of the layer surface. </description> <arg name="id" type="new_id" interface="zwlr_layer_surface_v1"/> <arg name="surface" type="object" interface="wl_surface"/> - <arg name="output" type="object" interface="wl_output"/> + <arg name="output" type="object" interface="wl_output" allow-null="true"/> <arg name="layer" type="uint" enum="layer" summary="layer to add this surface to"/> <arg name="namespace" type="string" summary="namespace for the layer surface"/> </request> diff --git a/swaybg/main.c b/swaybg/main.c index 679b8c20..5b6c378c 100644 --- a/swaybg/main.c +++ b/swaybg/main.c @@ -113,7 +113,7 @@ static void layer_surface_closed(void *data, state->run_display = false; } -struct zwlr_layer_surface_v1_listener layer_surface_listener = { +static const struct zwlr_layer_surface_v1_listener layer_surface_listener = { .configure = layer_surface_configure, .closed = layer_surface_closed, }; @@ -141,7 +141,7 @@ static void output_scale(void *data, struct wl_output *output, int32_t factor) { } } -struct wl_output_listener output_listener = { +static const struct wl_output_listener output_listener = { .geometry = output_geometry, .mode = output_mode, .done = output_done, @@ -203,7 +203,8 @@ int main(int argc, const char **argv) { return 1; } - assert(state.display = wl_display_connect(NULL)); + state.display = wl_display_connect(NULL); + assert(state.display); struct wl_registry *registry = wl_display_get_registry(state.display); wl_registry_add_listener(registry, ®istry_listener, &state); @@ -213,9 +214,11 @@ int main(int argc, const char **argv) { // Second roundtrip to get output properties wl_display_roundtrip(state.display); - assert(state.surface = wl_compositor_create_surface(state.compositor)); + state.surface = wl_compositor_create_surface(state.compositor); + assert(state.surface); - assert(state.input_region = wl_compositor_create_region(state.compositor)); + state.input_region = wl_compositor_create_region(state.compositor); + assert(state.input_region); wl_surface_set_input_region(state.surface, state.input_region); state.layer_surface = zwlr_layer_shell_v1_get_layer_surface( |