From e94e3815b7db9a6f0c82f9f0e3e9e89ed4b9e484 Mon Sep 17 00:00:00 2001 From: Aaron LI Date: Sat, 3 Feb 2018 13:30:08 +0800 Subject: compton: move config to config/compton.conf with cleanups --- _config/compton.conf | 246 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 246 insertions(+) create mode 100644 _config/compton.conf (limited to '_config') diff --git a/_config/compton.conf b/_config/compton.conf new file mode 100644 index 0000000..5eed371 --- /dev/null +++ b/_config/compton.conf @@ -0,0 +1,246 @@ +# +# ~/.config/compton.conf +# Compton: a compositor for X11 +# https://github.com/chjj/compton +# +# Credits: +# [1] http://twily.info/ +# [2] https://github.com/Remedan/dotfiles +# +# Aaron LI +# 2015-12-18 +# + +################################# +# Backend +################################# + +# Backend to use: "xrender" or "glx". +# GLX backend is typically much faster but depends on a sane driver. +backend = "glx"; + +################################# +# GLX backend +################################# + +glx-no-stencil = true; + +# GLX backend: Copy unmodified regions from front buffer instead of +# redrawing them all. +glx-copy-from-front = false; + +# GLX backend: Use MESA_copy_sub_buffer to do partial screen update. +# May break VSync and is not available on some drivers. +# Overrides --glx-copy-from-front. +#glx-use-copysubbuffermesa = true; + +# GLX backend: Avoid rebinding pixmap on window damage. +# Recommended if it works. +#glx-no-rebind-pixmap = true; + +# GLX backend: GLX buffer swap method we assume. +# * undefined (0): the slowest and the safest, and the default value; +# * copy (1): the fastest, but may fail on some drivers; +# * exchange (2), 3-6: +# 2-6 are gradually slower but safer (6 is still faster than 0); +# Usually, double buffer means 2, triple buffer means 3. +# * buffer-age (-1): auto-detect using GLX_EXT_buffer_age, supported +# by some drivers. +glx-swap-method = "undefined"; + +################################# +# Shadows +################################# + +# Enabled client-side shadows on windows. +shadow = true; +# Don't draw shadows on DND windows. +no-dnd-shadow = true; +# Avoid drawing shadows on dock/panel windows. +no-dock-shadow = false; +# Zero the part of the shadow's mask behind the window. +# Fix some weirdness with ARGB windows. +clear-shadow = true; +# The blur radius for shadows. (default 12) +shadow-radius = 3; +# The left offset for shadows. (default -15) +shadow-offset-x = -5; +# The top offset for shadows. (default -15) +shadow-offset-y = -5; +# The translucency for shadows. (default .75) +shadow-opacity = 0.85; + +# Set if you want different colour shadows +#shadow-red = 0.03; +#shadow-green = 0.03; +#shadow-blue = 0.04; + +# 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 (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. +shadow-exclude = [ + "! name~=''", + "name = 'Notification'", + "name = 'Plank'", + "name = 'Docky'", + "name = 'Kupfer'", + "name = 'xfce4-notifyd'", + "name *= 'VLC'", + "name *= 'compton'", + "name *= 'Chromium'", + "name *= 'Chrome'", + "name *= 'Firefox'", + "class_g = 'Conky'", + "class_g = 'Kupfer'", + "class_g = 'Synapse'", + "class_g ?= 'Notify-osd'", + "class_g ?= 'Cairo-dock'", + "class_g ?= 'Xfce4-notifyd'", + "class_g ?= 'Xfce4-power-manager'" +]; +# Avoid drawing shadow on all shaped windows +# (see also: --detect-rounded-corners) +shadow-ignore-shaped = false; + +################################# +# Opacity +################################# + +menu-opacity = 1; +inactive-opacity = 1; +active-opacity = 1; +frame-opacity = 1; +inactive-opacity-override = false; +alpha-step = 0.06; + +# Dim inactive windows. (0.0 - 1.0) +#inactive-dim = 0.2; +# Do not let dimness adjust based on window opacity. +#inactive-dim-fixed = true; +# Blur background of transparent windows. Bad performance with X Render +# backend. GLX backend is preferred. +blur-background = false; +# Blur background of opaque windows with transparent frames as well. +blur-background-frame = false; +# Do not let blur radius adjust based on window opacity. +blur-background-fixed = false; +blur-background-exclude = [ + "window_type = 'dock'", + "window_type = 'desktop'" +]; + +################################# +# Fading +################################# + +# Fade windows during opacity changes. +fading = true; +# The time between steps in a fade in milliseconds. (default 10). +fade-delta = 4; +# Opacity change between steps while fading in. (default 0.028). +fade-in-step = 0.03; +# Opacity change between steps while fading out. (default 0.03). +fade-out-step = 0.03; +# Fade windows in/out when opening/closing +#no-fading-openclose = true; + +# Specify a list of conditions of windows that should not be faded. +fade-exclude = [ ]; + +################################# +# Other +################################# + +# Try to detect WM windows and mark them as active. +mark-wmwin-focused = true; +# Mark all non-WM but override-redirect windows active (e.g. menus). +mark-ovredir-focused = true; +# Use EWMH _NET_WM_ACTIVE_WINDOW to determine which window is focused +# instead of using FocusIn/Out events. +# Usually more reliable but depends on a EWMH-compliant WM. +use-ewmh-active-win = true; +# Detect rounded corners and treat them as rectangular when +# --shadow-ignore-shaped is on. +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. +# This prevents opacity being ignored for some apps. +detect-client-opacity = true; + +# Specify refresh rate of the screen. +# If not specified or 0, compton will try detecting this with X RandR +# extension. +#refresh-rate = 60; + +# Set VSync method. VSync methods currently available: +# * 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 doesn’t 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. +vsync = "opengl-swc"; + +# Enable DBE painting mode, intended to use with VSync to (hopefully) +# eliminate tearing. +dbe = false; + +# Painting on X Composite overlay window. Recommended. +paint-on-overlay = true; + +# Limit compton 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. +sw-opti = false; + +# 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. +# paint-on-overlay may make the flickering less obvious. +#unredir-if-possible = true; + +# Specify a list of conditions of windows that should always be considered +# focused. +focus-exclude = [ ]; + +# Use WM_TRANSIENT_FOR to group windows, and consider windows in the +# same group focused at the same time. +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. +detect-client-leader = true; + +################################# +# Window type settings +################################# + +wintypes: +{ + tooltip = + { + # fade: Fade the particular type of windows. + fade = true; + # shadow: Give those windows shadow + shadow = false; + # opacity: Default opacity for the type of windows. + opacity = 0.85; + # focus: Whether to always consider windows of this type focused. + focus = true; + }; +}; + -- cgit v1.2.2