diff options
Diffstat (limited to 'swaybar/render.c')
-rw-r--r-- | swaybar/render.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/swaybar/render.c b/swaybar/render.c index d226ba32..670630cf 100644 --- a/swaybar/render.c +++ b/swaybar/render.c | |||
@@ -494,6 +494,9 @@ static const struct wl_callback_listener output_frame_listener = { | |||
494 | 494 | ||
495 | void render_frame(struct swaybar_output *output) { | 495 | void render_frame(struct swaybar_output *output) { |
496 | assert(output->surface != NULL); | 496 | assert(output->surface != NULL); |
497 | if (!output->layer_surface) { | ||
498 | return; | ||
499 | } | ||
497 | 500 | ||
498 | free_hotspots(&output->hotspots); | 501 | free_hotspots(&output->hotspots); |
499 | 502 | ||
@@ -519,7 +522,9 @@ void render_frame(struct swaybar_output *output) { | |||
519 | if (height != output->height) { | 522 | if (height != output->height) { |
520 | // Reconfigure surface | 523 | // Reconfigure surface |
521 | zwlr_layer_surface_v1_set_size(output->layer_surface, 0, height); | 524 | zwlr_layer_surface_v1_set_size(output->layer_surface, 0, height); |
522 | zwlr_layer_surface_v1_set_exclusive_zone(output->layer_surface, height); | 525 | if (strcmp(output->bar->config->mode, "dock") == 0) { |
526 | zwlr_layer_surface_v1_set_exclusive_zone(output->layer_surface, height); | ||
527 | } | ||
523 | // TODO: this could infinite loop if the compositor assigns us a | 528 | // TODO: this could infinite loop if the compositor assigns us a |
524 | // different height than what we asked for | 529 | // different height than what we asked for |
525 | wl_surface_commit(output->surface); | 530 | wl_surface_commit(output->surface); |