]> git.rmz.io Git - dotfiles.git/commitdiff
picom: replace compton with picom
authorSamir Benmendil <me@rmz.io>
Sun, 24 Jan 2021 04:16:22 +0000 (04:16 +0000)
committerSamir Benmendil <me@rmz.io>
Sun, 24 Jan 2021 21:35:32 +0000 (21:35 +0000)
Makefile
compton.conf [deleted file]
picom/picom.conf [new file with mode: 0644]
xinit/xprofile.d/99-applications.sh

index 2d8531fc96d536b7d71dd67ffff375bb460bec35..0ccccf29f3e024ecb82174520614757eed2634ea 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -6,7 +6,7 @@ XDG_DATA_HOME   ?= ~/.local/share
 
 FILES := bin
 DOTFILES := goobookrc profile tmux.conf Xresources
-CONFIGFILES := compton.conf mpv offlineimap ranger retroarch xbindkeys xkb
+CONFIGFILES := mpv offlineimap ranger retroarch xbindkeys xkb
 
 .PHONY: core_files
 core_files: dircolors git ssh systemd vim zsh
@@ -77,6 +77,10 @@ ncmpcpp: $(XDG_CONFIG_HOME)
        mkdir -p $(XDG_DATA_HOME)/mpd/lyrics
 .PHONY: ncmpcpp
 
