July 17, 2020

picom configuration

A side-effect of projects going through rites of passages

picom configuration

A side-effect of projects going through rites of passages, such as compton† forking to picom; is that it provides a perfect excuse for configuration maintenance.

picom Β -h and man picom got details on most of Β the options found below. Comments by me.

backend = "xr_glx_hybrid";
glx-no-stencil = true;
glx-no-rebind-pixmap = true;
use-damage = true;

# Inverted colors application list, slowly 
# shrinking as dark mode eats the world:
invert-color-include = ["class_g = 'filelight'",
                        "class_g='MEGAsync'",
                        "name='MEGAsync β†’ MEGAsync'",
                        ];
# PS: X11 'xrandr' (not picom 'xrender') has a full desktop 
# equivalent for color inversion: 'xrandr-invert-desktop' 

# High diffusion and dark shadow. Desktop feels sooty.
shadow = true;
shadow-radius = 58;
shadow-offset-x = -58;
shadow-offset-y = -38;
shadow-opacity = 1.00;
shadow-red = 0;
shadow-green = 0;
shadow-blue = 0;
shadow-ignore-shaped = false;
detect-rounded-corners = true;
shadow-exclude = [
    "! name~=''",
    "name *= 'VLC'",
    "class_g = 'Conky'",
    "class_g ?= 'Notify-osd'",
    "class_g ?= 'Cairo-dock'",
    "class_g ?= 'Xfce4-terminal'",
    "class_g ?= 'Xfce4-power-manager'",
    "_GTK_FRAME_EXTENTS@:c",
    "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
];

# Opacity, dimming and *background* color/image lightness will
# all negate eachother when adjusting for active, inactive windows.
# –– An unbalanced config leads to something like ––:
# -> Dim inactive window -> Also increase opacity 
# -> Let through more light from BG => Inactive window more focused.

# These settings properly indicate active window and keeps inactive
# windows legible using a #404040-something background.

inactive-opacity = 0.72;
active-opacity = 0.88;
frame-opacity = 1.0;
inactive-opacity-override = true;
detect-client-opacity = true;
opacity-exclude = [ ];

inactive-dim =0.10;
inactive-dim-fixed = true;
focus-exclude = [ ];
mark-wmwin-focused = true;
mark-ovredir-focused = true;
use-ewmh-active-win = true;

fading = true;

# **7/0.04/0.04** fade stepping, a smooth transition on i3-wm
# workspace switching. If your desktop feels choppy, shows visual 
# artifacts when rendering
# – it might not be the refresh-rate/vsync/hardware issue – 
# it could be that steps are moving too slowly through the delta.

fade-delta = 7;
fade-in-step = 0.040;
fade-out-step = 0.040;

# AFAIK; openclose fading has no effect on i3 window management.
no-fading-openclose = true;

# Not fading screenshooters
fade-exclude = ["n:a:xfce4-screenshooter",
                "n:a:gnome-screenshot",
                "n:a:Screenshot",
                "n:a:screenshot",
                "n:a:Gnome-screenshot",
                "name *= 'Dunst'",];


# No need to surpass this on 60hz display (urban myth?):
refresh-rate = 60;

vsync = false;
dbe = false;
unredir-if-possible = false;
detect-transient = false;
detect-client-leader = false;
#sw-opti = true;

# Currently not dealing with 'wintypes' chaos. 
 wintypes: {
#    combo =         { fade = false; shadow = false; opacity = 0.80; };
#   desktop =       { fade = false; shadow = false; opacity = 0.80; };
#   dialog =        { fade = false; shadow = false; opacity = 0.80; };
#   dnd =           { fade = false; shadow = false; opacity = 0.80; };
#   dock =          { fade = false; shadow = false; opacity = 0.80; };
#    dropdown_menu = { fade = false; shadow = false; opacity = 0.80; };
#   normal = { fade = false; shadow = false; opacity=0.80; };
#   notify =        { fade = false; shadow = false; opacity = 0.80; };
#   popup_menu =    { fade = false; shadow = false; opacity = 0.80; };
#   splash =        { fade = false; shadow = false; opacity = 0.80; };
#   toolbar =       { fade = false; shadow = false; opacity = 0.80; };
#   tooltip =       { fade = false; shadow = false; opacity = 0.80; };
#   unknown =       { fade = false; shadow = false; opacity = 0.80; };
#   utility =       { fade = false; shadow = false; opacity = 0.80; };
};
This /home/user/.config/picom.conf is also symbolically linked to /home/user/.confg/compton.conf, for sentimental reasons, most likely.
yshui/picom
A lightweight compositor for X11 (previously a compton fork) - yshui/picom