Configuration files
at dev 16 kB view raw
1# Pretty much copied from Axarva's configs 2 3################################# 4# Corners # 5################################# 6# requires: https://github.com/sdhand/compton 7corner-radius = 12; 8rounded-corners-exclude = [ 9 #"window_type = 'toolbar'", 10 "class_g = 'eww-bar'", 11 "class_g = 'eww-powermenu'", 12 "class_g = 'Rofi'", 13 #"class_g = 'Tint2'", 14 "name = 'Notification area'", 15 #"class_g = 'kitty'", 16 #"class_g = 'Alacritty'", 17 # "class_g = 'Polybar'", 18 "class_g = 'Eww'", 19]; 20round-borders = 12; 21round-borders-exclude = [ 22 #"class_g = 'TelegramDesktop'", 23]; 24 25# Specify a list of border width rules, in the format `PIXELS:PATTERN`, 26# Note we don't make any guarantee about possible conflicts with the 27# border_width set by the window manager. 28# 29# example: 30# round-borders-rule = [ "2:class_g = 'URxvt'" ]; 31# 32round-borders-rule = [ 33 "3:class_g = 'XTerm'", 34 "3:class_g = 'URxvt'", 35 #"10:class_g = 'Alacritty'", 36 "15:class_g = 'Signal'" 37]; 38 39################################# 40# Shadows # 41################################# 42 43 44# Enabled client-side shadows on windows. Note desktop windows 45# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow, 46# unless explicitly requested using the wintypes option. 47# 48#shadow = false 49shadow = true; 50 51# The blur radius for shadows, in pixels. (defaults to 12) 52# shadow-radius = 12 53shadow-radius = 20; 54 55# The opacity of shadows. (0.0 - 1.0, defaults to 0.75) 56shadow-opacity = 0.75 57 58# The left offset for shadows, in pixels. (defaults to -15) 59# shadow-offset-x = -15 60shadow-offset-x = -12; 61 62# The top offset for shadows, in pixels. (defaults to -15) 63# shadow-offset-y = -15 64shadow-offset-y = -12; 65 66# Avoid drawing shadows on dock/panel windows. This option is deprecated, 67# you should use the *wintypes* option in your config file instead. 68# 69# no-dock-shadow = false 70 71# Don't draw shadows on drag-and-drop windows. This option is deprecated, 72# you should use the *wintypes* option in your config file instead. 73# 74# no-dnd-shadow = false 75 76# Red color value of shadow (0.0 - 1.0, defaults to 0). 77shadow-red = 0; 78 79# Green color value of shadow (0.0 - 1.0, defaults to 0). 80shadow-green = 0; 81 82# Blue color value of shadow (0.0 - 1.0, defaults to 0). 83shadow-blue = 0; 84 85# Do not paint shadows on shaped windows. Note shaped windows 86# here means windows setting its shape through X Shape extension. 87# Those using ARGB background is beyond our control. 88# Deprecated, use 89# shadow-exclude = 'bounding_shaped' 90# or 91# shadow-exclude = 'bounding_shaped && !rounded_corners' 92# instead. 93# 94# shadow-ignore-shaped = '' 95 96# Specify a list of conditions of windows that should have no shadow. 97# 98# examples: 99# shadow-exclude = "n:e:Notification"; 100# 101# shadow-exclude = [] 102shadow-exclude = [ 103 "name = 'Notification'", 104 "class_g = 'Conky'", 105 "class_g ?= 'Notify-osd'", 106 "class_g = 'Cairo-clock'", 107 "class_g = 'slop'", 108 "class_g = 'Polybar'", 109 "_GTK_FRAME_EXTENTS@:c" 110]; 111 112# Specify a X geometry that describes the region in which shadow should not 113# be painted in, such as a dock window region. Use 114# shadow-exclude-reg = "x10+0+0" 115# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on. 116# 117# shadow-exclude-reg = "" 118 119# Crop shadow of a window fully on a particular Xinerama screen to the screen. 120# xinerama-shadow-crop = false 121 122 123################################# 124# Fading # 125################################# 126 127# Fade windows in/out when opening/closing and when opacity changes, 128# unless no-fading-openclose is used. 129# fading = false 130fading = true; 131 132# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028) 133# fade-in-step = 0.028 134fade-in-step = 0.015; 135 136# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03) 137# fade-out-step = 0.03 138fade-out-step = 0.1; 139 140# The time between steps in fade step, in milliseconds. (> 0, defaults to 10) 141fade-delta = 5 142 143# Specify a list of conditions of windows that should not be faded. 144# don't need this, we disable fading for all normal windows with wintypes: {} 145fade-exclude = [ 146 #"class_g = 'slop'" # maim 147] 148 149# Do not fade on window open/close. 150# no-fading-openclose = false 151 152# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc. 153# no-fading-destroyed-argb = false 154 155 156################################# 157# Transparency / Opacity # 158################################# 159 160 161# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0) 162# inactive-opacity = 1 163inactive-opacity = 1; 164 165# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default) 166# frame-opacity = 1.0 167frame-opacity = 0.9; 168 169# Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0) 170# menu-opacity = 1.0 171 172# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows. 173# inactive-opacity-override = true 174inactive-opacity-override = false; 175 176# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0) 177active-opacity = 1; 178 179# Dim inactive windows. (0.0 - 1.0, defaults to 0.0) 180# inactive-dim = 0.0 181 182# Specify a list of conditions of windows that should always be considered focused. 183# focus-exclude = [] 184focus-exclude = [ 185 "class_g = 'Cairo-clock'", 186 "class_g = 'Bar'", # lemonbar 187 "class_g = 'slop'" # maim 188]; 189 190# Use fixed inactive dim value, instead of adjusting according to window opacity. 191# inactive-dim-fixed = 1.0 192 193# Specify a list of opacity rules, in the format `PERCENT:PATTERN`, 194# like `50:name *= "Firefox"`. picom-trans is recommended over this. 195# Note we don't make any guarantee about possible conflicts with other 196# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows. 197# example: 198# opacity-rule = [ "80:class_g = 'URxvt'" ]; 199# 200# opacity-rule = [] 201opacity-rule = [ 202 "100:name = 'Dunst'", # lemonbar 203 "10:class_g = 'eww-blur_full'", # maim 204 #"100:class_g = 'XTerm'", 205 #"100:class_g = 'URxvt'", 206 "80:class_g = 'Alacritty'", 207 #"60:class_g = 'eww-player'", 208 "100:class_g = 'Tint2'", 209 "80:class_g = 'Polybar'", 210 #"100:class_g = 'code-oss'", 211 #"100:class_g = 'Meld'", 212 #"70:class_g = 'TelegramDesktop'", 213 #"90:class_g = 'Joplin'", 214 #"100:class_g = 'firefox'", 215 #"80:class_g = 'Spotify'" 216]; 217 218 219################################# 220# Background-Blurring # 221################################# 222 223 224# Parameters for background blurring, see the *BLUR* section for more information. 225blur-method = "dual_kawase" 226blur-size = 12 227# 228# blur-deviation = false 229 230# Blur background of semi-transparent / ARGB windows. 231# 232# blur-background = true; 233 234# Blur background of windows when the window frame is not opaque. 235# Implies: 236# blur-background 237# Bad in performance, with driver-dependent behavior. The name may change. 238# 239# blur-background-frame = false; 240 241 242# Use fixed blur strength rather than adjusting according to window opacity. 243# blur-background-fixed = false; 244 245 246# Specify the blur convolution kernel, with the following format: 247# example: 248# 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"; 249# 250# blur-kern = '' 251# blur-kern = "3x3box"; 252 253# blur: { 254# # requires: https://github.com/ibhagwan/picom 255# method = "dual_kawase"; 256# #method = "kernel"; 257# strength = 6; 258# deviation = 1.0; 259# # kernel = "11x11gaussian"; 260# background = false; 261# background-frame = false; 262# background-fixed = false; 263# kern = "3x3box"; 264# } 265# 266# # Exclude conditions for background blur. 267# blur-background-exclude = [ 268# #"window_type = 'dock'", 269# #"window_type = 'desktop'", 270# #"class_g = 'URxvt'", 271# "class_g = 'dwm'", 272# # 273# # prevents picom from blurring the background 274# # when taking selection screenshot with `main` 275# # https://github.com/naelstrof/maim/issues/130 276# "class_g = 'slop'", 277# "_GTK_FRAME_EXTENTS@:c" 278# ]; 279 280 281################################# 282# General Settings # 283################################# 284 285# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers. 286# daemon = false 287 288# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`. 289# `xrender` is the default one. 290# 291experimental-backends = true; 292backend = "xrender"; 293 294 295# Enable/disable VSync. 296# vsync = false 297vsync = true; 298 299# Enable remote control via D-Bus. See the *D-BUS API* section below for more details. 300# dbus = false 301 302# Try to detect WM windows (a non-override-redirect window with no 303# child that has 'WM_STATE') and mark them as active. 304# 305# mark-wmwin-focused = false 306mark-wmwin-focused = true; 307 308# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused. 309# mark-ovredir-focused = false 310mark-ovredir-focused = true; 311 312# Try to detect windows with rounded corners and don't consider them 313# shaped windows. The accuracy is not very high, unfortunately. 314# 315# detect-rounded-corners = false 316detect-rounded-corners = true 317 318# Detect '_NET_WM_OPACITY' on client windows, useful for window managers 319# not passing '_NET_WM_OPACITY' of client windows to frame windows. 320# 321# detect-client-opacity = false 322detect-client-opacity = true; 323 324 325# Limit picom to repaint at most once every 1 / 'refresh_rate' second to 326# boost performance. This should not be used with 327# vsync drm/opengl/opengl-oml 328# as they essentially does sw-opti's job already, 329# unless you wish to specify a lower refresh rate than the actual value. 330# 331# sw-opti = 332 333# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window, 334# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy, 335# provided that the WM supports it. 336# 337# use-ewmh-active-win = false 338 339# Unredirect all windows if a full-screen opaque window is detected, 340# to maximize performance for full-screen windows. Known to cause flickering 341# when redirecting/unredirecting windows. paint-on-overlay may make the flickering less obvious. 342# 343# unredir-if-possible = false 344 345# Delay before unredirecting the window, in milliseconds. Defaults to 0. 346# unredir-if-possible-delay = 0 347 348# Conditions of windows that shouldn't be considered full-screen for unredirecting screen. 349# unredir-if-possible-exclude = [] 350 351# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows 352# in the same group focused at the same time. 353# 354# detect-transient = false 355detect-transient = true 356 357# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same 358# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if 359# detect-transient is enabled, too. 360# 361# detect-client-leader = false 362detect-client-leader = true 363 364# Resize damaged region by a specific number of pixels. 365# A positive value enlarges it while a negative one shrinks it. 366# If the value is positive, those additional pixels will not be actually painted 367# to screen, only used in blur calculation, and such. (Due to technical limitations, 368# with use-damage, those pixels will still be incorrectly painted to screen.) 369# Primarily used to fix the line corruption issues of blur, 370# in which case you should use the blur radius value here 371# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`, 372# with a 5x5 one you use `--resize-damage 2`, and so on). 373# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly. 374# 375# resize-damage = 1 376 377# Specify a list of conditions of windows that should be painted with inverted color. 378# Resource-hogging, and is not well tested. 379# 380# invert-color-include = [] 381 382# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer. 383# Might cause incorrect opacity when rendering transparent content (but never 384# practically happened) and may not work with blur-background. 385# My tests show a 15% performance boost. Recommended. 386# 387# glx-no-stencil = false 388 389# GLX backend: Avoid rebinding pixmap on window damage. 390# Probably could improve performance on rapid window content changes, 391# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.). 392# Recommended if it works. 393# 394# glx-no-rebind-pixmap = false 395 396# Disable the use of damage information. 397# This cause the whole screen to be redrawn everytime, instead of the part of the screen 398# has actually changed. Potentially degrades the performance, but might fix some artifacts. 399# The opposing option is use-damage 400# 401# no-use-damage = false 402use-damage = true 403 404# Use X Sync fence to sync clients' draw calls, to make sure all draw 405# calls are finished before picom starts drawing. Needed on nvidia-drivers 406# with GLX backend for some users. 407# 408# xrender-sync-fence = false 409 410# GLX backend: Use specified GLSL fragment shader for rendering window contents. 411# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl` 412# in the source tree for examples. 413# 414# glx-fshader-win = '' 415 416# Force all windows to be painted with blending. Useful if you 417# have a glx-fshader-win that could turn opaque pixels transparent. 418# 419# force-win-blend = false 420 421# Do not use EWMH to detect fullscreen windows. 422# Reverts to checking if a window is fullscreen based only on its size and coordinates. 423# 424# no-ewmh-fullscreen = false 425 426# Dimming bright windows so their brightness doesn't exceed this set value. 427# Brightness of a window is estimated by averaging all pixels in the window, 428# so this could comes with a performance hit. 429# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0) 430# 431# max-brightness = 1.0 432 433# Make transparent windows clip other windows like non-transparent windows do, 434# instead of blending on top of them. 435# 436# transparent-clipping = false 437 438# Set the log level. Possible values are: 439# "trace", "debug", "info", "warn", "error" 440# in increasing level of importance. Case doesn't matter. 441# If using the "TRACE" log level, it's better to log into a file 442# using *--log-file*, since it can generate a huge stream of logs. 443# 444# log-level = "debug" 445log-level = "info"; 446 447# Set the log file. 448# If *--log-file* is never specified, logs will be written to stderr. 449# Otherwise, logs will to written to the given file, though some of the early 450# logs might still be written to the stderr. 451# When setting this option from the config file, it is recommended to use an absolute path. 452# 453# log-file = '/path/to/your/log/file' 454 455# Show all X errors (for debugging) 456# show-all-xerrors = false 457 458# Write process ID to a file. 459# write-pid-path = '/path/to/your/log/file' 460 461# Window type settings 462# 463# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard: 464# "unknown", "desktop", "dock", "toolbar", "menu", "utility", 465# "splash", "dialog", "normal", "dropdown_menu", "popup_menu", 466# "tooltip", "notification", "combo", and "dnd". 467# 468# Following per window-type options are available: :: 469# 470# fade, shadow::: 471# Controls window-type-specific shadow and fade settings. 472# 473# opacity::: 474# Controls default opacity of the window type. 475# 476# focus::: 477# Controls whether the window of this type is to be always considered focused. 478# (By default, all window types except "normal" and "dialog" has this on.) 479# 480# full-shadow::: 481# Controls whether shadow is drawn under the parts of the window that you 482# normally won't be able to see. Useful when the window has parts of it 483# transparent, and you want shadows in those areas. 484# 485# redir-ignore::: 486# Controls whether this type of windows should cause screen to become 487# redirected again after been unredirected. If you have unredir-if-possible 488# set, and doesn't want certain window to cause unnecessary screen redirection, 489# you can set this to `true`. 490# 491wintypes: 492{ 493 normal = { full-shadow = true; }; 494 menu = { full-shadow = true; }; 495 tooltip = { fade = true; shadow = false; focus = true;}; 496 dock = { shadow = false; }; 497 dnd = { shadow = false; }; 498 popup_menu = { full-shadow = true; }; 499 utility = { full-shadow = true; }; 500 toolbar = { full-shadow = true; }; 501 notification = { opacity = 1; } 502};