Better presentation of Picom config

This commit is contained in:
Lucien Cartier-Tilet 2020-08-15 18:20:39 +02:00
parent 42d32d31fe
commit 180a7f9c54
Signed by: phundrak
GPG Key ID: BD7789E705CB8DCA

View File

@ -1,11 +1,9 @@
#+title: Picom Configuration
#+INCLUDE: headers
#+setupfile: auto-id:t
#+title: Picom (Compton) Configuration
#+setupfile: headers
#+HTML_HEAD_EXTRA: <meta name="description" content="Phundraks Picom Configuration" />
#+HTML_HEAD_EXTRA: <meta property="og:title" content="Phundraks Picom Configuration" />
#+HTML_HEAD_EXTRA: <meta property="og:description" content="Description of the Picom configuration of Phundrak" />
#+PROPERTY: header-args:conf :exports code :tangle ~/.config/picom/picom.conf
#+STARTUP: content
* Table of Contents :TOC:noexport:
:PROPERTIES:
@ -49,24 +47,24 @@
#+END_SRC
Picom can also apply some level of opacity on shadows.
- Default value :: ~0.75~
- Min value :: ~0.0~
- Max value :: ~1.0~
| Default value | ~0.75~ |
| Min value | ~0.0~ |
| Max value | ~1.0~ |
#+BEGIN_SRC conf
shadow-opacity = 0.85
#+END_SRC
The left and top offsets for shadows are expressed in pixels.
- Default value :: ~-15~
| Default value | ~-15~ |
#+BEGIN_SRC conf
shadow-offset-x = -5;
shadow-offset-y = -5;
#+END_SRC
The following values have an impact on the shadows RGB color.
- Default value :: ~0.0~
- Min value :: ~0.0~
- Max value :: ~1.0~
| Default value | ~0.0~ |
| Min value | ~0.0~ |
| Max value | ~1.0~ |
#+BEGIN_SRC conf
shadow-red = 0.0;
shadow-green = 0.0;
@ -75,7 +73,7 @@
It is possible to specify a list of conditions of windows that should have no
shadow.
- Default value :: ~[]~
| Default value | ~[]~ |
#+BEGIN_SRC conf
shadow-exclude = [
"name = 'Notification'",
@ -94,7 +92,7 @@
#+END_SRC
would make the 10 pixels at the bottom of the screen not have any shadow
painted on.
- Default value :: ~""~
| Default value | ~""~ |
#+BEGIN_SRC conf :tangle no
shadow-exclude-reg = ""
#+END_SRC
@ -116,7 +114,7 @@
Thanks to this value, Picom can avoid drawing shadows on dock or panel
windows. This option is deprecated, and users should use the ~wintypes~
option in their config file instead.
- Default value :: ~false~
| Default value | ~false~ |
#+BEGIN_SRC conf
no-dock-shadow = false;
#+END_SRC
@ -124,7 +122,7 @@
This option allows Picom not to draw on drag-and-drop windows. This option is
deprecated, and users should use the ~wintypes~ option in their config file
instead.
- Default value :: ~false~
| Default value | ~false~ |
#+BEGIN_SRC conf
no-dnd-shadow = false;
#+END_SRC
@ -140,7 +138,7 @@
#+BEGIN_SRC conf :tangle no
shadow-exclude = 'bounding_shaped && !rounded_corners'
#+END_SRC
- Default value :: ~""~
| Default value | ~""~ |
#+BEGIN_SRC conf :tangle no
shadow-ignore-shaped = ""
#+END_SRC
@ -172,44 +170,44 @@
closing or when the opacity changes. The following parameter toggles this
feature on or off. However, its behavior can be changed with
~no-fading-openclose~.
- Default value :: ~false~
| Default value | ~false~ |
#+BEGIN_SRC conf
fading = true
#+END_SRC
These values controls the opacity change between steps while fading in and
out.
- Default value :: ~0.028~ (fade-in), ~0.03~ (fade-out)
- Min value :: ~0.01~
- Max value :: ~1.0~
| Default value | ~0.028~ (fade-in), ~0.03~ (fade-out) |
| Min value | ~0.01~ |
| Max value | ~1.0~ |
#+BEGIN_SRC conf
fade-in-step = 0.09;
fade-out-step = 0.08;
#+END_SRC
This value represents the time between steps in fade steps, in milliseconds.
- Default value :: ~10~
- Min value :: ~1~
| Default value | ~10~ |
| Min value | ~1~ |
#+BEGIN_SRC conf
fade-delta = 20;
#+END_SRC
It is possible to exclude some windows that should not be faded with a
specified list of conditions.
- Default value :: ~[]~
| Default value | ~[]~ |
#+BEGIN_SRC conf
fade-exclude = [ "class_g = 'mpv'" ];
#+END_SRC
This option allows Picom not to create any fade on windows opening or closing.
- Default value :: ~false~
| Default value | ~false~ |
#+BEGIN_SRC conf
no-fading-openclose = true;
#+END_SRC
Finally, this option is a workaround for Openbox, Fluxbox and others by not
fading destroyed ARGB windows with WM frame.
- Default value :: ~false~
| Default value | ~false~ |
#+BEGIN_SRC conf
no-fading-destroyed-argb = false
#+END_SRC
@ -221,66 +219,66 @@
Picom is also able to create some opacity or transparency for windows,
depending on their state or on some user-defined rules. For instance, the
following value describes the opacity of inactive windows.
- Default value :: ~1.0~
- Min value :: ~0.1~
- Max value :: ~1.0~
| Default value | ~1.0~ |
| Min value | ~0.1~ |
| Max value | ~1.0~ |
#+BEGIN_SRC conf
inactive-opacity = 0.6;
#+END_SRC
On the other hand, it is possible to declare a default opacity for active
windows.
- Default value :: ~1.0~
- Min value :: ~0.1~
- Max value :: ~1.0~
| Default value | ~1.0~ |
| Min value | ~0.1~ |
| Max value | ~1.0~ |
#+BEGIN_SRC conf
active-opacity = 1;
#+END_SRC
This however describes the opacity of window titlebars and borders.
- Default value :: ~1.0~
- Min value :: ~0.1~
- Max value :: ~1.0~
| Default value | ~1.0~ |
| Min value | ~0.1~ |
| Max value | ~1.0~ |
#+BEGIN_SRC conf
frame-opacity = 1.0;
#+END_SRC
~menu-opacity~ describes the opacity for dropdown menus and popup menus.
- Default value :: ~1.0~
- Min value :: ~0.1~
- Max value :: ~1.0~
| Default value | ~1.0~ |
| Min value | ~0.1~ |
| Max value | ~1.0~ |
#+BEGIN_SRC conf
# menu-opacity = 0.9;
#+END_SRC
~inactive-opacity-override~ allows the user to let inactive opacity set by
~-i~ override the ~_NET_WM_OPACITY_ values of windows.
- Default value :: ~true~
| Default value | ~true~ |
#+BEGIN_SRC conf
inactive-opacity-override = true;
#+END_SRC
While it is possible to alter opacity on inactive windows, it is also possible
to dim them.
- Default value :: ~1.0~
- Min value :: ~0.1~
- Max value :: ~1.0~
| Default value | ~1.0~ |
| Min value | ~0.1~ |
| Max value | ~1.0~ |
#+BEGIN_SRC conf
# inactive-dim = 1.0
#+END_SRC
It is also possible to use a fixed inactive dim value, instead of adjusting
according to window opacity.
- Default value :: ~1.0~
- Min value :: ~0.1~
- Max value :: ~1.0~
| Default value | ~1.0~ |
| Min value | ~0.1~ |
| Max value | ~1.0~ |
#+BEGIN_SRC conf
# inactive-dim-fixed = 1.0
#+END_SRC
It is also possible to specify a list of conditions of windows that should
always be considered focused.
- Default value :: ~[]~
| Default value | ~[]~ |
#+BEGIN_SRC conf
focus-exclude = [ "class_g = 'mpv'" ];
#+END_SRC
@ -289,7 +287,7 @@
~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.
- Default value :: ~[]~
| Default value | ~[]~ |
#+BEGIN_SRC conf
opacity-rule = [
"85:class_g = 'Polybar'",
@ -317,35 +315,35 @@
This value enables or disables the blur for the background of semi-transparent
or ARGB windows. It has bad performances though, with driver-dependent
behavior. The name of the switch may change without prior notifications.
- Default value :: ~false~
| Default value | ~false~ |
#+BEGIN_SRC conf
blur-background = true;
#+END_SRC
Blur background of windows when the window frame is not opaque. If true, this
implies the value ~true~ for ~blur-background~.
- Default value :: ~false~
| Default value | ~false~ |
#+BEGIN_SRC conf
blur-background-frame = true;
#+END_SRC
The following determines whether to use fixed blur strength rather than
adjusting according to window opacity.
- Default value :: ~false~
| Default value | ~false~ |
#+BEGIN_SRC conf
blur-background-fixed = false;
#+END_SRC
Specify the blur convolution kernel, with the format
~"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"~.
- Default value :: ~''~
| Default value | ~""~ |
#+BEGIN_SRC conf
# blur-kern = "3x3box";
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";
#+END_SRC
It is possible to write exclude conditions for background blur.
- Default value :: ~[]~
| Default value | ~[]~ |
#+BEGIN_SRC conf
blur-background-exclude = [
"window_type = 'desktop'",
@ -359,34 +357,34 @@
:END:
Daemonize process. Fork to background after initialization. Causes issues
with certain (badly-written) drivers.
- Default value :: ~false~
| Default value | ~false~ |
#+BEGIN_SRC conf
daemon = true;
#+END_SRC
Picom has three backends it can use: ~xrender~, ~glx~, and ~xr_glx_hybrid~.
GLX backend is typically much faster but depends on a sane driver.
- Default value :: ~xrender~
| Default value | ~xrender~ |
#+BEGIN_SRC conf
backend = "glx";
#+END_SRC
This enables or disables VSync.
- Default value :: ~false~
| Default value | ~false~ |
#+BEGIN_SRC conf
vsync = true;
#+END_SRC
Enable remote control via D-Bus. See the \*D-BUS API\* section below for more
Enable remote control via D-Bus. See the *D-BUS API* section below for more
details.
- Default value :: ~false~
| Default value | ~false~ |
#+BEGIN_SRC conf
dbus = false;
#+END_SRC
Try to detect WM windows (a non-override-redirect window with no child that
has ~WM_STATE~) and markz them as active.
- Default value :: ~false~
| Default value | ~false~ |
#+BEGIN_SRC conf
mark-wmwin-focused = true;
#+END_SRC
@ -394,28 +392,28 @@
Mark override-redirect windows that doesn't have a child window with
~WM_STATE~ focused.
- Default value :: ~false~
| Default value | ~false~ |
#+BEGIN_SRC conf
mark-ovredir-focused = true;
#+END_SRC
Try to detect windows with rounded corners and don't consider them shaped
windows. The accuracy is not very high, unfortunately.
- Default value :: ~false~
| Default value | ~false~ |
#+BEGIN_SRC conf
detect-rounded-corners = true;
#+END_SRC
Detect ~_NET_WM_OPACITY~ on client windows, useful for window managers not
passing ~_NET_WM_OPACITY~ of client windows to frame windows.
- Default value :: ~false~
| Default value | ~false~ |
#+BEGIN_SRC conf
detect-client-opacity = true;
#+END_SRC
Specify refresh rate of the screen. If not specified or 0, picom will try
detecting this with X RandR extension.
- Default value :: ~60~
| Default value | ~60~ |
#+BEGIN_SRC conf
refresh-rate = 60;
#+END_SRC
@ -427,7 +425,7 @@
#+END_SRC
as they essentially does sw-opti's job already, unless you wish to specify a
lower refresh rate than the actual value.
- Default value :: ~""~
| Default value | ~""~ |
#+BEGIN_SRC conf
# sw-opti =;
#+END_SRC
@ -435,7 +433,7 @@
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.
- Default value :: ~false~
| Default value | ~false~ |
#+BEGIN_SRC conf
# use-ewmh-active-win = false;
#+END_SRC
@ -444,27 +442,27 @@
performance for full-screen windows. Known to cause flickering when
redirecting/unredirecting windows. paint-on-overlay may make the flickering
less obvious.
- Default value :: ~false~
| Default value | ~false~ |
#+BEGIN_SRC conf
unredir-if-possible = false;
#+END_SRC
Delay before unredirecting the window, in milliseconds.
- Default value :: ~0~
| Default value | ~0~ |
#+BEGIN_SRC conf
unredir-if-possible-delay = 0;
#+END_SRC
Conditions of windows that shouldn't be considered full-screen for
unredirecting screen.
- Default value :: ~[]~
| Default value | ~[]~ |
#+BEGIN_SRC conf
unredir-if-possible-exclude = [];
#+END_SRC
Use ~WM_TRANSIENT_FOR~ to group windows, and consider windows in the same
group focused at the same time.
- Default value :: ~false~
| Default value | ~false~ |
#+BEGIN_SRC conf
detect-transient = true;
#+END_SRC
@ -472,7 +470,7 @@
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.
- Default value :: ~false~
| Default value | ~false~ |
#+BEGIN_SRC conf
detect-client-leader = true;
#+END_SRC
@ -486,14 +484,14 @@
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.
- Default value :: ~1~
| Default value | ~1~ |
#+BEGIN_SRC conf
resize-damage = 1;
#+END_SRC
Specify a list of conditions of windows that should be painted with inverted
color. Resource-hogging, and is not well tested.
- Default value :: ~[]~
| Default value | ~[]~ |
#+BEGIN_SRC conf
invert-color-include = [];
#+END_SRC
@ -502,7 +500,7 @@
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
- Default value :: ~false~
| Default value | ~false~ |
#+BEGIN_SRC conf
use-damage = false;
#+END_SRC
@ -510,21 +508,21 @@
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.
- Default value :: ~false~
| Default value | ~false~ |
#+BEGIN_SRC conf
xrender-sync-fence = false;
#+END_SRC
Force all windows to be painted with blending. Useful if you have a
glx-fshader-win that could turn opaque pixels transparent.
- Default value :: ~false~
| Default value | ~false~ |
#+BEGIN_SRC conf
force-win-blend = false;
#+END_SRC
Do not use EWMH to detect fullscreen windows. Reverts to checking if a window
is fullscreen based only on its size and coordinates.
- Default value :: ~false~
| Default value | ~false~ |
#+BEGIN_SRC conf
no-ewmh-fullscreen = false;
#+END_SRC
@ -533,14 +531,14 @@
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 value :: ~1.0~
| Default value | ~1.0~ |
#+BEGIN_SRC conf
max-brightness = 1.0;
#+END_SRC
Make transparent windows clip other windows like non-transparent windows do,
instead of blending on top of them.
- Default value :: ~false~
| Default value | ~false~ |
#+BEGIN_SRC conf
transparent-clipping = false;
#+END_SRC
@ -554,7 +552,7 @@
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.
- Default value :: ~"debug"~
| Default value | ~"debug"~ |
#+BEGIN_SRC conf
log-level = "warn";
#+END_SRC
@ -563,19 +561,19 @@
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.
- Default value :: ~''~
| Default value | ~''~ |
#+BEGIN_SRC conf
# log-file = '/path/to/your/log/file';
#+END_SRC
Show all X errors (for debugging)
- Default value :: ~false~
| Default value | ~false~ |
#+BEGIN_SRC conf
# show-all-xerrors = false;
#+END_SRC
Write process ID to a file.
- Default value :: ~''~
| Default value | ~''~ |
#+BEGIN_SRC conf
# write-pid-path = '/path/to/your/log/file';
#+END_SRC
@ -629,7 +627,7 @@
cause incorrect opacity when rendering transparent content (but never
practically happened) and may not work with blur-background. Tests show a 15%
performance boost. Recommended.
- Default value :: ~false~
| Default value | ~false~ |
#+BEGIN_SRC conf
glx-no-stencil = true;
#+END_SRC
@ -637,7 +635,7 @@
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.
- Default value :: ~false~
| Default value | ~false~ |
#+BEGIN_SRC conf
glx-no-rebind-pixmap = false;
#+END_SRC
@ -645,7 +643,7 @@
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.
- Default value :: ~''~
| Default value | ~''~ |
#+BEGIN_SRC conf :tangle no
glx-fshader-win = '';
#+END_SRC