diff --git a/examples/layer-shell.c b/examples/layer-shell.c index f006a1b7..f3b9d3a0 100644 --- a/examples/layer-shell.c +++ b/examples/layer-shell.c @@ -119,9 +119,10 @@ static const struct wl_registry_listener registry_listener = { int main(int argc, char **argv) { wlr_log_init(L_DEBUG, NULL); char *namespace = "wlroots"; + int exclusive_zone = 0; bool found; int c; - while ((c = getopt(argc, argv, "w:h:o:l:a:")) != -1) { + while ((c = getopt(argc, argv, "w:h:o:l:a:x:")) != -1) { switch (c) { case 'o': output = atoi(optarg); @@ -132,6 +133,9 @@ int main(int argc, char **argv) { case 'h': height = atoi(optarg); break; + case 'x': + exclusive_zone = atoi(optarg); + break; case 'l': { struct { char *name; @@ -215,9 +219,10 @@ int main(int argc, char **argv) { wl_surface, wl_output, layer, namespace); zwlr_layer_surface_v1_set_size(layer_surface, width, height); zwlr_layer_surface_v1_set_anchor(layer_surface, anchor); + zwlr_layer_surface_v1_set_exclusive_zone(layer_surface, exclusive_zone); zwlr_layer_surface_v1_add_listener(layer_surface, &layer_surface_listener, layer_surface); - // TODO: margin, interactivity, exclusive zone + // TODO: margin, interactivity wl_surface_commit(wl_surface); wl_display_roundtrip(display); diff --git a/rootston/layer_shell.c b/rootston/layer_shell.c index c0dff85a..ac7b2b20 100644 --- a/rootston/layer_shell.c +++ b/rootston/layer_shell.c @@ -53,7 +53,7 @@ static void apply_exclusive(struct wlr_box *output_area, }; for (size_t i = 0; i < sizeof(edges) / sizeof(edges[0]); ++i) { if ((anchor & edges[i].anchors)) { - edges[i].value += exclusive * edges[i].multiplier; + *edges[i].value += exclusive * edges[i].multiplier; } } }