
# Enables patches for specific window managers.
# Currently patched: "awesome", "dwm", "herb"
wm-support = "none";

#################################
#         ANIMATIONS            #
#################################

# Toggles whether animations should be used for windows
animations = true;

# Changes animation stiffness.
# What stiffness basically is inferring is how much the window geometry will be stretched,
# when opening/closing windows
animation-stiffness = 120;

# Change the mass of windows
# Modifying the mass of windows makes them virtually heavier and therefore slower to animate.
animation-window-mass = 0.5;

# Change dampening applied during the animation
# This setting basically does what it says. It dampens the animation of windows.
animation-dampening = 12;

# Toggles clamping
# if you are using a animation setting that would make the window extend larger than it would be after,
# the animation has played then it will cut the animation off once the window reaches its physical geometry.
animation-clamping = false;

# Set the open window animation.
# Options: ("none","zoom","fly-in","slide-up","slide-down","slide-left","slide-right")
animation-for-open-window = "slide-up";

# Set the closing window animation.
# Options: ("none","zoom","fly-in","slide-up","slide-down","slide-left","slide-right")
animation-for-unmap-window = "slide-down";

# Exclude certain windows from having a open animation.

# animation-open-exclude = [
#   "class_g = 'Dunst'"
# ];

# Exclude certain windows from having a closing animation.

# animation-unmap-exclude = [
#   "class_g = 'Dunst'"
# ];

#################################
#           Corners             #
#################################

# Adjusts the window corner rounding in pixels.
corner-radius = 0;

# Explicitly declare the corner-radius of individual windows.
#
# corners-rule = [
#   "20:class_g    = 'Polybar'",
#   "15:class_g    = 'Dunst'",
# ];

# Exclude conditions for rounded corners.
#
# rounded-corners-exclude = [
#   "window_type = 'dock'",
#   "class_g = 'bar'"
# ];


#################################
#             Shadows           #
#################################

# Enabled client-side shadows on windows. Note desktop windows
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
# unless explicitly requested using the wintypes option.
#
shadow = true;

# The blur radius for shadows, in pixels. (defaults to 16)
shadow-radius = 16;

# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
# shadow-opacity = 0.75;

# The left offset for shadows, in pixels. (defaults to -15)
shadow-offset-x = -15;

# The top offset for shadows, in pixels. (defaults to -15)
shadow-offset-y = -15;

# Red color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-red = 0;

# Green color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-green = 0;

# Blue color value of shadow (0.0 - 1.0, defaults to 0).
# shadow-blue = 0;

# Hex string color value of shadow (#000000 - #FFFFFF, defaults to #000000). This option will override options set shadow-(red/green/blue)
# shadow-color = "#000000";

# Specify a list of conditions of windows that should have no shadow.

 shadow-exclude = [
  "name = 'Notification'",
#  "name = 'Plank'",
 # "name = 'Tilix'",
  "class_g = 'VirtualBox'",
  "class_g = 'rofi'",
#  "class_g ?= 'Notify-osd'",
#  "class_g = 'Cairo-clock'",
#  "class_g ?= 'Xfce4-notifyd'",
#  "class_g ?= 'Xfce4-power-manager'",
#  "n:w:*firefox*",
 # "class_g = 'firefox' && argb",
 # "class_g = 'firefox-esr' && argb",
  "class_g = 'zen' && argb",
 # "class_g = 'floorp' && argb",
 # "name = 'TelegramDesktop'",
 # "name = 'KotatogramDesktop'",
  "class_g = 'AyuGramDesktop' && argb",
  "class_g = 'ayugram-desktop'",
  "name = 'AyuGramDesktop'",
  "name = 'ayugram-desktop'",
  "class_g ?= 'AyuGramDesktop'",
 # "name = 'firefox'",
 # "name = 'firefox-esr'",
  "name *= 'Opera'",
  "name = 'Opera'",
  "class_g = 'Opera'",
 # "class_g ?= 'Pcmanfm'",
#  "name = 'Waterfox'",
#  "class_g ?= 'Easyeffects'",
  "name = 'Thunderbird'",
  "name *= 'compton'",
 # "name *= 'picom'",
  "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'",
  "_GTK_FRAME_EXTENTS@:c"
 ];

