picom.conf (8770B)
1 ################################# 2 # Shadows # 3 ################################# 4 5 # Enabled client-side shadows on windows. Note desktop windows 6 # (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow, 7 # unless explicitly requested using the wintypes option. 8 # 9 # Can be set per-window using rules. 10 # 11 # Default: false 12 shadow = true; 13 14 # The blur radius for shadows, in pixels. 15 # 16 # Default: 12 17 shadow-radius = 7; 18 19 # The opacity of shadows. 20 # 21 # Range: 0.0 - 1.0 22 # Default: 0.75 23 # shadow-opacity = .75 24 25 # The left offset for shadows, in pixels. 26 # 27 # Default: -15 28 shadow-offset-x = -7; 29 30 # The top offset for shadows, in pixels. 31 # 32 # Default: -15 33 shadow-offset-y = -7; 34 35 # Hex string color value of shadow. Formatted like "#RRGGBB", e.g. "#C0FFEE". 36 # 37 # Default: #000000 38 # shadow-color = "#000000" 39 40 # Crop shadow of a window fully on a particular monitor to that monitor. This is 41 # currently implemented using the X RandR extension. 42 # 43 # Default: false 44 # crop-shadow-to-monitor = false 45 46 47 ################################# 48 # Fading # 49 ################################# 50 51 # Fade windows in/out when opening/closing and when opacity changes, 52 # unless no-fading-openclose is used. Can be set per-window using rules. 53 # 54 # Default: false 55 fading = true; 56 57 # Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028) 58 fade-in-step = 0.05; 59 60 # Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03) 61 fade-out-step = 0.05; 62 63 # The time between steps in fade step, in milliseconds. (> 0, defaults to 10) 64 # fade-delta = 10 65 66 # Do not fade on window open/close. 67 # no-fading-openclose = false 68 69 # Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc. 70 # no-fading-destroyed-argb = false 71 72 73 ################################# 74 # Transparency / Opacity # 75 ################################# 76 77 # Opacity of window titlebars and borders. 78 # 79 # Range: 0.1 - 1.0 80 # Default: 1.0 (disabled) 81 frame-opacity = 0.8; 82 83 # Use fixed inactive dim value, instead of adjusting according to window opacity. 84 # 85 # Default: false 86 # inactive-dim-fixed = true 87 88 opacity-rule = [ 89 "100:class_g = 'qutebrowser'", 90 "100:class_g = 'feh'", 91 "100:class_g = 'mpv'", 92 "100:class_g = 'firefox'", 93 "85:class_g = 'st-256color'", 94 "85:class_g = 'tabbed'", 95 "90:class_g = 'thunderbird'", 96 "85:class_g = 'Emacs'", 97 "90:class_g = 'zen'", 98 ]; 99 100 101 ################################# 102 # Corners # 103 ################################# 104 105 # Sets the radius of rounded window corners. When > 0, the compositor will 106 # round the corners of windows. Does not interact well with 107 # `transparent-clipping`. 108 # 109 # Default: 0 (disabled) 110 corner-radius = 0 111 112 ################################# 113 # Blur # 114 ################################# 115 116 # Parameters for background blurring, see BLUR section in the man page for more information. 117 # blur-method = 118 # blur-size = 12 119 # 120 # blur-deviation = false 121 # 122 # blur-strength = 5 123 124 # Blur background of semi-transparent / ARGB windows. 125 # Can be set per-window using rules. 126 # 127 # Default: false 128 # blur-background = false 129 130 # Blur background of windows when the window frame is not opaque. 131 # Implies: 132 # blur-background 133 # 134 # Default: false 135 # blur-background-frame = false 136 137 # Use fixed blur strength rather than adjusting according to window opacity. 138 # 139 # Default: false 140 # blur-background-fixed = false 141 142 143 # Specify the blur convolution kernel, with the following format: 144 # example: 145 # blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"; 146 # Can also be a pre-defined kernel, see the man page. 147 # 148 # Default: "" 149 blur-kern = "3x3box"; 150 151 ################################# 152 # General Settings # 153 ################################# 154 155 # Enable remote control via D-Bus. See the man page for more details. 156 # 157 # Default: false 158 # dbus = true 159 160 # Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers. 161 # daemon = false 162 163 # Specify the backend to use: `xrender`, `glx`, or `egl`. 164 # 165 # Default: "xrender" 166 backend = "xrender" 167 168 # Use higher precision during rendering, and apply dither when presenting the 169 # rendered screen. Reduces banding artifacts, but may cause performance 170 # degradation. Only works with OpenGL. 171 dithered-present = false; 172 173 # Enable/disable VSync. 174 # 175 # Default: false 176 vsync = true; 177 178 # Try to detect windows with rounded corners and don't consider them 179 # shaped windows. The accuracy is not very high, unfortunately. 180 # 181 # Has nothing to do with `corner-radius`. 182 # 183 # Default: false 184 detect-rounded-corners = true; 185 186 # Detect '_NET_WM_WINDOW_OPACITY' on client windows, useful for window managers 187 # not passing '_NET_WM_WINDOW_OPACITY' of client windows to frame windows. 188 # 189 # Default: false 190 detect-client-opacity = true; 191 192 # Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window, 193 # rather than listening to 'FocusIn'/'FocusOut' event. May be more accurate, 194 # provided that the WM supports it. 195 # 196 # Default: false 197 # use-ewmh-active-win = false 198 199 # Unredirect all windows if a full-screen opaque window is detected, 200 # to maximize performance for full-screen windows. Known to cause flickering 201 # when redirecting/unredirecting windows. 202 # 203 # Default: false 204 # unredir-if-possible = false 205 206 # Delay before unredirecting the window, in milliseconds. 207 # 208 # Default: 0. 209 # unredir-if-possible-delay = 0 210 211 # Use 'WM_TRANSIENT_FOR' to group windows, and consider windows 212 # in the same group focused at the same time. 213 # 214 # Default: false 215 detect-transient = true; 216 217 # Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same 218 # group focused at the same time. This usually means windows from the same application 219 # will be considered focused or unfocused at the same time. 220 # 'WM_TRANSIENT_FOR' has higher priority if detect-transient is enabled, too. 221 # 222 # Default: false 223 # detect-client-leader = false 224 225 # Use of damage information for rendering. This cause the only the part of the 226 # screen that has actually changed to be redrawn, instead of the whole screen 227 # every time. Should improve performance. 228 # 229 # Default: false 230 use-damage = true; 231 232 # Use X Sync fence to wait for the completion of rendering of other windows, 233 # before using their content to render the current screen. 234 # 235 # Required for explicit sync drivers, such as nvidia. 236 # 237 # Default: false 238 # xrender-sync-fence = false 239 240 # GLX backend: Use specified GLSL fragment shader for rendering window 241 # contents. Read the man page for a detailed explanation of the interface. 242 # 243 # Can be set per-window using rules. 244 # 245 # window-shader-fg = "default" 246 247 # Force all windows to be painted with blending. Useful if you 248 # have a `window-shader-fg` that could turn opaque pixels transparent. 249 # 250 # Default: false 251 # force-win-blend = false 252 253 # Do not use EWMH to detect fullscreen windows. 254 # Reverts to checking if a window is fullscreen based only on its size and coordinates. 255 # 256 # Default: false 257 # no-ewmh-fullscreen = false 258 259 # Dimming bright windows so their brightness doesn't exceed this set value. 260 # Brightness of a window is estimated by averaging all pixels in the window, 261 # so this could comes with a performance hit. 262 # Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. 263 # 264 # Default: 1.0 (disabled) 265 # max-brightness = 1.0 266 267 # Make transparent windows clip other windows like non-transparent windows do, 268 # instead of blending on top of them. e.g. placing a transparent window on top 269 # of another window will cut a "hole" in that window, and show the desktop background 270 # underneath. 271 # 272 # Default: false 273 # transparent-clipping = false 274 275 # Set the log level. Possible values are: 276 # "trace", "debug", "info", "warn", "error" 277 # in increasing level of importance. Case insensitive. 278 # If using the "TRACE" log level, it's better to log into a file 279 # using *--log-file*, since it can generate a huge stream of logs. 280 # 281 # Default: "warn" 282 # log-level = "warn"; 283 284 # Set the log file. 285 # If *--log-file* is never specified, logs will be written to stderr. 286 # Otherwise, logs will to written to the given file, though some of the early 287 # logs might still be written to the stderr. 288 # When setting this option from the config file, it is recommended to use an absolute path. 289 # 290 # log-file = "/path/to/your/log/file" 291 292 # Write process ID to a file. 293 # write-pid-path = "/path/to/your/log/file" 294 295 # Rule-based per-window options. 296 # 297 # See WINDOW RULES section in the man page for how these work. 298 299 # `@include` directive can be used to include additional configuration files. 300 # Relative paths are search either in the parent of this configuration file 301 # (when the configuration is loaded through a symlink, the symlink will be 302 # resolved first). Or in `$XDG_CONFIG_HOME/picom/include`. 303 # 304 # @include "extra.conf"