Better presentation of Picom config
This commit is contained in:
parent
42d32d31fe
commit
180a7f9c54
@ -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="Phundrak’s Picom Configuration" />
|
||||
#+HTML_HEAD_EXTRA: <meta property="og:title" content="Phundrak’s 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 shadow’s 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
|
||||
|
Loading…
Reference in New Issue
Block a user