#################################
#           Fading              #
#################################


# Fade windows in/out when opening/closing and when opacity changes,
#  unless no-fading-openclose is used.
# FADING IS REQUIRED FOR CLOSING ANIMATIONS
fading = true;

# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.03)
#
# Increasing this value will result in faster fading in of windows. 
# Decreasing makes the fading in of windows take longer. 
# (This does not means the animations take longer, just the fading).
fade-in-step = 0.03;

# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
#
# Increasing this value will result in faster fading out AND animating out of windows. 
# Decreasing this makes fading and animating out take longer.
fade-out-step = 0.03;

# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
# fade-delta = 10

# Specify a list of conditions of windows that should not be faded.
 fade-exclude = [
	"class_g = 'VirtualBox Machine'",
	"name = 'Клон EndeavourOS [Работает] - Oracle VM VirtualBox'",
  "name = 'Opera'",
 ];

# Do not fade on window open/close.
# no-fading-openclose = false

# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
# no-fading-destroyed-argb = false


#################################
#   Transparency / Opacity      #
#################################


# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
inactive-opacity = 1.0;

# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
frame-opacity = 1.0;

# Overrides any opacities set in `opacity-rule` when set to true.
inactive-opacity-override = false;

# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
active-opacity = 1.0;

# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
# inactive-dim = 0.0;

# A list of windows that should have their inactive-opacity set to whatever the active-opacity is. 
# Unless the window is also in active-exclude then it will be set to 1.0 or if it is set in "opacity-rule", 
# it will use the opacity set there as the inactive-opacity
# Also excludes effects caused by inactive-dim
#
# inactive-exclude = [
#   "class_g = 'dwm'"
# ];


# A list of windows that should never have their opacity changed by active-opacity when focused.
#
# active-exclude = [
#   "class_g = 'dwm'"
# ];


# Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
# like `50:name *= "Firefox"`.

# opacity-rule = [
#   "80:class_g = 'Alacritty'"
# ];


#################################
#     Background-Blurring       #
#################################

# Blur background of windows.
#
blur-background = true;

# Parameters for background blurring, see the *BLUR* section for more information.
blur-method = "dual_kawase";
#
# blur-size = 12
#
# blur-deviation = false
#
blur-strength = 5;

# Blur kernel preset. Play around and see what looks best.
# Options "3x3box", "5x5box", "7x7box", "3x3gaussian", "5x5gaussian", "7x7gaussian", "9x9gaussian", "11x11gaussian"
#
# blur-kern = "3x3box";

# Toggle whether you want to use a blacklist or whitelist.
# Defaults to "true"
blur-whitelist = true;

# Whitelist for windows to have background blurring
blur-include = [
#  "class_g = 'Alacritty'",
  "class_g = 'kitty'"
];

# Blacklist for background blurring. 
# Only works if "blur-whitelist = false;"
#
# blur-exclude = [
#   "class_g = 'Firefox'"
# ];

#################################
#       General Settings        #
#################################

# Enable remote control via D-Bus. See the man page for more details.
# dbus = true

# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
daemon = true

# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
backend = "glx";

# Enable/disable VSync.
vsync = true;

unredir-if-possible = false;

log-level = "info";

#################################
#           ADVANCED            #
#################################

# Set settings for specific window types. See Wiki for more information
# Below is an example of how to disabled shadows on Firefox/Librewolf menus,
# and also make sure they are considered focused so that they cannot be affected by inactive window settings.
#
 wintypes:
 {
  tooltip = { fade = true; shadow = true; opacity = 0.90; focus = true; full-shadow = false; };
  dock = { shadow = false; clip-shadow-above = true; }
  dnd = { shadow = false; }
  menu = { shadow = false; }

#   utility = { shadow = false; focus = true; };
#   popup_menu = { shadow = false; focus = true; };
 };
