1picom(1)
2========
3:doctype:     manpage
4:man source:  picom
5:man version: {picom-version}
6:man manual:  User Commands
7
8NAME
9----
10picom - a compositor for X11
11
12SYNOPSIS
13--------
14*picom* ['OPTIONS']
15
16DESCRIPTION
17-----------
18picom is a compositor based on Dana Jansens' version of xcompmgr (which itself was written by Keith Packard). It includes some improvements over the original xcompmgr, like window frame opacity and inactive window transparency.
19
20OPTIONS
21-------
22*-h*, *--help*::
23	Get the usage text embedded in program code, which may be more up-to-date than this man page.
24
25*-r*, *--shadow-radius*='RADIUS'::
26	The blur radius for shadows, in pixels. (defaults to 12)
27
28*-o*, *--shadow-opacity*='OPACITY'::
29	The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
30
31*-l*, *--shadow-offset-x*='OFFSET'::
32	The left offset for shadows, in pixels. (defaults to -15)
33
34*-t*, *--shadow-offset-y*='OFFSET'::
35	The top offset for shadows, in pixels. (defaults to -15)
36
37*-I*, *--fade-in-step*='OPACITY_STEP'::
38	Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
39
40*-O*, *--fade-out-step*='OPACITY_STEP'::
41	Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
42
43*-D*, *--fade-delta*='MILLISECONDS'::
44	The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
45
46*-m*, *--menu-opacity*='OPACITY'::
47	Default opacity for dropdown menus and popup menus. (0.0 - 1.0, defaults to 1.0)
48
49*-c*, *--shadow*::
50	Enabled client-side shadows on windows. Note desktop windows (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow, unless explicitly requested using the wintypes option.
51
52*-C*, *--no-dock-shadow*::
53	Avoid drawing shadows on dock/panel windows. This option is deprecated, you should use the *wintypes* option in your config file instead.
54
55*-f*, *--fading*::
56	Fade windows in/out when opening/closing and when opacity changes, unless *--no-fading-openclose* is used.
57
58*-F*::
59	Equals to *-f*. Deprecated.
60
61*-i*, *--inactive-opacity*='OPACITY'::
62	Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
63
64*-e*, *--frame-opacity*='OPACITY'::
65	Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
66
67*-G*, *--no-dnd-shadow*::
68	Don't draw shadows on drag-and-drop windows. This option is deprecated, you should use the *wintypes* option in your config file instead.
69
70*-b*, *--daemon*::
71	Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
72
73*--log-level*::
74	Set the log level. Possible values are "TRACE", "DEBUG", "INFO", "WARN", "ERROR", 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.
75
76*--log-file*::
77	Set the log file. If *--log-file* is never specified, logs will be written to 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.
78
79*--experimental-backends*::
80	Use the new, reimplemented version of the backends. The new backends are HIGHLY UNSTABLE at this point, you have been warned. This option is not available in the config file.
81
82*--show-all-xerrors*::
83	Show all X errors (for debugging).
84
85*--config* 'PATH'::
86	Look for configuration file at the path. See *CONFIGURATION FILES* section below for where picom looks for a configuration file by default. Use `/dev/null` to avoid loading configuration file.
87
88*--write-pid-path* 'PATH'::
89	Write process ID to a file. it is recommended to use an absolute path.
90
91*--shadow-red* 'VALUE'::
92	Red color value of shadow (0.0 - 1.0, defaults to 0).
93
94*--shadow-green* 'VALUE'::
95	Green color value of shadow (0.0 - 1.0, defaults to 0).
96
97*--shadow-blue* 'VALUE'::
98	Blue color value of shadow (0.0 - 1.0, defaults to 0).
99
100*--inactive-opacity-override*::
101	Let inactive opacity set by *-i* override the '_NET_WM_OPACITY' values of windows.
102
103*--active-opacity* 'OPACITY'::
104	Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
105
106*--inactive-dim* 'VALUE'::
107	Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
108
109*--mark-wmwin-focused*::
110	Try to detect WM windows (a non-override-redirect window with no child that has 'WM_STATE') and mark them as active.
111
112*--mark-ovredir-focused*::
113	Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
114
115*--no-fading-openclose*::
116	Do not fade on window open/close.
117
118*--no-fading-destroyed-argb*::
119	Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
120
121*--shadow-ignore-shaped*::
122	Do not paint shadows on shaped windows. Note shaped windows here means windows setting its shape through X Shape extension. Those using ARGB background is beyond our control. Deprecated, use `--shadow-exclude 'bounding_shaped'` or `--shadow-exclude 'bounding_shaped && !rounded_corners'` instead.
123
124*--detect-rounded-corners*::
125	Try to detect windows with rounded corners and don't consider them shaped windows. The accuracy is not very high, unfortunately.
126
127*--detect-client-opacity*::
128	Detect '_NET_WM_OPACITY' on client windows, useful for window managers not passing '_NET_WM_OPACITY' of client windows to frame windows.
129
130*--refresh-rate* 'REFRESH_RATE'::
131	Specify refresh rate of the screen. If not specified or 0, picom will try detecting this with X RandR extension.
132
133*--vsync*, *--no-vsync*::
134	Enable/disable VSync.
135
136*--sw-opti*::
137	Limit picom to repaint at most once every 1 / 'refresh_rate' second to boost performance. This should not be used with *--vsync* drm/opengl/opengl-oml as they essentially does *--sw-opti*'s job already, unless you wish to specify a lower refresh rate than the actual value.
138
139*--use-ewmh-active-win*::
140	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.
141
142*--unredir-if-possible*::
143	Unredirect all windows if a full-screen opaque window is detected, to maximize performance for full-screen windows. Known to cause flickering when redirecting/unredirecting windows.
144
145*--unredir-if-possible-delay* 'MILLISECONDS'::
146	Delay before unredirecting the window, in milliseconds. Defaults to 0.
147
148*--unredir-if-possible-exclude* 'CONDITION'::
149	Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
150
151*--shadow-exclude* 'CONDITION'::
152	Specify a list of conditions of windows that should have no shadow.
153
154*--fade-exclude* 'CONDITION'::
155	Specify a list of conditions of windows that should not be faded.
156
157*--focus-exclude* 'CONDITION'::
158	Specify a list of conditions of windows that should always be considered focused.
159
160*--inactive-dim-fixed*::
161	Use fixed inactive dim value, instead of adjusting according to window opacity.
162
163*--detect-transient*::
164	Use 'WM_TRANSIENT_FOR' to group windows, and consider windows in the same group focused at the same time.
165
166*--detect-client-leader*::
167	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.
168
169*--blur-method*, *--blur-size*, *--blur-deviation*::
170	Parameters for background blurring, see the *BLUR* section for more information.
171
172*--blur-background*::
173	Blur background of semi-transparent / ARGB windows. Bad in performance, with driver-dependent behavior. The name of the switch may change without prior notifications.
174
175*--blur-background-frame*::
176	Blur background of windows when the window frame is not opaque.  Implies *--blur-background*. Bad in performance, with driver-dependent behavior. The name may change.
177
178*--blur-background-fixed*::
179	Use fixed blur strength rather than adjusting according to window opacity.
180
181*--blur-kern* 'MATRIX'::
182	Specify the blur convolution kernel, with the following format:
183+
184----
185WIDTH,HEIGHT,ELE1,ELE2,ELE3,ELE4,ELE5...
186----
187+
188In other words, the matrix is formatted as a list of comma separated numbers. The first two numbers must be integers, which specify the width and height of the matrix. They must be odd numbers. Then, the following 'width * height - 1' numbers specifies the numbers in the matrix, row by row, excluding the center element.
189+
190The elements are finite floating point numbers. The decimal pointer has to be '.' (a period), scientific notation is not supported.
191+
192The element in the center will either be 1.0 or varying based on opacity, depending on whether you have *--blur-background-fixed*. Yet the automatic adjustment of blur factor may not work well with a custom blur kernel.
193+
194A 7x7 Gaussian blur kernel (sigma = 0.84089642) looks like:
195+
196----
197--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'
198----
199+
200May also be one of the predefined kernels: `3x3box` (default), `5x5box`, `7x7box`, `3x3gaussian`, `5x5gaussian`, `7x7gaussian`, `9x9gaussian`, `11x11gaussian`. All Gaussian kernels are generated with sigma = 0.84089642 . If you find yourself needing to generate custom blur kernels, you might want to try the new blur configuration supported by the experimental backends (See *BLUR* and *--experimental-backends*).
201
202*--blur-background-exclude* 'CONDITION'::
203	Exclude conditions for background blur.
204
205*--resize-damage* 'INTEGER'::
206	Resize damaged region by a specific number of pixels. A positive value enlarges it while a negative one shrinks it. If the value is positive, those additional pixels will not be actually painted to screen, only used in blur calculation, and such. (Due to technical limitations, with *--use-damage*, those pixels will still be incorrectly painted to screen.) Primarily used to fix the line corruption issues of blur, in which case you should use the blur radius 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.
207
208*--invert-color-include* 'CONDITION'::
209	Specify a list of conditions of windows that should be painted with inverted color. Resource-hogging, and is not well tested.
210
211*--opacity-rule* 'OPACITY':'CONDITION'::
212	Specify a list of opacity rules, in the format `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.
213
214*--shadow-exclude-reg* 'GEOMETRY'::
215	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.
216
217*--xinerama-shadow-crop*::
218	Crop shadow of a window fully on a particular Xinerama screen to the screen.
219
220*--backend* 'BACKEND'::
221	Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`. `xrender` is the default one.
222+
223--
224* `xrender` backend performs all rendering operations with X Render extension. It is what `xcompmgr` uses, and is generally a safe fallback when you encounter rendering artifacts or instability.
225* `glx` (OpenGL) backend performs all rendering operations with OpenGL. It is more friendly to some VSync methods, and has significantly superior performance on color inversion (*--invert-color-include*) or blur (*--blur-background*). It requires proper OpenGL 2.0 support from your driver and hardware. You may wish to look at the GLX performance optimization options below. *--xrender-sync-fence* might be needed on some systems to avoid delay in changes of screen contents.
226* `xr_glx_hybrid` backend renders the updated screen contents with X Render and presents it on the screen with GLX. It attempts to address the rendering issues some users encountered with GLX backend and enables the better VSync of GLX backends. *--vsync-use-glfinish* might fix some rendering issues with this backend.
227--
228
229*--glx-no-stencil*::
230  GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer. Might cause incorrect opacity when rendering transparent content (but never practically happened) and may not work with *--blur-background*. My tests show a 15% performance boost. Recommended.
231
232*--glx-no-rebind-pixmap*::
233	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, etc.). Recommended if it works.
234
235*--no-use-damage*::
236	Disable the use of damage information. This cause the whole screen to be redrawn everytime, instead of the part of the screen has actually changed. Potentially degrades the performance, but might fix some artifacts.
237
238*--xrender-sync-fence*::
239	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.
240
241*--glx-fshader-win* 'SHADER'::
242	GLX backend: 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.
243
244*--force-win-blend*::
245	Force all windows to be painted with blending. Useful if you have a *--glx-fshader-win* that could turn opaque pixels transparent.
246
247*--dbus*::
248	Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
249
250*--benchmark* 'CYCLES'::
251	Benchmark mode. Repeatedly paint until reaching the specified cycles.
252
253*--benchmark-wid* 'WINDOW_ID'::
254	Specify window ID to repaint in benchmark mode. If omitted or is 0, the whole screen is repainted.
255
256*--no-ewmh-fullscreen*::
257	Do not use EWMH to detect fullscreen windows. Reverts to checking if a window is fullscreen based only on its size and coordinates.
258
259*--max-brightness*::
260	Dimming bright windows so their brightness doesn't exceed this set value. 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: 1.0)
261
262*--transparent-clipping*::
263	Make transparent windows clip other windows like non-transparent windows do, instead of blending on top of them.
264
265FORMAT OF CONDITIONS
266--------------------
267Some options accept a condition string to match certain windows. A condition string is formed by one or more conditions, joined by logical operators.
268
269A condition with "exists" operator looks like this:
270
271	<NEGATION> <TARGET> <CLIENT/FRAME> [<INDEX>] : <FORMAT> <TYPE>
272
273With equals operator it looks like:
274
275	<NEGATION> <TARGET> <CLIENT/FRAME> [<INDEX>] : <FORMAT> <TYPE> <NEGATION> <OP QUALIFIER> <MATCH TYPE> = <PATTERN>
276
277With greater-than/less-than operators it looks like:
278
279	<NEGATION> <TARGET> <CLIENT/FRAME> [<INDEX>] : <FORMAT> <TYPE> <NEGATION> <OPERATOR> <PATTERN>
280
281'NEGATION' (optional) is one or more exclamation marks;
282
283'TARGET' is either a predefined target name, or the name of a window property to match. Supported predefined targets are `id`, `x`, `y`, `x2` (x + widthb), `y2`, `width`, `height`, `widthb` (width + 2 * `border_width`), `heightb`, `override_redirect`, `argb` (whether the window has an ARGB visual), `focused`, `wmwin` (whether the window looks like a WM window, i.e. has no child window with `WM_STATE` and is not override-redirected), `bounding_shaped`, `rounded_corners` (requires *--detect-rounded-corners*), `client` (ID of client window), `window_type` (window type in string), `leader` (ID of window leader), `name`, `class_g` (= `WM_CLASS[1]`), `class_i` (= `WM_CLASS[0]`), and `role`.
284
285'CLIENT/FRAME' is a single `@` if the window attribute should be be looked up on client window, nothing if on frame window;
286
287'INDEX' (optional) is the index number of the property to look up. For example, `[2]` means look at the third value in the property. Do not specify it for predefined targets.
288
289'FORMAT' (optional) specifies the format of the property, 8, 16, or 32. On absence we use format X reports. Do not specify it for predefined or string targets.
290
291'TYPE' is a single character representing the type of the property to match for: `c` for 'CARDINAL', `a` for 'ATOM', `w` for 'WINDOW', `d` for 'DRAWABLE', `s` for 'STRING' (and any other string types, such as 'UTF8_STRING'). Do not specify it for predefined targets.
292
293'OP QUALIFIER' (optional), applicable only for equals operator, could be `?` (ignore-case).
294
295'MATCH TYPE' (optional), applicable only for equals operator, could be nothing (exact match), `*` (match anywhere), `^` (match from start), `%` (wildcard), or `~` (PCRE regular expression).
296
297'OPERATOR' is one of `=` (equals), `<`, `>`, `<=`, `=>`, or nothing (exists). Exists operator checks whether a property exists on a window (but for predefined targets, exists means != 0 then).
298
299'PATTERN' is either an integer or a string enclosed by single or double quotes. Python-3-style escape sequences and raw string are supported in the string format.
300
301Supported logical operators are `&&` (and) and `||` (or). `&&` has higher precedence than `||`, left-to-right associativity. Use parentheses to change precedence.
302
303Examples:
304
305	# If the window is focused
306	focused
307	focused = 1
308	# If the window is not override-redirected
309	!override_redirect
310	override_redirect = false
311	override_redirect != true
312	override_redirect != 1
313	# If the window is a menu
314	window_type *= "menu"
315	_NET_WM_WINDOW_TYPE@:a *= "MENU"
316	# If the window name contains "Firefox", ignore case
317	name *?= "Firefox"
318	_NET_WM_NAME@:s *?= "Firefox"
319	# If the window name ends with "Firefox"
320	name %= "*Firefox"
321	name ~= "Firefox$"
322	# If the window has a property _COMPTON_SHADOW with value 0, type CARDINAL,
323	# format 32, value 0, on its frame window
324	_COMPTON_SHADOW:32c = 0
325	# If the third value of _NET_FRAME_EXTENTS is less than 20, or there's no
326	# _NET_FRAME_EXTENTS property on client window
327	_NET_FRAME_EXTENTS@[2]:32c < 20 || !_NET_FRAME_EXTENTS@:32c
328	# The pattern here will be parsed as "dd4"
329	name = "\x64\x64\o64"
330	# The pattern here will be parsed as "\x64\x64\x64"
331	name = r"\x64\x64\o64"
332
333
334LEGACY FORMAT OF CONDITIONS
335---------------------------
336
337This is the old condition format we once used. Support of this format might be removed in the future.
338
339	condition = TARGET:TYPE[FLAGS]:PATTERN
340
341'TARGET' is one of "n" (window name), "i" (window class instance), "g" (window general class), and "r" (window role).
342
343'TYPE' is one of "e" (exact match), "a" (match anywhere), "s" (match from start), "w" (wildcard), and "p" (PCRE regular expressions, if compiled with the support).
344
345'FLAGS' could be a series of flags. Currently the only defined flag is "i" (ignore case).
346
347'PATTERN' is the actual pattern string.
348
349CONFIGURATION FILES
350-------------------
351picom could read from a configuration file if libconfig support is compiled in. If *--config* is not used, picom will seek for a configuration file in `$XDG_CONFIG_HOME/picom.conf` (`~/.config/picom.conf`, usually), then `$XDG_CONFIG_HOME/picom/picom.conf`, then `$XDG_CONFIG_DIRS/picom.conf` (often `/etc/xdg/picom.conf`), then `$XDG_CONFIG_DIRS/picom/picom.conf`.
352
353picom uses general libconfig configuration file format. A sample configuration file is available as `picom.sample.conf` in the source tree. Most of commandline switches can be used as options in configuration file as well. For example, *--vsync* option documented above can be set in the configuration file using `vsync = `. Command line options will always overwrite the settings in the configuration file.
354
355Window-type-specific settings are exposed only in configuration file and has the following format:
356
357------------
358wintypes:
359{
360  WINDOW_TYPE = { fade = BOOL; shadow = BOOL; opacity = FLOAT; focus = BOOL; full-shadow = BOOL; redir-ignore = BOOL; };
361};
362------------
363
364'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard: "unknown", "desktop", "dock", "toolbar", "menu", "utility", "splash", "dialog", "normal", "dropdown_menu", "popup_menu", "tooltip", "notification", "combo", and "dnd".
365
366Following per window-type options are available: ::
367
368  fade, shadow:::
369    Controls window-type-specific shadow and fade settings.
370
371  opacity:::
372    Controls default opacity of the window type.
373
374  focus:::
375    Controls whether the window of this type is to be always considered focused. (By default, all window types except "normal" and "dialog" has this on.)
376
377  full-shadow:::
378    Controls whether shadow is drawn under the parts of the window that you normally won't be able to see. Useful when the window has parts of it transparent, and you want shadows in those areas.
379
380  redir-ignore:::
381    Controls whether this type of windows should cause screen to become redirected again after been unredirected. If you have *--unredir-if-possible* set, and doesn't want certain window to cause unnecessary screen redirection, you can set this to `true`.
382
383BLUR
384----
385You can configure how the window background is blurred using a 'blur' section in your configuration file. Here is an example:
386
387--------
388blur:
389{
390  method = "gaussian";
391  size = 10;
392  deviation = 5.0;
393};
394--------
395
396Available options of the 'blur' section are: ::
397
398  *method*:::
399    A string. Controls the blur method. Corresponds to the *--blur-method* command line option. Available choices are:
400      'none' to disable blurring; 'gaussian' for gaussian blur; 'box' for box blur; 'kernel' for convolution blur with a custom kernel.
401    Note: 'gaussian' and 'box' blur methods are only supported by the experimental backends.
402    (default: none)
403
404  *size*:::
405    An integer. The size of the blur kernel, required by 'gaussian' and 'box' blur methods. For the 'kernel' method, the size is included in the kernel. Corresponds to the *--blur-size* command line option (default: 3).
406
407  *deviation*:::
408    A floating point number. The standard deviation for the 'gaussian' blur method. Corresponds to the *--blur-deviation* command line option (default: 0.84089642).
409
410  *kernel*:::
411    A string. The kernel to use for the 'kernel' blur method, specified in the same format as the *--blur-kerns* option. Corresponds to the *--blur-kerns* command line option.
412
413SIGNALS
414-------
415
416* picom reinitializes itself upon receiving `SIGUSR1`.
417
418D-BUS API
419---------
420
421It's possible to control picom via D-Bus messages, by running picom with *--dbus* and send messages to `com.github.chjj.compton.<DISPLAY>`. `<DISPLAY>` is the display used by picom, with all non-alphanumeric characters transformed to underscores. For `DISPLAY=:0.0` you should use `com.github.chjj.compton._0_0`, for example.
422
423The D-Bus methods and signals are not yet stable, thus undocumented right now.
424
425EXAMPLES
426--------
427
428* Disable configuration file parsing:
429+
430------------
431$ picom --config /dev/null
432------------
433
434* Run picom with client-side shadow and fading, disable shadow on dock windows and drag-and-drop windows:
435+
436------------
437$ picom -cCGf
438------------
439
440* Same thing as above, plus making inactive windows 80% transparent, making frame 80% transparent, don't fade on window open/close, enable software optimization, and fork to background:
441+
442------------
443$ picom -bcCGf -i 0.8 -e 0.8 --no-fading-openclose --sw-opti
444------------
445
446* Draw white shadows:
447+
448------------
449$ picom -c --shadow-red 1 --shadow-green 1 --shadow-blue 1
450------------
451
452* Avoid drawing shadows on wbar window:
453+
454------------
455$ picom -c --shadow-exclude 'class_g = "wbar"'
456------------
457
458* Enable VSync with GLX backend:
459+
460------------
461$ picom --backend glx --vsync
462------------
463
464BUGS
465----
466Please submit bug reports to <https://github.com/yshui/picom>.
467
468Out dated information in this man page is considered a bug.
469
470RESOURCES
471---------
472Homepage: <https://github.com/yshui/picom>
473
474SEE ALSO
475--------
476*xcompmgr*(1), link:picom-trans.html[*picom-trans*(1)]
477