update picom conf

This commit is contained in:
vincent 2020-06-14 21:52:37 +02:00
parent 8857fb3719
commit 8e01b041fc

View File

@ -1,4 +1,5 @@
# Thank you code_nomad: http://9m.no/ꪯ鵞 # Thank you code_nomad: http://9m.no/ꪯ鵞
# and Arch Wiki contributors: https://wiki.archlinux.org/index.php/Compton
################################# #################################
# #
@ -22,7 +23,6 @@ glx-no-stencil = true;
# My tests with nvidia-drivers show a 10% decrease in performance when the whole screen is modified, # My tests with nvidia-drivers show a 10% decrease in performance when the whole screen is modified,
# but a 20% increase when only 1/4 is. # but a 20% increase when only 1/4 is.
# My tests on nouveau show terrible slowdown. # My tests on nouveau show terrible slowdown.
# Useful with --glx-swap-method, as well.
glx-copy-from-front = false; glx-copy-from-front = false;
# GLX backend: Use MESA_copy_sub_buffer to do partial screen update. # GLX backend: Use MESA_copy_sub_buffer to do partial screen update.
@ -36,7 +36,6 @@ glx-copy-from-front = false;
# Recommended if it works. # Recommended if it works.
# glx-no-rebind-pixmap = true; # glx-no-rebind-pixmap = true;
# GLX backend: GLX buffer swap method we assume. # GLX backend: GLX buffer swap method we assume.
# Could be undefined (0), copy (1), exchange (2), 3-6, or buffer-age (-1). # Could be undefined (0), copy (1), exchange (2), 3-6, or buffer-age (-1).
# undefined is the slowest and the safest, and the default value. # undefined is the slowest and the safest, and the default value.
@ -47,6 +46,7 @@ glx-copy-from-front = false;
# Useless with --glx-use-copysubbuffermesa. # Useless with --glx-use-copysubbuffermesa.
# Partially breaks --resize-damage. # Partially breaks --resize-damage.
# Defaults to undefined. # Defaults to undefined.
#glx-swap-method = "undefined";
################################# #################################
# #
@ -56,7 +56,6 @@ glx-copy-from-front = false;
# Enabled client-side shadows on windows. # Enabled client-side shadows on windows.
shadow = true; shadow = true;
# Zero the part of the shadow's mask behind the window. Fix some weirdness with ARGB windows.
# The blur radius for shadows. (default 12) # The blur radius for shadows. (default 12)
shadow-radius = 5; shadow-radius = 5;
# The left offset for shadows. (default -15) # The left offset for shadows. (default -15)
@ -71,7 +70,7 @@ shadow-opacity = 0.5;
# shadow-green = 0.0; # shadow-green = 0.0;
# shadow-blue = 0.0; # shadow-blue = 0.0;
# The shadow exclude options are helpful if you have shadows enabled. Due to the way compton draws its shadows, certain applications will have visual glitches # The shadow exclude options are helpful if you have shadows enabled. Due to the way picom draws its shadows, certain applications will have visual glitches
# (most applications are fine, only apps that do weird things with xshapes or argb are affected). # (most applications are fine, only apps that do weird things with xshapes or argb are affected).
# This list includes all the affected apps I found in my testing. The "! name~=''" part excludes shadows on any "Unknown" windows, this prevents a visual glitch with the XFWM alt tab switcher. # This list includes all the affected apps I found in my testing. The "! name~=''" part excludes shadows on any "Unknown" windows, this prevents a visual glitch with the XFWM alt tab switcher.
shadow-exclude = [ shadow-exclude = [
@ -81,10 +80,14 @@ shadow-exclude = [
"name = 'Docky'", "name = 'Docky'",
"name = 'Kupfer'", "name = 'Kupfer'",
"name = 'xfce4-notifyd'", "name = 'xfce4-notifyd'",
"name = 'cpt_frame_window'",
"name *= 'VLC'", "name *= 'VLC'",
"name *= 'compton'", "name *= 'compton'",
"name *= 'picom'",
"name *= 'Chromium'", "name *= 'Chromium'",
"name *= 'Chrome'", "name *= 'Chrome'",
"name *= 'polybar'",
"class_g = 'Firefox' && argb",
"class_g = 'Conky'", "class_g = 'Conky'",
"class_g = 'Kupfer'", "class_g = 'Kupfer'",
"class_g = 'Synapse'", "class_g = 'Synapse'",
@ -92,7 +95,8 @@ shadow-exclude = [
"class_g ?= 'Cairo-dock'", "class_g ?= 'Cairo-dock'",
"class_g ?= 'Xfce4-notifyd'", "class_g ?= 'Xfce4-notifyd'",
"class_g ?= 'Xfce4-power-manager'", "class_g ?= 'Xfce4-power-manager'",
"_GTK_FRAME_EXTENTS@:c" "_GTK_FRAME_EXTENTS@:c",
"_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
]; ];
# Avoid drawing shadow on all shaped windows (see also: --detect-rounded-corners) # Avoid drawing shadow on all shaped windows (see also: --detect-rounded-corners)
shadow-ignore-shaped = false; shadow-ignore-shaped = false;
@ -165,32 +169,23 @@ detect-rounded-corners = true;
detect-client-opacity = true; detect-client-opacity = true;
# Specify refresh rate of the screen. # Specify refresh rate of the screen.
# If not specified or 0, compton will try detecting this with X RandR extension. # If not specified or 0, picom will try detecting this with X RandR extension.
refresh-rate = 0; refresh-rate = 0;
# Set VSync method. VSync methods currently available: # Vertical synchronization: match the refresh rate of the monitor
# none: No VSync
# drm: VSync with DRM_IOCTL_WAIT_VBLANK. May only work on some drivers.
# opengl: Try to VSync with SGI_video_sync OpenGL extension. Only work on some drivers.
# opengl-oml: Try to VSync with OML_sync_control OpenGL extension. Only work on some drivers.
# opengl-swc: Try to VSync with SGI_swap_control OpenGL extension. Only work on some drivers. Works only with GLX backend. Known to be most effective on many drivers. Does not actually control paint timing, only buffer swap is affected, so it doesnt have the effect of --sw-opti unlike other methods. Experimental.
# opengl-mswc: Try to VSync with MESA_swap_control OpenGL extension. Basically the same as opengl-swc above, except the extension we use.
# (Note some VSync methods may not be enabled at compile time.)
vsync = true; vsync = true;
# Enable DBE painting mode, intended to use with VSync to (hopefully) eliminate tearing. # Enable DBE painting mode, intended to use with VSync to (hopefully) eliminate tearing.
# Reported to have no effect, though. # Reported to have no effect, though.
dbe = false; dbe = false;
# Painting on X Composite overlay window. Recommended.
# Limit compton to repaint at most once every 1 / refresh_rate second to boost performance. # 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, # 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. # unless you wish to specify a lower refresh rate than the actual value.
#sw-opti = true; #sw-opti = true;
# Unredirect all windows if a full-screen opaque window is detected, to maximize performance for full-screen windows, like games. # Unredirect all windows if a full-screen opaque window is detected, to maximize performance for full-screen windows, like games.
# Known to cause flickering when redirecting/unredirecting windows. # Known to cause flickering when redirecting/unredirecting windows.
# paint-on-overlay may make the flickering less obvious.
unredir-if-possible = false; unredir-if-possible = false;
# Specify a list of conditions of windows that should always be considered focused. # Specify a list of conditions of windows that should always be considered focused.
@ -201,7 +196,7 @@ detect-transient = true;
# Use WM_CLIENT_LEADER to group windows, and consider windows in the same group focused at the same time. # 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. # WM_TRANSIENT_FOR has higher priority if --detect-transient is enabled, too.
detect-client-leader = true; detect-client-leader = true;
xrender-sync-fence = true;
################################# #################################
# #
# Window type settings # Window type settings
@ -210,22 +205,6 @@ xrender-sync-fence = true;
wintypes: wintypes:
{ {
popup_menu=
{
opacity = 1;
}
dropdown_menu =
{
opacity = 1;
}
dock =
{
shadow = false;
}
dnd =
{
shadow = false;
}
tooltip = tooltip =
{ {
# fade: Fade the particular type of windows. # fade: Fade the particular type of windows.
@ -238,3 +217,13 @@ wintypes:
focus = true; focus = true;
}; };
}; };
######################
#
# XSync
# See: https://github.com/yshui/picom/commit/b18d46bcbdc35a3b5620d817dd46fbc76485c20d
#
######################
# Use X Sync fence to sync clients' draw calls. Needed on nvidia-drivers with GLX backend for some users.
xrender-sync-fence = true;