Ubuntu – Compton: Incorrect shadow display (favourite settings)

compositingcomptonfirefoxshadowxfce

I am experiencing problems with the shadow display of the Compton composite manager. In certain situations, the frame for the shadows exceeds the window it is applied to, leaving a visible border and sort of a transparent box around it.

This seems to occur every time a window or frame overlay is not perfectly rectangular, such as the automatic scroll pointer in Firefox or the addon-menus with little arrowheads on top (please see the screenshot below for reference). There are a few other occasions like these outside my web browser, but I am not able to remember anything in particular at the moment.

Because of tearing issues with my video card, I am required to use Compton as the compositor for my XFCE desktop environment and I have been very happy with it so far, except for the visual issue with these shadows.

I thought that my configuration file might not be set up optimally, I also tried to add the option detect-rounded-corners = true; to it, but that did not make any difference.

Is there a solution to this problem? And are there some good Compton configurations which I could use as a base for my settings in general?

enter image description here

My Compton configuration file looks like this at the moment:

#--------------------------------
#-------Backend Settings:--------
#--------------------------------
backend = "glx";                 # Use GLX backend for rendering
vsync = "opengl";                # Use OpenGL to implement vsync
glx-swap-method = 3;             # Use a triple-buffer
paint-on-overlay = true;         # Improves performance (usually) and reduces flickering
glx-no-stencil = true;           # Improves performance
glx-no-rebind-pixmap = true;     # Improves performance with rapid window changes, might not work with some drivers


#--------------------------------
#--------Shadow Settings:--------
#--------------------------------
shadow = true;                   # Enable drawing shadows on windows
shadow-radius = 8;               # The blur radius for shadows
shadow-offset-x = -8;            # The horizontal offset for shadows
shadow-offset-y = -8;            # The vertical offset for shadows
clear-shadow = true;             # Zero the part of the shadow's mask behind the window, may break some applications
no-dock-shadow = true;           # Do not draw shadows on docks/panels
no-dnd-shadow = true;            # Do not draw shadows on DND windows
shadow-exclude = [               # Do not draw shadows on these specific applications:
   #"! name~=''",
    "n:e:Notification",
    "n:e:Plank",
    "n:e:Docky",
    "g:e:Synapse",
    "g:e:Kupfer",
    "g:e:Conky",
    "n:w:*dockbarx*",
   #"n:w:*Firefox*",
   #"n:w:*Chrome*",
   #"n:w:*Chromium*",
    "class_g ?= 'Notify-osd'",
    "class_g ?= 'Cairo-dock'",
    "class_g ?= 'Xfce4-notifyd'",
    "class_g ?= 'Xfce4-power-manager'"
];


#--------------------------------
#--------Fading Settings:--------
#--------------------------------
fading = true;                   # Enable fading windows during opacity changes
fade-delta = 4;                  # The time between steps in a fade in milliseconds
fade-in-step = 0.03;             # The opacity change between steps while fading in
fade-out-step = 0.03;            # The opacity change between steps while fading out
detect-client-opacity = true;    # Prevent opacity from being ignored for some applications


#--------------------------------
#--------Window Settings:--------
#--------------------------------
wintypes:                        # Change behavior for these specific types of windows:
{
    tooltip = { fade = true; shadow = false; };
};

detect-rounded-corners = true;

I've had another configuration before with which this problem existed as well though.

My hardware is as follows:

     MB  Gigabyte GA-H97 HD3 
     CPU Intel Xeon E3-1231 (No AGP) 
     RAM 32GB DDR3
     GPU Nvidia Quadro 5000 
     2560x1080 Display, 60 Hz, connected via DisplayPort

Best Answer

If you are talking about Privacy Badger shadow, then this problem could be solved by adding following line to your shadow-exclude list:

"class_g = 'Firefox' && argb"

It will remove shadow from such windows, but leave it on menu (if not disabled) and main window. Source is here & here. There're some explanation about the issue.

Related Question