diff options
author | William McKinnon <[email protected]> | 2022-04-27 17:33:23 -0400 |
---|---|---|
committer | William McKinnon <[email protected]> | 2022-04-27 17:33:23 -0400 |
commit | 7460d9f565092836f81b917a040caff57142d91a (patch) | |
tree | b76e7facef2aaa5925a62ad6b9995c16663313f0 /swaybar/render.c | |
parent | c37aba2736e31264bdcd52147a96fa85e17c8c5f (diff) |
merge sway master
Diffstat (limited to 'swaybar/render.c')
-rw-r--r-- | swaybar/render.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/swaybar/render.c b/swaybar/render.c index dcde6b9e..7e2f97b7 100644 --- a/swaybar/render.c +++ b/swaybar/render.c @@ -831,6 +831,15 @@ void render_frame(struct swaybar_output *output) { wl_surface_damage(output->surface, 0, 0, output->width, output->height); + uint32_t bg_alpha = ctx.background_color & 0xFF; + if (bg_alpha == 0xFF) { + struct wl_region *region = + wl_compositor_create_region(output->bar->compositor); + wl_region_add(region, 0, 0, INT32_MAX, INT32_MAX); + wl_surface_set_opaque_region(output->surface, region); + wl_region_destroy(region); + } + struct wl_callback *frame_callback = wl_surface_frame(output->surface); wl_callback_add_listener(frame_callback, &output_frame_listener, output); output->frame_scheduled = true; |