diff --git a/.config/picom/picom.conf b/.config/picom/picom.conf new file mode 100644 index 0000000..fe76e09 --- /dev/null +++ b/.config/picom/picom.conf @@ -0,0 +1,183 @@ +################################# +# General Settings # +################################# + +# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`. +# `xrender` is the default one. +backend = "glx" + +# Enable/disable VSync. +vsync = true; + +# Try to detect WM windows (a non-override-redirect window with no +# child that has 'WM_STATE') and mark them as active. +mark-wmwin-focused = true; + +# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused. +mark-ovredir-focused = true; + +# Try to detect windows with rounded corners and don't consider them +# shaped windows. The accuracy is not very high, unfortunately. +detect-rounded-corners = true; + +# Detect '_NET_WM_WINDOW_OPACITY' on client windows, useful for window managers +# not passing '_NET_WM_WINDOW_OPACITY' of client windows to frame windows. +detect-client-opacity = true; + +# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows +# in the same group focused at the same time. +detect-transient = true; + +# Disable the use of damage information. +# This cause the whole screen to be redrawn everytime, instead of the part of the screen +# has actually changed. Potentially degrades the performance, but might fix some artifacts. +# The opposing option is use-damage +use-damage = true; + +# Set the log level. Possible values are: +# "trace", "debug", "info", "warn", "error" +# in increasing level of importance. Case doesn't matter. +# If using the "TRACE" log level, it's better to log into a file +# using *--log-file*, since it can generate a huge stream of logs. +log-level = "warn"; + +# Window type settings +# +# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard: +# "unknown", "desktop", "dock", "toolbar", "menu", "utility", +# "splash", "dialog", "normal", "dropdown_menu", "popup_menu", +# "tooltip", "notification", "combo", and "dnd". +# +# Following per window-type options are available: :: +# +# fade, shadow::: +# Controls window-type-specific shadow and fade settings. +# +# opacity::: +# Controls default opacity of the window type. +# +# focus::: +# Controls whether the window of this type is to be always considered focused. +# (By default, all window types except "normal" and "dialog" has this on.) +# +# full-shadow::: +# Controls whether shadow is drawn under the parts of the window that you +# normally won't be able to see. Useful when the window has parts of it +# transparent, and you want shadows in those areas. +# +# clip-shadow-above::: +# Controls wether shadows that would have been drawn above the window should +# be clipped. Useful for dock windows that should have no shadow painted on top. +# +# redir-ignore::: +# Controls whether this type of windows should cause screen to become +# redirected again after been unredirected. If you have unredir-if-possible +# set, and doesn't want certain window to cause unnecessary screen redirection, +# you can set this to `true`. +wintypes: +{ + tooltip = { fade = true; shadow = true; shadow-radius = 0; opacity = 0.85; focus = true; }; + dnd = { shadow = false; }; + menu = { shadow = false; } + dropdown_menu = { shadow = false; }; + popup_menu = { shadow = false; }; + utility = { shadow = false; }; +}; + + +################################# +# Background-Blurring # +################################# + +# Parameters for background blurring, see the *BLUR* section for more information. +blur-method = "dual_kawase"; +blur-strength = 8; + +#blur-method = "gaussian" +#blur-size = 14 +#blur-strength = 10 + +#blur-background = false +#blur-background-frame = false + +corner-radius = 6 + + +# Exclude conditions for background blur. +# blur-background-exclude = [] +blur-background-exclude = [ + "window_type = 'desktop'", + "window_type = 'menu'", + "_GTK_FRAME_EXTENTS@:c" +]; + + +################################# +# 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 12) +shadow-radius = 20; + +# The opacity of shadows. (0.0 - 1.0, defaults to 0.75) +shadow-opacity = .75; + +# The left offset for shadows, in pixels. (defaults to -15) +shadow-offset-x = -18; + +# The top offset for shadows, in pixels. (defaults to -15) +shadow-offset-y = -18; + +# Specify a list of conditions of windows that should have no shadow. +shadow-exclude = [ + "name *= 'VLC'", + "name = 'Notification'", + "class_g = 'Conky'", + "class_g ?= 'Notify-osd'", + "class_g = 'Cairo-clock'", + "_GTK_FRAME_EXTENTS@:c" +]; + + +################################# +# Fading # +################################# + +# Fade windows in/out when opening/closing and when opacity changes, +# unless no-fading-openclose is used. +fading = true; + +# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028) +# fade-in-step = 0.028 +fade-in-step = 0.05; + +# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03) +# fade-out-step = 0.03 +fade-out-step = 0.05; + + +################################# +# 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; + +# Let inactive opacity set by -i override the '_NET_WM_WINDOW_OPACITY' values of windows. +inactive-opacity-override = true; + +# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0) +active-opacity = 1.0 + +# Specify a list of conditions of windows that should never be considered focused. +focus-exclude = [ + "class_g = 'Cairo-clock'" +];