# vim: filetype=conf
#
#################################
#       _
# _ __ (_) ___ ___  _ __ ___
#| '_ \| |/ __/ _ \| '_ ` _ \
#| |_) | | (_| (_) | | | | | |
#| .__/|_|\___\___/|_| |_| |_|
#|_|
#################################


backend = "glx";
glx-no-stencil = true;
glx-no-rebind-pixmap = true;
xrender-sync-fence = true;
#force-win-blend = false;
unredir-if-possible = true;
#resize-damage = 7;
#vsync = true;

corner-radius = 12.0;
round-borders = 1;
rounded-corners-exclude = [
  "class_g = 'dunst'",
  "class_g = 'Polybar'",
  "class_g = 'Rofi'", 
  "QTILE_INTERNAL:32c = 1"
  #"! name~=''", 
];
rounded-borders-exclude = [
  "class_g = 'dunst'",
  "class_g = 'Polybar'",
  "class_g = 'Rofi'",
  "QTILE_INTERNAL:32c = 1"
  #"! name~=''", 
]

 #Shadow
shadow = true;			# Enabled client-side shadows on windows.
shadow-radius = 40;		# The blur radius for shadows. (default 12)
shadow-offset-x = -40;		# The left offset for shadows. (default -15)
shadow-offset-y = -20;		# The top offset for shadows. (default -15)
shadow-opacity = 0.35;
shadow-exclude = [
 "class_g = 'Plank'",
 "! name~=''",
 "class_g = 'conky'",
 "name = 'cpt_frame_window'",
 "class_g = 'slop'",
 "name = 'lead'",
 "name = 'Eww - border1'",
 "name = 'Eww - border2'",
 #"name = 'Eww - border'",
 "class_g = 'firefox' && argb",
 #"QTILE_INTERNAL:32c = 1",
 "class_g = 'i3lock'",
 "class_g = 'stalonetray'",
 #"name = 'polybar-bar_DP-4'",
 "name = 'Polybar tray window'",
 "name = 'polybar-tray_DP-4'"
];

# Fading
fading = true; # Fade windows during opacity changes.
fade-delta = 5; # 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).
#no-fading-openclose = true; # Fade windows in/out when opening/closing

## Opacity
#inactive-opacity = 0.90;
#active-opacity = 1;
#frame-opacity = 1;
#inactive-opacity-override = false;
#inactive-dim = 0.2;
#inactive-dim-fixed = true;
## Opacity rules, do "xprop | grep WM_CLASS" to find class name
#opacity-rule = ["100:class_g = 'firefox'", "100:class_g = 'Chromium'", "100:class_g = 'Polybar'", "100:class_g = 'Thunderbird'", "100:name *? = 'i3lock'", "90:class_i = 'urxvt'", "100:class_i = 'cmatrixterm'", "90:class_i = 'dropdown'", "100:class_g = 'Zathura'", "100:class_g = 'Emacs'", "100:class_g = 'mpv'", "100:class_g = 'Joplin'", "90:class_i = 'applauncher'", "90:class_i = 'greenclip'", "90:class_i = 'bsphidwins'", "90:class_i = 'findFiles'", "90:class_i = 'sxhkdhelp'", "90:class_i = 'splatmoji'", "90:class_i = 'powermenu'", "90:class_i = 'fzfnotes'", "90:class_i = 'google'", "90:class_i = 'Spotify'", "90:class_g *? = 'xob'", "90:class_i = 'notifHistory'"];

detect-client-opacity = true; # This prevents opacity being ignored for some apps. For example without this enabled my xfce4-notifyd is 100% opacity no matter what.

opacity-rule = [
  #"0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'",
  #"40:class_g = 'Bspwm' && 
  "40:class_i = 'presel_feedback'",
];

# Blur
blur-method = "dual_kawase";
blur-strength = 10;
blur-background = true;
#blur-background-frame = true;
blur-background-fixed = true;
blur-background-exclude = [
  #"class_g = 'Plank'", 
  "class_g = 'slop'", 
  #"class_g != 'i3lock'",
  #"name != 'rofi - ' && 
  "class_i != 'presel_feedback'",
]

# Animation settings
transition-length = 300;
transition-pow-x = 0.7;
transition-pow-y = 0.7;
transition-pow-w = 0.7;
transition-pow-h = 0.7;
size-transition = true;

animations = true;
animation-for-open-window = "none";
animation-delta = 10;

# Window type settings
wintypes:
{
  tooltip = { fade = true; full-shadow = true; opacity = 1; };
  dock = { full-shadow = true;};
  popup_menu = { opacity = 1; full-shadow = true; };
  normal = {full-shadow = true;};
  dropdown_menu = { opacity = 1; full-shadow = true; }
};

