1PICOM(1)                         User Commands                        PICOM(1)
2
3
4

NAME

6       picom - a compositor for X11
7

SYNOPSIS

9       picom [OPTIONS]
10

DESCRIPTION

12       picom is a compositor based on Dana Jansens' version of xcompmgr (which
13       itself was written by Keith Packard). It includes some improvements
14       over the original xcompmgr, like window frame opacity and inactive
15       window transparency.
16

OPTIONS

18       -h, --help
19           Get the usage text embedded in program code, which may be more
20           up-to-date than this man page.
21
22       -r, --shadow-radius=RADIUS
23           The blur radius for shadows, in pixels. (defaults to 12)
24
25       -o, --shadow-opacity=OPACITY
26           The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
27
28       -l, --shadow-offset-x=OFFSET
29           The left offset for shadows, in pixels. (defaults to -15)
30
31       -t, --shadow-offset-y=OFFSET
32           The top offset for shadows, in pixels. (defaults to -15)
33
34       -I, --fade-in-step=OPACITY_STEP
35           Opacity change between steps while fading in. (0.01 - 1.0, defaults
36           to 0.028)
37
38       -O, --fade-out-step=OPACITY_STEP
39           Opacity change between steps while fading out. (0.01 - 1.0,
40           defaults to 0.03)
41
42       -D, --fade-delta=MILLISECONDS
43           The time between steps in fade step, in milliseconds. (> 0,
44           defaults to 10)
45
46       -c, --shadow
47           Enabled client-side shadows on windows. Note desktop windows
48           (windows with _NET_WM_WINDOW_TYPE_DESKTOP) never get shadow, unless
49           explicitly requested using the wintypes option.
50
51       -f, --fading
52           Fade windows in/out when opening/closing and when opacity changes,
53           unless --no-fading-openclose is used.
54
55       -F
56           Equals to -f. Deprecated.
57
58       -i, --inactive-opacity=OPACITY
59           Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
60
61       -e, --frame-opacity=OPACITY
62           Opacity of window titlebars and borders. (0.1 - 1.0, disabled by
63           default)
64
65       -b, --daemon
66           Daemonize process. Fork to background after initialization. This
67           option can only be set from the command line, setting this in the
68           configuration file will have no effect.
69
70       --log-level
71           Set the log level. Possible values are "TRACE", "DEBUG", "INFO",
72           "WARN", "ERROR", in increasing level of importance. Case doesn’t
73           matter. If using the "TRACE" log level, it’s better to log into a
74           file using --log-file, since it can generate a huge stream of logs.
75
76       --log-file
77           Set the log file. If --log-file is never specified, logs will be
78           written to stderr. Otherwise, logs will to written to the given
79           file, though some of the early logs might still be written to the
80           stderr. When setting this option from the config file, it is
81           recommended to use an absolute path.
82
83       --legacy-backends
84           Use the old version of the backends. This option can not be set
85           from the config file.
86
87       --show-all-xerrors
88           Show all X errors (for debugging).
89
90       --config PATH
91           Look for configuration file at the path. See CONFIGURATION FILES
92           section below for where picom looks for a configuration file by
93           default. Use /dev/null to avoid loading configuration file.
94
95       --write-pid-path PATH
96           Write process ID to a file. it is recommended to use an absolute
97           path.
98
99       --shadow-color STRING
100           Color of shadow, as a hex string (#000000)
101
102       --shadow-red VALUE
103           Red color value of shadow (0.0 - 1.0, defaults to 0).
104
105       --shadow-green VALUE
106           Green color value of shadow (0.0 - 1.0, defaults to 0).
107
108       --shadow-blue VALUE
109           Blue color value of shadow (0.0 - 1.0, defaults to 0).
110
111       --inactive-opacity-override
112           Let inactive opacity set by -i override the _NET_WM_WINDOW_OPACITY
113           values of windows.
114
115       --active-opacity OPACITY
116           Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
117
118       --inactive-dim VALUE
119           Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
120
121       --corner-radius VALUE
122           Sets the radius of rounded window corners. When > 0, the compositor
123           will round the corners of windows. Does not interact well with
124           --transparent-clipping. (defaults to 0).
125
126       --rounded-corners-exclude CONDITION
127           Exclude conditions for rounded corners.
128
129       --mark-wmwin-focused
130           Try to detect WM windows (a non-override-redirect window with no
131           child that has WM_STATE) and mark them as active.
132
133       --mark-ovredir-focused
134           Mark override-redirect windows that doesn’t have a child window
135           with WM_STATE focused.
136
137       --no-fading-openclose
138           Do not fade on window open/close.
139
140       --no-fading-destroyed-argb
141           Do not fade destroyed ARGB windows with WM frame. Workaround of
142           bugs in Openbox, Fluxbox, etc.
143
144       --shadow-ignore-shaped
145           Do not paint shadows on shaped windows. Note shaped windows here
146           means windows setting its shape through X Shape extension. Those
147           using ARGB background is beyond our control. Deprecated, use
148           --shadow-exclude 'bounding_shaped' or --shadow-exclude
149           'bounding_shaped && !rounded_corners' instead.
150
151       --detect-rounded-corners
152           Try to detect windows with rounded corners and don’t consider them
153           shaped windows. The accuracy is not very high, unfortunately.
154
155       --detect-client-opacity
156           Detect _NET_WM_WINDOW_OPACITY on client windows, useful for window
157           managers not passing _NET_WM_WINDOW_OPACITY of client windows to
158           frame windows.
159
160       --vsync, --no-vsync
161           Enable/disable VSync.
162
163       --use-ewmh-active-win
164           Use EWMH _NET_ACTIVE_WINDOW to determine currently focused window,
165           rather than listening to FocusIn/FocusOut event. Might have more
166           accuracy, provided that the WM supports it.
167
168       --unredir-if-possible
169           Unredirect all windows if a full-screen opaque window is detected,
170           to maximize performance for full-screen windows. Known to cause
171           flickering when redirecting/unredirecting windows.
172
173       --unredir-if-possible-delay MILLISECONDS
174           Delay before unredirecting the window, in milliseconds. Defaults to
175           0.
176
177       --unredir-if-possible-exclude CONDITION
178           Conditions of windows that shouldn’t be considered full-screen for
179           unredirecting screen.
180
181       --shadow-exclude CONDITION
182           Specify a list of conditions of windows that should have no shadow.
183
184       --clip-shadow-above CONDITION
185           Specify a list of conditions of windows that should have no shadow
186           painted over, such as a dock window.
187
188       --fade-exclude CONDITION
189           Specify a list of conditions of windows that should not be faded.
190
191       --focus-exclude CONDITION
192           Specify a list of conditions of windows that should always be
193           considered focused.
194
195       --inactive-dim-fixed
196           Use fixed inactive dim value, instead of adjusting according to
197           window opacity.
198
199       --detect-transient
200           Use WM_TRANSIENT_FOR to group windows, and consider windows in the
201           same group focused at the same time.
202
203       --detect-client-leader
204           Use WM_CLIENT_LEADER to group windows, and consider windows in the
205           same group focused at the same time. This usually means windows
206           from the same application will be considered focused or unfocused
207           at the same time.WM_TRANSIENT_FOR has higher priority if
208           --detect-transient is enabled, too.
209
210       --blur-method, --blur-size, --blur-deviation, --blur-strength
211           Parameters for background blurring, see the BLUR section for more
212           information.
213
214       --blur-background
215           Blur background of semi-transparent / ARGB windows. Bad in
216           performance, with driver-dependent behavior. The name of the switch
217           may change without prior notifications.
218
219       --blur-background-frame
220           Blur background of windows when the window frame is not opaque.
221           Implies --blur-background. Bad in performance, with
222           driver-dependent behavior. The name may change.
223
224       --blur-background-fixed
225           Use fixed blur strength rather than adjusting according to window
226           opacity.
227
228       --blur-kern MATRIX
229           Specify the blur convolution kernel, with the following format:
230
231               WIDTH,HEIGHT,ELE1,ELE2,ELE3,ELE4,ELE5...
232
233           In other words, the matrix is formatted as a list of comma
234           separated numbers. The first two numbers must be integers, which
235           specify the width and height of the matrix. They must be odd
236           numbers. Then, the following width * height - 1 numbers specifies
237           the numbers in the matrix, row by row, excluding the center
238           element.
239
240           The elements are finite floating point numbers. The decimal pointer
241           has to be .  (a period), scientific notation is not supported.
242
243           The element in the center will either be 1.0 or varying based on
244           opacity, depending on whether you have --blur-background-fixed. Yet
245           the automatic adjustment of blur factor may not work well with a
246           custom blur kernel.
247
248           A 7x7 Gaussian blur kernel (sigma = 0.84089642) looks like:
249
250               --blur-kern '7,7,0.000003,0.000102,0.000849,0.001723,0.000849,0.000102,0.000003,0.000102,0.003494,0.029143,0.059106,0.029143,0.003494,0.000102,0.000849,0.029143,0.243117,0.493069,0.243117,0.029143,0.000849,0.001723,0.059106,0.493069,0.493069,0.059106,0.001723,0.000849,0.029143,0.243117,0.493069,0.243117,0.029143,0.000849,0.000102,0.003494,0.029143,0.059106,0.029143,0.003494,0.000102,0.000003,0.000102,0.000849,0.001723,0.000849,0.000102,0.000003'
251
252           May also be one of the predefined kernels: 3x3box (default),
253           5x5box, 7x7box, 3x3gaussian, 5x5gaussian, 7x7gaussian, 9x9gaussian,
254           11x11gaussian. All Gaussian kernels are generated with sigma =
255           0.84089642 . If you find yourself needing to generate custom blur
256           kernels, you might want to try the new blur configuration (See
257           BLUR).
258
259       --blur-background-exclude CONDITION
260           Exclude conditions for background blur.
261
262       --resize-damage INTEGER
263           Resize damaged region by a specific number of pixels. A positive
264           value enlarges it while a negative one shrinks it. If the value is
265           positive, those additional pixels will not be actually painted to
266           screen, only used in blur calculation, and such. (Due to technical
267           limitations, with --use-damage, those pixels will still be
268           incorrectly painted to screen.) Primarily used to fix the line
269           corruption issues of blur, in which case you should use the blur
270           radius value here (e.g. with a 3x3 kernel, you should use
271           --resize-damage 1, with a 5x5 one you use --resize-damage 2, and so
272           on). May or may not work with --glx-no-stencil. Shrinking doesn’t
273           function correctly.
274
275       --invert-color-include CONDITION
276           Specify a list of conditions of windows that should be painted with
277           inverted color. Resource-hogging, and is not well tested.
278
279       --opacity-rule OPACITY:'CONDITION'
280           Specify a list of opacity rules, in the format PERCENT:PATTERN,
281           like 50:name *= "Firefox". picom-trans is recommended over this.
282           Note we don’t make any guarantee about possible conflicts with
283           other programs that set _NET_WM_WINDOW_OPACITY on frame or client
284           windows.
285
286       --shadow-exclude-reg GEOMETRY
287           Specify a X geometry that describes the region in which shadow
288           should not be painted in, such as a dock window region. Use
289           --shadow-exclude-reg x10+0-0, for example, if the 10 pixels on the
290           bottom of the screen should not have shadows painted on.
291
292       --xinerama-shadow-crop
293           Crop shadow of a window fully on a particular Xinerama screen to
294           the screen.
295
296       --backend BACKEND
297           Specify the backend to use: xrender, glx, or xr_glx_hybrid.
298           xrender is the default one.
299
300           •   xrender backend performs all rendering operations with X Render
301               extension. It is what xcompmgr uses, and is generally a safe
302               fallback when you encounter rendering artifacts or instability.
303
304           •   glx (OpenGL) backend performs all rendering operations with
305               OpenGL. It is more friendly to some VSync methods, and has
306               significantly superior performance on color inversion
307               (--invert-color-include) or blur (--blur-background). It
308               requires proper OpenGL 2.0 support from your driver and
309               hardware. You may wish to look at the GLX performance
310               optimization options below.  --xrender-sync-fence might be
311               needed on some systems to avoid delay in changes of screen
312               contents.
313
314           •   xr_glx_hybrid backend renders the updated screen contents with
315               X Render and presents it on the screen with GLX. It attempts to
316               address the rendering issues some users encountered with GLX
317               backend and enables the better VSync of GLX backends.
318               --vsync-use-glfinish might fix some rendering issues with this
319               backend.
320
321       --glx-no-stencil
322           GLX backend: Avoid using stencil buffer, useful if you don’t have a
323           stencil buffer. Might cause incorrect opacity when rendering
324           transparent content (but never practically happened) and may not
325           work with --blur-background. My tests show a 15% performance boost.
326           Recommended.
327
328       --glx-no-rebind-pixmap
329           GLX backend: Avoid rebinding pixmap on window damage. Probably
330           could improve performance on rapid window content changes, but is
331           known to break things on some drivers (LLVMpipe, xf86-video-intel,
332           etc.). Recommended if it works.
333
334       --no-use-damage
335           Disable the use of damage information. This cause the whole screen
336           to be redrawn every time, instead of the part of the screen has
337           actually changed. Potentially degrades the performance, but might
338           fix some artifacts.
339
340       --xrender-sync-fence
341           Use X Sync fence to sync clients' draw calls, to make sure all draw
342           calls are finished before picom starts drawing. Needed on
343           nvidia-drivers with GLX backend for some users.
344
345       --glx-fshader-win SHADER
346           GLX backend: Use specified GLSL fragment shader for rendering
347           window contents. See compton-default-fshader-win.glsl and
348           compton-fake-transparency-fshader-win.glsl in the source tree for
349           examples. Only works with --legacy-backends enabled.
350
351       --force-win-blend
352           Force all windows to be painted with blending. Useful if you have a
353           --glx-fshader-win that could turn opaque pixels transparent.
354
355       --dbus
356           Enable remote control via D-Bus. See the D-BUS API section below
357           for more details.
358
359       --benchmark CYCLES
360           Benchmark mode. Repeatedly paint until reaching the specified
361           cycles.
362
363       --benchmark-wid WINDOW_ID
364           Specify window ID to repaint in benchmark mode. If omitted or is 0,
365           the whole screen is repainted.
366
367       --no-ewmh-fullscreen
368           Do not use EWMH to detect fullscreen windows. Reverts to checking
369           if a window is fullscreen based only on its size and coordinates.
370
371       --max-brightness
372           Dimming bright windows so their brightness doesn’t exceed this set
373           value. Brightness of a window is estimated by averaging all pixels
374           in the window, so this could comes with a performance hit. Setting
375           this to 1.0 disables this behaviour. Requires --use-damage to be
376           disabled. (default: 1.0)
377
378       --transparent-clipping
379           Make transparent windows clip other windows like non-transparent
380           windows do, instead of blending on top of them.
381
382       --transparent-clipping-exclude CONDITION
383           Specify a list of conditions of windows that should never have
384           transparent clipping applied. Useful for screenshot tools, where
385           you need to be able to see through transparent parts of the window.
386
387       --window-shader-fg SHADER
388           Specify GLSL fragment shader path for rendering window contents.
389           Does not work when --legacy-backends is enabled. Shader is searched
390           first relative to the directory the configuration file is in, then
391           in the usual places for a configuration file. See section SHADER
392           INTERFACE below for more details on the interface.
393
394       --window-shader-fg-rule SHADER:'CONDITION'
395           Specify GLSL fragment shader path for rendering window contents
396           using patterns. Similar to --opacity-rule, arguments should be in
397           the format of SHADER:CONDITION, e.g. "shader.frag:name = 'window'".
398           Leading and trailing whitespaces in SHADER will be trimmed. If
399           SHADER is "default", then the default shader will be used for the
400           matching windows. (This also unfortunately means you can’t use a
401           shader file named "default"). Does not work when --legacy-backends
402           is enabled.
403

FORMAT OF CONDITIONS

405       Some options accept a condition string to match certain windows. A
406       condition string is formed by one or more conditions, joined by logical
407       operators.
408
409       A condition with "exists" operator looks like this:
410
411           <NEGATION> <TARGET> <CLIENT/FRAME> [<INDEX>] : <FORMAT> <TYPE>
412
413       With equals operator it looks like:
414
415           <NEGATION> <TARGET> <CLIENT/FRAME> [<INDEX>] : <FORMAT> <TYPE> <NEGATION> <OP QUALIFIER> <MATCH TYPE> = <PATTERN>
416
417       With greater-than/less-than operators it looks like:
418
419           <NEGATION> <TARGET> <CLIENT/FRAME> [<INDEX>] : <FORMAT> <TYPE> <NEGATION> <OPERATOR> <PATTERN>
420
421       NEGATION (optional) is one or more exclamation marks;
422
423       TARGET is either a predefined target name, or the name of a window
424       property to match. Supported predefined targets are id, x, y, x2 (x +
425       widthb), y2 (like x2), width, height, widthb (width + 2 *
426       border_width), heightb (like widthb), border_width, fullscreen,
427       override_redirect, argb (whether the window has an ARGB visual),
428       focused, wmwin (whether the window looks like a WM window, i.e. has no
429       child window with WM_STATE and is not override-redirected),
430       bounding_shaped, rounded_corners (requires --detect-rounded-corners),
431       client (ID of client window), window_type (window type in string),
432       leader (ID of window leader), name, class_g (= WM_CLASS[1]), class_i (=
433       WM_CLASS[0]), and role.
434
435       CLIENT/FRAME is a single @ if the window attribute should be be looked
436       up on client window, nothing if on frame window;
437
438       INDEX (optional) is the index number of the property to look up. For
439       example, [2] means look at the third value in the property. If not
440       specified, the first value (index [0]) is used implicitly. Use the
441       special value [*] to perform matching against all available property
442       values using logical OR. Do not specify it for predefined targets.
443
444       FORMAT (optional) specifies the format of the property, 8, 16, or 32.
445       On absence we use format X reports. Do not specify it for predefined or
446       string targets.
447
448       TYPE is a single character representing the type of the property to
449       match for: c for CARDINAL, a for ATOM, w for WINDOW, d for DRAWABLE, s
450       for STRING (and any other string types, such as UTF8_STRING). Do not
451       specify it for predefined targets.
452
453       OP QUALIFIER (optional), applicable only for equals operator, could be
454       ? (ignore-case).
455
456       MATCH TYPE (optional), applicable only for equals operator, could be
457       nothing (exact match), * (match anywhere), ^ (match from start), %
458       (wildcard), or ~ (PCRE regular expression).
459
460       OPERATOR is one of = (equals), <, >, <=, =>, or nothing (exists).
461       Exists operator checks whether a property exists on a window (but for
462       predefined targets, exists means != 0 then).
463
464       PATTERN is either an integer or a string enclosed by single or double
465       quotes. Python-3-style escape sequences are supported in the string
466       format.
467
468       Supported logical operators are && (and) and || (or). && has higher
469       precedence than ||, left-to-right associativity. Use parentheses to
470       change precedence.
471
472       Examples:
473
474           # If the window is focused
475           focused
476           focused = 1
477           # If the window is not override-redirected
478           !override_redirect
479           override_redirect = false
480           override_redirect != true
481           override_redirect != 1
482           # If the window is a menu
483           window_type *= "menu"
484           _NET_WM_WINDOW_TYPE@:a *= "MENU"
485           # If the window is marked hidden: _NET_WM_STATE contains _NET_WM_STATE_HIDDEN
486           _NET_WM_STATE@[*]:a = "_NET_WM_STATE_HIDDEN"
487           # If the window is marked sticky: _NET_WM_STATE contains an atom that contains
488           # "sticky", ignore case
489           _NET_WM_STATE@[*]:a *?= "sticky"
490           # If the window name contains "Firefox", ignore case
491           name *?= "Firefox"
492           _NET_WM_NAME@:s *?= "Firefox"
493           # If the window name ends with "Firefox"
494           name %= "*Firefox"
495           name ~= "Firefox$"
496           # If the window has a property _COMPTON_SHADOW with value 0, type CARDINAL,
497           # format 32, value 0, on its frame window
498           _COMPTON_SHADOW:32c = 0
499           # If the third value of _NET_FRAME_EXTENTS is less than 20, or there's no
500           # _NET_FRAME_EXTENTS property on client window
501           _NET_FRAME_EXTENTS@[2]:32c < 20 || !_NET_FRAME_EXTENTS@:32c
502           # The pattern here will be parsed as "dd4"
503           name = "\x64\x64\o64"
504

LEGACY FORMAT OF CONDITIONS

506       This is the old condition format we once used. Support of this format
507       might be removed in the future.
508
509           condition = TARGET:TYPE[FLAGS]:PATTERN
510
511       TARGET is one of "n" (window name), "i" (window class instance), "g"
512       (window general class), and "r" (window role).
513
514       TYPE is one of "e" (exact match), "a" (match anywhere), "s" (match from
515       start), "w" (wildcard), and "p" (PCRE regular expressions, if compiled
516       with the support).
517
518       FLAGS could be a series of flags. Currently the only defined flag is
519       "i" (ignore case).
520
521       PATTERN is the actual pattern string.
522

SHADER INTERFACE

524       This secion describes the interface of a custom shader, how it is used
525       by picom, and what parameters are passed by picom to the shader. This
526       does not apply to the legacy backends.
527
528       A custom shader is a GLSL fragment shader program, which can be used to
529       override the default way of how a window is rendered. If a custom
530       shader is used, the default picom effects (e.g. dimming, color
531       inversion, etc.) will no longer be automatically applied. It would be
532       the custom shader’s responsibility to apply these effects.
533
534       The interface between picom and a custom shader is dependent on which
535       backend is being used. The xrender backend doesn’t support shader at
536       all. Here we descibe the interface provided by the glx backend.
537
538       The shader must define a function, vec4 window_shader(), which would be
539       the entry point of the shader. The returned vec4 will be used to set
540       gl_FragColor. A function, vec4 default_post_processing(vec4 c), is
541       provided for applying the default picom effects to input color c.
542
543       The following uniform/input variables are made available to the shader:
544
545           in vec2 texcoord;             // texture coordinate of the fragment
546
547           uniform float opacity;        // opacity of the window (0.0 - 1.0)
548           uniform float dim;            // dimming factor of the window (0.0 - 1.0, higher means more dim)
549           uniform float corner_radius;  // corner radius of the window (pixels)
550           uniform float border_width;   // estimated border width of the window (pixels)
551           uniform bool invert_color;    // whether to invert the color of the window
552           uniform sampler2D tex;        // texture of the window
553           uniform sampler2D brightness; // estimated brightness of the window, 1x1 texture
554           uniform float max_brightness; // configured maximum brightness of the window (0.0 - 1.0)
555           uniform float time;           // time in milliseconds, counting from an unspecified starting point
556
557       The default behavior of picom window rendering can be replicated by the
558       following shader:
559
560           #version 330
561           in vec2 texcoord;             // texture coordinate of the fragment
562
563           uniform sampler2D tex;        // texture of the window
564
565           // Default window post-processing:
566           // 1) invert color
567           // 2) opacity / transparency
568           // 3) max-brightness clamping
569           // 4) rounded corners
570           vec4 default_post_processing(vec4 c);
571
572           // Default window shader:
573           // 1) fetch the specified pixel
574           // 2) apply default post-processing
575           vec4 window_shader() {
576               vec4 c = texelFetch(tex, ivec2(texcoord), 0);
577               return default_post_processing(c);
578           }
579
580       The interface is expected to be mostly stable.
581

CONFIGURATION FILES

583       picom could read from a configuration file if libconfig support is
584       compiled in. If --config is not used, picom will seek for a
585       configuration file in $XDG_CONFIG_HOME/picom.conf
586       (~/.config/picom.conf, usually), then
587       $XDG_CONFIG_HOME/picom/picom.conf, then $XDG_CONFIG_DIRS/picom.conf
588       (often /etc/xdg/picom.conf), then $XDG_CONFIG_DIRS/picom/picom.conf.
589
590       picom uses general libconfig configuration file format. A sample
591       configuration file is available as picom.sample.conf in the source
592       tree. Most of commandline switches can be used as options in
593       configuration file as well. For example, --vsync option documented
594       above can be set in the configuration file using `vsync = `. Command
595       line options will always overwrite the settings in the configuration
596       file.
597
598       Window-type-specific settings are exposed only in configuration file
599       and has the following format:
600
601           wintypes:
602           {
603             WINDOW_TYPE = { fade = BOOL; shadow = BOOL; opacity = FLOAT; focus = BOOL; blur-background = BOOL; full-shadow = BOOL; clip-shadow-above = BOOL; redir-ignore = BOOL; };
604           };
605
606       WINDOW_TYPE is one of the 15 window types defined in EWMH standard:
607       "unknown", "desktop", "dock", "toolbar", "menu", "utility", "splash",
608       "dialog", "normal", "dropdown_menu", "popup_menu", "tooltip",
609       "notification", "combo", and "dnd".
610
611       Following per window-type options are available:
612
613           fade, shadow
614               Controls window-type-specific shadow and fade settings.
615
616           opacity
617               Controls default opacity of the window type.
618
619           focus
620               Controls whether the window of this type is to be always
621               considered focused. (By default, all window types except
622               "normal" and "dialog" has this on.)
623
624           blur-background
625               Controls whether the window of this type will have its
626               transparent background blurred.
627
628           full-shadow
629               Controls whether shadow is drawn under the parts of the window
630               that you normally won’t be able to see. Useful when the window
631               has parts of it transparent, and you want shadows in those
632               areas.
633
634           clip-shadow-above
635               Controls whether shadows that would have been drawn above the
636               window should be clipped. Useful for dock windows that should
637               have no shadow painted on top.
638
639           redir-ignore
640               Controls whether this type of windows should cause screen to
641               become redirected again after been unredirected. If you have
642               --unredir-if-possible set, and doesn’t want certain window to
643               cause unnecessary screen redirection, you can set this to true.
644

BLUR

646       You can configure how the window background is blurred using a blur
647       section in your configuration file. Here is an example:
648
649           blur:
650           {
651             method = "gaussian";
652             size = 10;
653             deviation = 5.0;
654           };
655
656       Available options of the blur section are:
657
658           method
659               A string. Controls the blur method. Corresponds to the
660               --blur-method command line option. Available choices are: none
661               to disable blurring; gaussian for gaussian blur; box for box
662               blur; kernel for convolution blur with a custom kernel;
663               dual_kawase for dual-filter kawase blur. Note: gaussian, box
664               and dual_kawase blur methods are not supported by the legacy
665               backends. (default: none)
666
667           size
668               An integer. The size of the blur kernel, required by gaussian
669               and box blur methods. For the kernel method, the size is
670               included in the kernel. Corresponds to the --blur-size command
671               line option (default: 3).
672
673           deviation
674               A floating point number. The standard deviation for the
675               gaussian blur method. Corresponds to the --blur-deviation
676               command line option (default: 0.84089642).
677
678           strength
679               An integer in the range 0-20. The strength of the dual_kawase
680               blur method. Corresponds to the --blur-strength command line
681               option. If set to zero, the value requested by --blur-size is
682               approximated (default: 5).
683
684           kernel
685               A string. The kernel to use for the kernel blur method,
686               specified in the same format as the --blur-kerns option.
687               Corresponds to the --blur-kerns command line option.
688

SIGNALS

690       •   picom reinitializes itself upon receiving SIGUSR1.
691

D-BUS API

693       It’s possible to control picom via D-Bus messages, by running picom
694       with --dbus and send messages to com.github.chjj.compton.<DISPLAY>.
695       <DISPLAY> is the display used by picom, with all non-alphanumeric
696       characters transformed to underscores. For DISPLAY=:0.0 you should use
697       com.github.chjj.compton._0_0, for example.
698
699       The D-Bus methods and signals are not yet stable, thus undocumented
700       right now.
701

EXAMPLES

703       •   Disable configuration file parsing:
704
705               $ picom --config /dev/null
706
707       •   Run picom with client-side shadow and fading:
708
709               $ picom -cf
710
711       •   Same thing as above, plus making inactive windows 80% transparent,
712           making frame 80% transparent, don’t fade on window open/close, and
713           fork to background:
714
715               $ picom -bcf -i 0.8 -e 0.8 --no-fading-openclose
716
717       •   Draw white shadows:
718
719               $ picom -c --shadow-red 1 --shadow-green 1 --shadow-blue 1
720
721       •   Avoid drawing shadows on wbar window:
722
723               $ picom -c --shadow-exclude 'class_g = "wbar"'
724
725       •   Enable VSync with GLX backend:
726
727               $ picom --backend glx --vsync
728

BUGS

730       Please submit bug reports to https://github.com/yshui/picom.
731
732       Out dated information in this man page is considered a bug.
733

RESOURCES

735       Homepage: https://github.com/yshui/picom
736

SEE ALSO

738       xcompmgr(1), picom-trans(1)
739
740
741
742picom v10                         12/17/2022                          PICOM(1)
Impressum