diff --git a/swaybar/bar.c b/swaybar/bar.c index f636f0c94..9f72c94c7 100644 --- a/swaybar/bar.c +++ b/swaybar/bar.c @@ -367,7 +367,6 @@ static void destroy_layer_surface(struct swaybar_output *output) { zwlr_layer_surface_v1_destroy(output->layer_surface); wl_surface_attach(output->surface, NULL, 0, 0); // detach buffer output->layer_surface = NULL; - output->height = 0; output->width = 0; output->frame_scheduled = false; } diff --git a/swaybar/render.c b/swaybar/render.c index 670630cf7..097eb4628 100644 --- a/swaybar/render.c +++ b/swaybar/render.c @@ -519,7 +519,7 @@ void render_frame(struct swaybar_output *output) { if (config_height >= 0 && height < (uint32_t)config_height) { height = config_height; } - if (height != output->height) { + if (height != output->height || output->width == 0) { // Reconfigure surface zwlr_layer_surface_v1_set_size(output->layer_surface, 0, height); if (strcmp(output->bar->config->mode, "dock") == 0) {