From 3f1bedd5b47945d3432799a9a002357ed2c04aff Mon Sep 17 00:00:00 2001 From: Daryl Ronningen Date: Mon, 11 Jul 2022 13:56:57 -0700 Subject: [PATCH] picom updates --- .config/nvim | 2 +- .config/picom/picom.conf | 178 +++++++++++++++++++++++---------------- .gitconfig | 2 - 3 files changed, 107 insertions(+), 75 deletions(-) diff --git a/.config/nvim b/.config/nvim index 5cd3231..d6dbae2 160000 --- a/.config/nvim +++ b/.config/nvim @@ -1 +1 @@ -Subproject commit 5cd3231464d44f6b8ad1df8900a0f6bbf3180590 +Subproject commit d6dbae2c028f840936c0fc18dfa3dd0b57d61ac4 diff --git a/.config/picom/picom.conf b/.config/picom/picom.conf index fa4e7e4..50233af 100644 --- a/.config/picom/picom.conf +++ b/.config/picom/picom.conf @@ -1,24 +1,52 @@ +################################# +# Animations # +################################# +# requires https://github.com/jonaburg/picom +# (These are also the default values) +transition-length = 300 +transition-pow-x = 0.1 +transition-pow-y = 0.1 +transition-pow-w = 0.1 +transition-pow-h = 0.1 +size-transition = true + + +################################# +# Corners # +################################# +# requires: https://github.com/sdhand/compton or https://github.com/jonaburg/picom +corner-radius = 10.0; +rounded-corners-exclude = []; +round-borders = 1; +round-borders-exclude = []; + ################################# # 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 = false; # The blur radius for shadows, in pixels. (defaults to 12) -# shadow-radius = 7; +shadow-radius = 7; # 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 = -7; +shadow-offset-x = -7; # The top offset for shadows, in pixels. (defaults to -15) -# shadow-offset-y = -7; +shadow-offset-y = -7; + +# Avoid drawing shadows on dock/panel windows. This option is deprecated, +# you should use the *wintypes* option in your config file instead. +# no-dock-shadow = false + +# Don't draw shadows on drag-and-drop windows. This option is deprecated, +# you should use the *wintypes* option in your config file instead. +# no-dnd-shadow = false # Red color value of shadow (0.0 - 1.0, defaults to 0). # shadow-red = 0 @@ -29,17 +57,21 @@ shadow = false; # 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" +# Do not paint shadows on shaped windows. Note shaped windows +# here means windows setting its shape through X Shape extension. +# Those using ARGB background is beyond our control. +# Deprecated, use +# shadow-exclude = 'bounding_shaped' +# or +# shadow-exclude = 'bounding_shaped && !rounded_corners' +# instead. +# shadow-ignore-shaped = '' # Specify a list of conditions of windows that should have no shadow. # # examples: # shadow-exclude = "n:e:Notification"; -# shadow-exclude = [] - -# Specify a list of conditions of windows that should have no shadow painted over, such as a dock window. -# clip-shadow-above = [] +shadow-exclude = []; # Specify a X geometry that describes the region in which shadow should not # be painted in, such as a dock window region. Use @@ -54,23 +86,24 @@ shadow = false; ################################# # 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.03; # Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03) +# fade-out-step = 0.03 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 = [] +# don't need this, we disable fading for all normal windows with wintypes: {} +fade-exclude = [] # Do not fade on window open/close. # no-fading-openclose = false @@ -82,24 +115,29 @@ fade-out-step = 0.03; ################################# # Transparency / Opacity # ################################# - - # Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0) inactive-opacity = 0.8; # Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default) frame-opacity = 0.7; -# Let inactive opacity set by -i override the '_NET_WM_WINDOW_OPACITY' values of windows. -inactive-opacity-override = true; +# Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0) +# menu-opacity = 1.0 + +#If using these 2 below change their values in line 510 & 511 aswell +popup_menu = { opacity = 0.8; } +dropdown_menu = { opacity = 0.8; } + +# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows. +inactive-opacity-override = false; # Default opacity for active windows. (0.0 - 1.0, defaults to 1.0) -# active-opacity = 1.0 +active-opacity = 1.0; # Dim inactive windows. (0.0 - 1.0, defaults to 0.0) # inactive-dim = 0.0 -# Specify a list of conditions of windows that should never be considered focused. +# Specify a list of conditions of windows that should always be considered focused. # focus-exclude = [] # Use fixed inactive dim value, instead of adjusting according to window opacity. @@ -111,82 +149,72 @@ inactive-opacity-override = true; # programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows. # example: # opacity-rule = [ "80:class_g = 'URxvt'" ]; +# # opacity-rule = [] -################################# -# Corners # -################################# - -# Sets the radius of rounded window corners. When > 0, the compositor will -# round the corners of windows. Does not interact well with -# `transparent-clipping`. -corner-radius = 20 - -# Exclude conditions for rounded corners. -rounded-corners-exclude = [ - "class_g = 'Polybar'" -]; - - ################################# # Background-Blurring # ################################# - - # Parameters for background blurring, see the *BLUR* section for more information. -blur-method = "dual_kawase" -blur-size = 12 -blur-deviation = true -blur-strength = 7 +# blur-method = +# blur-size = 12 +# blur-deviation = false # Blur background of semi-transparent / ARGB windows. # Bad in performance, with driver-dependent behavior. # The name of the switch may change without prior notifications. -blur-background = true +# blur-background = true; # Blur background of windows when the window frame is not opaque. # Implies: # blur-background # Bad in performance, with driver-dependent behavior. The name may change. -blur-background-frame = true - +# blur-background-frame = false; # Use fixed blur strength rather than adjusting according to window opacity. -blur-background-fixed = true - +# blur-background-fixed = false; # Specify the blur convolution kernel, with the following format: # example: # 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"; -blur-kern = "3x3box"; +# blur-kern = "3x3box"; +blur: { + method = "kawase"; + strength = 7; + background = false; + background-frame = false; + background-fixed = false; + kern = "3x3box"; +} # Exclude conditions for background blur. -# blur-background-exclude = [] +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" +experimental-backends = true; +backend = "glx"; + # Enable/disable VSync. -vsync = true; +vsync = true # Enable remote control via D-Bus. See the *D-BUS API* section below for more details. # dbus = false # 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. @@ -196,10 +224,21 @@ mark-ovredir-focused = true; # 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 '_NET_WM_OPACITY' on client windows, useful for window managers +# not passing '_NET_WM_OPACITY' of client windows to frame windows. 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 = 0 + +# Limit picom to repaint at most once every 1 / 'refresh_rate' second to +# boost performance. This should not be used with +# vsync drm/opengl/opengl-oml +# as they essentially does sw-opti's job already, +# unless you wish to specify a lower refresh rate than the actual value. +# sw-opti = + # 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. @@ -207,7 +246,7 @@ detect-client-opacity = true; # Unredirect all windows if a full-screen opaque window is detected, # to maximize performance for full-screen windows. Known to cause flickering -# when redirecting/unredirecting windows. +# when redirecting/unredirecting windows. paint-on-overlay may make the flickering less obvious. # unredir-if-possible = false # Delay before unredirecting the window, in milliseconds. Defaults to 0. @@ -218,13 +257,12 @@ 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; +detect-transient = true # Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same -# 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 +# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if +# detect-transient is enabled, too. +detect-client-leader = true # Resize damaged region by a specific number of pixels. # A positive value enlarges it while a negative one shrinks it. @@ -258,7 +296,7 @@ detect-transient = true; # 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; +use-damage = false # Use X Sync fence to sync clients' draw calls, to make sure all draw # calls are finished before picom starts drawing. Needed on nvidia-drivers @@ -268,7 +306,7 @@ use-damage = true; # 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-fshader-win = "" +# glx-fshader-win = '' # Force all windows to be painted with blending. Useful if you # have a glx-fshader-win that could turn opaque pixels transparent. @@ -293,20 +331,20 @@ use-damage = true; # 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"; +log-level = "info"; # Set the log file. # If *--log-file* is never specified, logs will be written to stderr. # Otherwise, logs will to written to the given file, though some of the early # logs might still be written to the stderr. # When setting this option from the config file, it is recommended to use an absolute path. -# log-file = "/path/to/your/log/file" +# log-file = '/path/to/your/log/file' # Show all X errors (for debugging) # show-all-xerrors = false # Write process ID to a file. -# write-pid-path = "/path/to/your/log/file" +# write-pid-path = '/path/to/your/log/file' # Window type settings # @@ -332,14 +370,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 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: -{}; +# +wintypes: {}; diff --git a/.gitconfig b/.gitconfig index b49652a..a42fa03 100644 --- a/.gitconfig +++ b/.gitconfig @@ -24,7 +24,5 @@ light = false line-numbers = true side-by-side = true -[merge] - conflictstyle = diff3 [diff] colorMoved = default