diff options
Diffstat (limited to 'src/main.c')
-rw-r--r-- | src/main.c | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -17,6 +17,8 @@ * */ +#include <gdk/gdk.h> + #ifdef HAVE_CONFIG_H #include <config.h> #endif @@ -4740,6 +4742,7 @@ static XFixed *create_gaussian_kernel(double radius, static int update_shadow(frame_settings * fs) { Display *xdisplay = GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()); + GdkVisual *visual = gdk_visual_get_best_with_depth(32); XRenderPictFormat *format; GdkPixmap *pixmap; Picture src, dst, tmp; @@ -4753,6 +4756,11 @@ static int update_shadow(frame_settings * fs) bzero(&d, sizeof(decor_t)); window_settings *ws = fs->ws; + // TODO shadows show strong artefacts with 30-bit setups + // meanwhile disable here as a workaround + if (gdk_visual_get_bits_per_rgb(visual) == 10) + ws->shadow_radius = 0; + // double save_decoration_alpha; static XRenderColor color; static XRenderColor clear = { 0x0000, 0x0000, 0x0000, 0x0000 }; |