a compositor for X11
Please report bugs to https://github.com/yshui/picom
usage: compton [options]
The blur radius for shadows. (default 12)
The translucency for shadows. (default .75)
The left offset for shadows. (default -15)
The top offset for shadows. (default -15)
Opacity change between steps while fading in. (default 0.028)
Opacity change between steps while fading out. (default 0.03)
The time between steps in a fade in milliseconds. (default 10)
The opacity for menus. (default 1.0)
Enabled client-side shadows on windows.
Avoid drawing shadows on dock/panel windows.
Zero the part of the shadow's mask behind the window.
Fade windows in/out when opening/closing and when opacity
changes, unless --no-fading-openclose is used.
Equals to -f. Deprecated.
Opacity of inactive windows. (0.1 - 1.0)
Opacity of window titlebars and borders. (0.1 - 1.0)
Don't draw shadows on DND windows
Show all X errors (for debugging).
Look for configuration file at the path. Use /dev/null to avoid
loading configuration file.
Write process ID to a file.
Red color value of shadow (0.0 - 1.0, defaults to 0).
Green color value of shadow (0.0 - 1.0, defaults to 0).
Blue color value of shadow (0.0 - 1.0, defaults to 0).
Inactive opacity set by -i overrides value of _NET_WM_OPACITY.
Dim inactive windows. (0.0 - 1.0, defaults to 0)
Default opacity for active windows. (0.0 - 1.0)
Try to detect WM windows and mark them as active.
Exclude conditions for shadows.
Exclude conditions for fading.
Mark windows that have no WM frame as active.
Do not fade on window open/close.
Do not fade destroyed ARGB windows with WM frame. Workaround of bugs
in Openbox, Fluxbox, etc.
Do not paint shadows on shaped windows. (Deprecated, use
--shadow-exclude 'bounding_shaped' or
--shadow-exclude 'bounding_shaped && !rounded_corners' instead.)
Try to detect windows with rounded corners and don't consider
them shaped windows. Affects --shadow-ignore-shaped,
--unredir-if-possible, and possibly others. You need to turn this
on manually if you want to match against rounded_corners in
Detect _NET_WM_OPACITY on client windows, useful for window
managers not passing _NET_WM_OPACITY of client windows to frame
Specify refresh rate of the screen. If not specified or 0, we
will try detecting this with X RandR extension.
Painting on X Composite overlay window.
Limit repaint to at most once every 1 / refresh_rate second.
Use _NET_WM_ACTIVE_WINDOW on the root window to determine which
window is focused instead of using FocusIn/Out events.
Unredirect all windows if a full-screen opaque window is
detected, to maximize performance for full-screen windows.
Delay before unredirecting the window, in milliseconds.
Defaults to 0.
Conditions of windows that shouldn't be considered full-screen
for unredirecting screen.
Specify a list of conditions of windows that should always be
Use fixed inactive dim value.
Dims windows which average brightness is above this threshold.
Default: 1.0 or no dimming.
Use WM_TRANSIENT_FOR 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.
The algorithm used for background bluring. Available choices are:
'none' to disable, 'gaussian', 'box' or 'kernel' for custom
convolution blur with --blur-kern.
Note: 'gaussian' and 'box' require --experimental-backends.
The radius of the blur kernel for 'box' and 'gaussian' blur method.
The standard deviation for the 'gaussian' blur method.
Blur background of semi-transparent / ARGB windows. Bad in
performance. The switch name may change without prior
Blur background of windows when the window frame is not opaque.
Implies --blur-background. Bad in performance. The switch name
Use fixed blur strength instead of adjusting according to window
Specify the blur convolution kernel, with the following format:
The element in the center must not be included, it will be forever
1.0 or changing based on opacity, depending on whether you have
A 7x7 Gaussian blur kernel looks like:
Up to 4 blur kernels may be specified, separated with semicolon, for
May also be one the predefined kernels: 3x3box (default), 5x5box,
7x7box, 3x3gaussian, 5x5gaussian, 7x7gaussian, 9x9gaussian,
Exclude conditions for background blur.
Resize damaged region by a specific number of pixels. A positive
value enlarges it while a negative one shrinks it. Useful for
fixing the line corruption issues of blur. May or may not
work with --glx-no-stencil. Shrinking doesn't function correctly.
Specify a list of conditions of windows that should be painted with
inverted color. Resource-hogging, and is not well tested.
Specify a list of opacity rules, in the format "PERCENT:PATTERN",
like '50:name *= "Firefox"'. picom-trans is recommended over
this. Note we do not distinguish 100% and unset, and we don't make
any guarantee about possible conflicts with other programs that set
_NET_WM_WINDOW_OPACITY on frame or client windows.
Specify a X geometry that describes the region in which shadow
should not be painted in, such as a dock window region.
Use --shadow-exclude-reg 'x10+0-0', for example, if the 10 pixels
on the bottom of the screen should not have shadows painted on.
Crop shadow of a window fully on a particular Xinerama screen to the
Choose backend. Possible choices are xrender, glx, and
GLX backend: Avoid using stencil buffer. Might cause issues
when rendering transparent content. My tests show a 15% performance
GLX backend: 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,
Disable the use of damage information. This cause the whole screen to
be redrawn everytime, instead of the part of the screen that has
actually changed. Potentially degrades the performance, but might fix
Additionally use X Sync fence to sync clients' draw calls. Needed
on nvidia-drivers with GLX backend for some users.
Force all windows to be painted with blending. Useful if you have a
--glx-fshader-win that could turn opaque pixels transparent.
Enable remote control via D-Bus. See the D-BUS API section in the
man page for more details.
Benchmark mode. Repeatedly paint until reaching the specified cycles.
Specify window ID to repaint in benchmark mode. If omitted or is 0,
the whole screen is repainted.
Highlight the updated area of the screen. For debugging the xrender
Render into a separate window, and don't take over the screen. Useful
when you want to attach a debugger to picom
Do not use EWMH to detect fullscreen windows. Reverts to checking
if a window is fullscreen based only on its size and coordinates.
Make transparent windows clip other windows like non-transparent windows
do, instead of blending on top of them