+picom: $(XDG_CONFIG_HOME)
+       ln -sfT $(APATH)/$@ $(XDG_CONFIG_HOME)/$@
+.PHONY: picom
+
 qute_scripts := $(wildcard qutebrowser/userscripts/*)
 $(qute_scripts):
        mkdir -p $(XDG_DATA_HOME)/qutebrowser/userscripts
diff --git a/compton.conf b/compton.conf
deleted file mode 100644 (file)
index d77d215..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-# Shadow
-#shadow = true;
-#no-dnd-shadow = true;
-#no-dock-shadow = true;
-#clear-shadow = true;
-#shadow-radius = 7;
-#shadow-offset-x = -7;
-#shadow-offset-y = -7;
-# shadow-opacity = 0.7;
-# shadow-red = 0.0;
-# shadow-green = 0.0;
-# shadow-blue = 0.0;
-#shadow-exclude = [ "name = 'Notification'", "class_g = 'Conky'", "class_g ?= 'Notify-osd'" ];
-# shadow-exclude = "n:e:Notification";
-#shadow-ignore-shaped = false;
-
-# Opacity
-menu-opacity = 0.9;
-#inactive-opacity = 0.8;
-#active-opacity = 0.8;
-#frame-opacity = 0.7;
-#inactive-opacity-override = false;
-#alpha-step = 0.06;
-# inactive-dim = 0.2;
-# inactive-dim-fixed = true;
-blur-background = true;
-blur-background-frame = true;
-#blur-background-fixed = false;
-blur-background-exclude = [ "window_type = 'dock'", "window_type = 'desktop'" ];
-# transaprent urxvt
-# opacity-rule = ["80:class_g = 'URxvt'"];
-
-# Fading
-#fading = true;
-# fade-delta = 30;
-#fade-in-step = 0.03;
-#fade-out-step = 0.03;
-# no-fading-openclose = true;
-#fade-exclude = [ ];
-
-# Other
-backend = "glx"
-mark-wmwin-focused = true;
-#mark-ovredir-focused = true;
-#use-ewmh-active-win = false;
-#detect-rounded-corners = true;
-#detect-client-opacity = true;
-#refresh-rate = 0;
-vsync = "opengl-swc";
-#dbe = false;
-paint-on-overlay = true;
-#sw-opti = false;
-#unredir-if-possible = false;
-#focus-exclude = [ ];
-#detect-transient = true;
-#detect-client-leader = true;
-#invert-color-include = [ ];
-
-# GLX backend
-glx-no-stencil = true;
-#glx-copy-from-front = false;
-# glx-use-copysubbuffermesa = true;
-glx-no-rebind-pixmap = true;
-glx-swap-method = 3;
-
-# Window type settings
-wintypes:
-{
-  tooltip = { fade = true; shadow = false; opacity = 0.75; focus = true; };
-};
diff --git a/picom/picom.conf b/picom/picom.conf
new file mode 100644 (file)
index 0000000..3703f5b
--- /dev/null
@@ -0,0 +1,342 @@
+shadow = false;
+
+#################################
+#           Fading              #
+#################################
+
+
+# Fade windows in/out when opening/closing and when opacity changes,
+#  unless no-fading-openclose is used.
+# fading = false
+#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 = []
+
+# Do not fade on window open/close.
+# no-fading-openclose = false
+
+# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
+# no-fading-destroyed-argb = false
+
+
+#################################
+#   Transparency / Opacity      #
+#################################
+
+
+# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
+# inactive-opacity = 1
+inactive-opacity = 1.0;
+
+# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
+# frame-opacity = 1.0
+frame-opacity = 1.0;
+
+# Let inactive opacity set by -i override the '_NET_WM_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 = 0.8;
+
+# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
+# inactive-dim = 0.2;
+
+# 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.
+# inactive-dim-fixed = true;
+
+# Specify a list of opacity rules, in the format `PERCENT:PATTERN`, 
+# like `50:name *= "Firefox"`. picom-trans is recommended over this. 
+# Note we don't make any guarantee about possible conflicts with other 
+# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
+# example:
+#    opacity-rule = [ "80:class_g = 'URxvt'" ];
+#
+# opacity-rule = ["80:class_g = 'URxvt'"];
+
+
+#################################
+#     Background-Blurring       #
+#################################
+
+
+# Parameters for background blurring, see the *BLUR* section for more information.
+# 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 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;
+
+
+# Use fixed blur strength rather than adjusting according to window opacity.
+# 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 = ''
+blur-kern = "3x3box";
+
+
+# Exclude conditions for background blur.
+# blur-background-exclude = []
+blur-background-exclude = [
+  "window_type = 'dock'",
+  "window_type = 'desktop'",
+  "_GTK_FRAME_EXTENTS@:c"
+];
+
+#################################
+#       General Settings        #
+#################################
+
+# 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 = "glx"
+
+# Enable/disable VSync.
+# vsync = false
+vsync = true
+# vsync = "opengl-swc";
+
+# 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 = false
+mark-wmwin-focused = true;
+
+# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
+# mark-ovredir-focused = false
+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 = 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-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
+
+# 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.
+#
+# use-ewmh-active-win = false
+
+# 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.
+#
+# unredir-if-possible = false
+
+# Delay before unredirecting the window, in milliseconds. Defaults to 0.
+# unredir-if-possible-delay = 0
+
+# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
+# unredir-if-possible-exclude = []
+
+# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows 
+# in the same group focused at the same time.
+#
+# detect-transient = false
+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.
+#
+# 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. 
+# If the value is positive, those additional pixels will not be actually painted 
+# to screen, only used in blur calculation, and such. (Due to technical limitations, 
+# with use-damage, those pixels will still be incorrectly painted to screen.) 
+# Primarily used to fix the line corruption issues of blur, 
+# in which case you should use the blur radius value here 
+# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`, 
+# with a 5x5 one you use `--resize-damage 2`, and so on). 
+# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
+#
+# resize-damage = 1
+
+# Specify a list of conditions of windows that should be painted with inverted color. 
+# Resource-hogging, and is not well tested.
+#
+# invert-color-include = []
+
+# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer. 
+# Might cause incorrect opacity when rendering transparent content (but never 
+# practically happened) and may not work with blur-background. 
+# My tests show a 15% performance boost. Recommended.
+#
+# glx-no-stencil = false
+glx-no-stencil = true;
+
+# GLX backend: Avoid rebinding pixmap on window damage. 
+# Probably could improve performance on rapid window content changes, 
+# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
+# Recommended if it works.
+#
+# glx-no-rebind-pixmap = false
+glx-no-rebind-pixmap = 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
+#
+# no-use-damage = false
+use-damage = true
+
+# 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 
+# with GLX backend for some users.
+#
+# 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-fshader-win = ''
+
+# Force all windows to be painted with blending. Useful if you 
+# have a glx-fshader-win that could turn opaque pixels transparent.
+#
+# force-win-blend = false
+
+# Do not use EWMH to detect fullscreen windows. 
+# Reverts to checking if a window is fullscreen based only on its size and coordinates.
+#
+# no-ewmh-fullscreen = false
+
+# Dimming bright windows so their brightness doesn't exceed this set value. 
+# Brightness of a window is estimated by averaging all pixels in the window, 
+# so this could comes with a performance hit. 
+# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
+#
+# max-brightness = 1.0
+
+# Make transparent windows clip other windows like non-transparent windows do,
+# instead of blending on top of them.
+#
+# transparent-clipping = false
+
+# 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 = "debug"
+log-level = "warn";
+
+# 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'
+
+# Show all X errors (for debugging)
+# show-all-xerrors = false
+
+# Write process ID to a file.
+# write-pid-path = '/path/to/your/log/file'
+
+# 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.
+# 
+#   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; opacity = 0.75; focus = true; full-shadow = false; };
+  dock = { shadow = false; }
+  dnd = { shadow = false; }
+  popup_menu = { opacity = 0.8; }
+  dropdown_menu = { opacity = 0.8; }
+};
index c36aa0d58a240850bf6431a2a17f19673b7a7d37..b0bc270d8b1c6cd03a6439802a24b9c9e219eb6e 100755 (executable)
@@ -5,6 +5,6 @@ URXVT_PERL_LIB=$URXVT_PERL_LIB:$HOME/src/dotfiles/urxvt/perls/deprecated
 export URXVT_PERL_LIB
 
 [[ "$TERMINAL" == "urxvtc" ]] && urxvtd -q -o -f
-compton --config ~/.config/compton.conf &
+picom &
 unclutter --timeout 1 &
 xcape -e "Control_L=Escape;Control_R=Escape"