summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--.config/picom/picom.conf63
1 files changed, 40 insertions, 23 deletions
diff --git a/.config/picom/picom.conf b/.config/picom/picom.conf
index b3ad0e5..e1896bc 100644
--- a/.config/picom/picom.conf
+++ b/.config/picom/picom.conf
@@ -50,10 +50,14 @@ shadow-exclude = [
"class_g = 'Conky'",
"class_g ?= 'Notify-osd'",
"class_g = 'Cairo-clock'",
+ "class_g = 'firefox' && argb",
"argb && ! window_type *= 'menu'",
"_GTK_FRAME_EXTENTS@:c"
];
+# Specify a list of conditions of windows that should have no shadow painted over, such as a dock window.
+# clip-shadow-above = []
+
# Specify a X geometry that describes the region in which shadow should not
# be painted in, such as a dock window region. Use
# shadow-exclude-reg = "x10+0+0"
@@ -113,9 +117,9 @@ inactive-opacity = 0.8;
# frame-opacity = 1.0
frame-opacity = 0.7;
-# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows.
-inactive-opacity-override = true
-# inactive-opacity-override = false;
+# Let inactive opacity set by -i override the '_NET_WM_WINDOW_OPACITY' values of windows.
+# inactive-opacity-override = true
+inactive-opacity-override = false;
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
# active-opacity = 1.0
@@ -124,7 +128,7 @@ inactive-opacity-override = true
# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
# inactive-dim = 0.0
-# Specify a list of conditions of windows that should always be considered focused.
+# Specify a list of conditions of windows that should never be considered focused.
# focus-exclude = []
focus-exclude = [ "class_g = 'Cairo-clock'" ];
@@ -208,14 +212,17 @@ blur-background-exclude = [
# 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 = false
# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
# `xrender` is the default one.
#
-backend = "glx"
-# backend = "xrender";
+# backend = "glx"
+backend = "xrender";
# Enable/disable VSync.
# vsync = false
@@ -240,18 +247,12 @@ mark-ovredir-focused = true;
# detect-rounded-corners = false
detect-rounded-corners = true;
-# Detect '_NET_WM_OPACITY' on client windows, useful for window managers
-# not passing '_NET_WM_OPACITY' of client windows to frame windows.
+# 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 = false
detect-client-opacity = true;
-# Specify refresh rate of the screen. If not specified or 0, picom will
-# try detecting this with X RandR extension.
-#
-# refresh-rate = 60
-refresh-rate = 0;
-
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
# provided that the WM supports it.
@@ -278,11 +279,11 @@ use-ewmh-active-win = true
detect-transient = true;
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
-# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if
-# detect-transient is enabled, too.
+# group focused at the same time. This usually means windows from the same application
+# will be considered focused or unfocused at the same time.
+# 'WM_TRANSIENT_FOR' has higher priority if detect-transient is enabled, too.
#
# detect-client-leader = false
-detect-client-leader = true;
# Resize damaged region by a specific number of pixels.
# A positive value enlarges it while a negative one shrinks it.
@@ -317,7 +318,7 @@ detect-client-leader = true;
# glx-no-rebind-pixmap = false
# Disable the use of damage information.
-# This cause the whole screen to be redrawn everytime, instead of the part of the screen
+# This cause the whole screen to be redrawn every time, 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
#
@@ -330,11 +331,17 @@ use-damage = true;
#
# xrender-sync-fence = false
-# GLX backend: Use specified GLSL fragment shader for rendering window contents.
-# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl`
-# in the source tree for examples.
+# GLX backend: Use specified GLSL fragment shader for rendering window
+# contents. Read the man page for a detailed explanation of the interface.
#
-# glx-fshader-win = ""
+# window-shader-fg = "default"
+
+# Use rules to set per-window shaders. Syntax is SHADER_PATH:PATTERN, similar
+# to opacity-rule. SHADER_PATH can be "default". This overrides window-shader-fg.
+#
+# window-shader-fg-rule = [
+# "my_shader.frag:window_type != 'dock'"
+# ]
# Force all windows to be painted with blending. Useful if you
# have a glx-fshader-win that could turn opaque pixels transparent.
@@ -358,6 +365,12 @@ use-damage = true;
#
# transparent-clipping = false
+# Specify a list of conditions of windows that should never have transparent
+# clipping applied. Useful for screenshot tools, where you need to be able to
+# see through transparent parts of the window.
+#
+# transparent-clipping-exclude = []
+
# Set the log level. Possible values are:
# "trace", "debug", "info", "warn", "error"
# in increasing level of importance. Case doesn't matter.
@@ -405,6 +418,10 @@ log-level = "warn";
# 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 whether 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
@@ -414,7 +431,7 @@ log-level = "warn";
wintypes:
{
tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
- dock = { shadow = false; }
+ dock = { shadow = false; clip-shadow-above = true; }
dnd = { shadow = false; }
popup_menu = { opacity = 0.9; }
dropdown_menu = { opacity = 0.9; }