# Compton config
backend = "glx"; # Enables Opengl backend
paint-on-overlay = true; # These 3 can improve performance, work well in most cases
glx-no-stencil = true;
glx-no-rebind-pixmap = true;
glx-swap-method = true;
vsync = "opengl-mswc"; # Enables one of the vsync methods. Check here for more info: https://github.com/chjj/compton/wiki/vsync-guide
unredir-if-possible = true;

# Shadow
shadow = true;            # Enabled client-side shadows on windows.
no-dock-shadow = true;        # Avoid drawing shadows on dock/panel windows.
no-dnd-shadow = true;        # Don't draw shadows on DND windows.
clear-shadow = true;        # Zero the part of the shadow's mask behind the window (experimental).
shadow-radius = 7;        # The blur radius for shadows. (default 12)
shadow-offset-x = -7;        # The left offset for shadows. (default -15)
shadow-offset-y = -7;        # The top offset for shadows. (default -15)

shadow-exclude = [
   "! name~=''",
   "name *= 'compton'",
   "name *= 'chromium-browser'",
   "name *= 'Chrome'",
   "name *= 'mpv'",
   "class_g = 'Conky'",
   "_GTK_FRAME_EXTENTS@:c"
];

# Blur
blur-background = true;
blur-method = "kawase";
blur-strength = 9;
# Blur background of opaque windows with transparent frames as well.
blur-background-frame = true;
# Do not let blur radius adjust based on window opacity.
blur-background-fixed = true;

blur-background-exclude = [
  "window_type = 'desktop'",
  "class_g *?= 'chromium-browser'",
  "class_g *?= 'mpv'"
];

# Fading
fading = true; # Fade windows during opacity changes.
fade-delta = 4; # The time between steps in a fade in milliseconds. (default 10).
fade-in-step = 0.03; # Opacity change between steps while fading in. (default 0.028).
fade-out-step = 0.03; # Opacity change between steps while fading out. (default 0.03).

# Opacity
menu-opacity = 1;
inactive-opacity = 1;
active-opacity = 1;
frame-opacity = 1;
inactive-opacity-override = false;
alpha-step = 0.06;

opacity-rule = [ 
  "91:class_g *?='kitty'",
  "91:class_g *?='zathura'",
  "91:class_g *?='emacs'"
];

# Window type settings
# Disables shadows on tooltips and enables fading on tooltips

wintypes:
{
  tooltip = { 
    fade = true; 
    shadow = false;
  };
};