diff --git a/sway/desktop/output.c b/sway/desktop/output.c index b6d19dd6..d6695607 100644 --- a/sway/desktop/output.c +++ b/sway/desktop/output.c @@ -699,11 +699,12 @@ static void damage_child_views_iterator(struct sway_container *con, void output_damage_whole_container(struct sway_output *output, struct sway_container *con) { // Pad the box by 1px, because the width is a double and might be a fraction + int shadow_sigma = con->shadow_enabled ? config->shadow_blur_sigma : 0; struct wlr_box box = { - .x = con->current.x - output->lx - 1, - .y = con->current.y - output->ly - 1, - .width = con->current.width + 2, - .height = con->current.height + 2, + .x = con->current.x - output->lx - 1 - shadow_sigma, + .y = con->current.y - output->ly - 1 - shadow_sigma, + .width = con->current.width + 2 + shadow_sigma * 2, + .height = con->current.height + 2 + shadow_sigma * 2, }; scale_box(&box, output->wlr_output->scale); wlr_output_damage_add_box(output->damage, &box);