You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
905 lines
25 KiB
905 lines
25 KiB
'\" t
|
|
.\" Title: compton
|
|
.\" Author: [see the "AUTHORS" section]
|
|
.\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
|
|
.\" Date: 03/31/2014
|
|
.\" Manual: LOCAL USER COMMANDS
|
|
.\" Source: compton nightly-20130421
|
|
.\" Language: English
|
|
.\"
|
|
.TH "COMPTON" "1" "03/31/2014" "compton nightly\-20130421" "LOCAL USER COMMANDS"
|
|
.\" -----------------------------------------------------------------
|
|
.\" * Define some portability stuff
|
|
.\" -----------------------------------------------------------------
|
|
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
.\" http://bugs.debian.org/507673
|
|
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
|
|
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
.ie \n(.g .ds Aq \(aq
|
|
.el .ds Aq '
|
|
.\" -----------------------------------------------------------------
|
|
.\" * set default formatting
|
|
.\" -----------------------------------------------------------------
|
|
.\" disable hyphenation
|
|
.nh
|
|
.\" disable justification (adjust text to left margin only)
|
|
.ad l
|
|
.\" -----------------------------------------------------------------
|
|
.\" * MAIN CONTENT STARTS HERE *
|
|
.\" -----------------------------------------------------------------
|
|
.SH "NAME"
|
|
compton \- a compositor for X11
|
|
.SH "SYNOPSIS"
|
|
.sp
|
|
\fBcompton\fR [\fIOPTIONS\fR]
|
|
.SH "WARNING"
|
|
.sp
|
|
This man page may be less up\-to\-date than the usage text in compton (compton \-h)\&.
|
|
.SH "DESCRIPTION"
|
|
.sp
|
|
compton is a compositor based on Dana Jansens\*(Aq 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\&.
|
|
.SH "OPTIONS"
|
|
.PP
|
|
\fB\-h\fR, \fB\-\-help\fR
|
|
.RS 4
|
|
Get the usage text embedded in program code, which may be more up\-to\-date than this man page\&.
|
|
.RE
|
|
.PP
|
|
\fB\-d\fR \fIDISPLAY\fR
|
|
.RS 4
|
|
Display to be managed\&.
|
|
.RE
|
|
.PP
|
|
\fB\-r\fR \fIRADIUS\fR
|
|
.RS 4
|
|
The blur radius for shadows, in pixels\&. (defaults to 12)
|
|
.RE
|
|
.PP
|
|
\fB\-o\fR \fIOPACITY\fR
|
|
.RS 4
|
|
The opacity of shadows\&. (0\&.0 \- 1\&.0, defaults to 0\&.75)
|
|
.RE
|
|
.PP
|
|
\fB\-l\fR \fIOFFSET\fR
|
|
.RS 4
|
|
The left offset for shadows, in pixels\&. (defaults to \-15)
|
|
.RE
|
|
.PP
|
|
\fB\-t\fR \fIOFFSET\fR
|
|
.RS 4
|
|
The top offset for shadows, in pixels\&. (defaults to \-15)
|
|
.RE
|
|
.PP
|
|
\fB\-I\fR \fIOPACITY_STEP\fR
|
|
.RS 4
|
|
Opacity change between steps while fading in\&. (0\&.01 \- 1\&.0, defaults to 0\&.028)
|
|
.RE
|
|
.PP
|
|
\fB\-O\fR \fIOPACITY_STEP\fR
|
|
.RS 4
|
|
Opacity change between steps while fading out\&. (0\&.01 \- 1\&.0, defaults to 0\&.03)
|
|
.RE
|
|
.PP
|
|
\fB\-D\fR \fIMILLISECONDS\fR
|
|
.RS 4
|
|
The time between steps in fade step, in milliseconds\&. (> 0, defaults to 10)
|
|
.RE
|
|
.PP
|
|
\fB\-m\fR \fIOPACITY\fR
|
|
.RS 4
|
|
Default opacity for dropdown menus and popup menus\&. (0\&.0 \- 1\&.0, defaults to 1\&.0)
|
|
.RE
|
|
.PP
|
|
\fB\-c\fR
|
|
.RS 4
|
|
Enabled client\-side shadows on windows\&. Note desktop windows (windows with
|
|
\fI_NET_WM_WINDOW_TYPE_DESKTOP\fR) never get shadow\&.
|
|
.RE
|
|
.PP
|
|
\fB\-C\fR
|
|
.RS 4
|
|
Avoid drawing shadows on dock/panel windows\&.
|
|
.RE
|
|
.PP
|
|
\fB\-z\fR
|
|
.RS 4
|
|
Zero the part of the shadow\(cqs mask behind the window\&. Note this may not work properly on ARGB windows with fully transparent areas\&.
|
|
.RE
|
|
.PP
|
|
\fB\-f\fR
|
|
.RS 4
|
|
Fade windows in/out when opening/closing and when opacity changes, unless
|
|
\fB\-\-no\-fading\-openclose\fR
|
|
is used\&.
|
|
.RE
|
|
.PP
|
|
\fB\-F\fR
|
|
.RS 4
|
|
Equals
|
|
\fB\-f\fR\&. Deprecated\&.
|
|
.RE
|
|
.PP
|
|
\fB\-i\fR \fIOPACITY\fR
|
|
.RS 4
|
|
Opacity of inactive windows\&. (0\&.1 \- 1\&.0, disabled by default)
|
|
.RE
|
|
.PP
|
|
\fB\-e\fR \fIOPACITY\fR
|
|
.RS 4
|
|
Opacity of window titlebars and borders\&. (0\&.1 \- 1\&.0, disabled by default)
|
|
.RE
|
|
.PP
|
|
\fB\-G\fR
|
|
.RS 4
|
|
Don\(cqt draw shadows on drag\-and\-drop windows\&.
|
|
.RE
|
|
.PP
|
|
\fB\-b\fR
|
|
.RS 4
|
|
Daemonize process\&. Fork to background after initialization\&.
|
|
.RE
|
|
.PP
|
|
\fB\-S\fR
|
|
.RS 4
|
|
Enable synchronous X operation (for debugging)\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-config\fR \fIPATH\fR
|
|
.RS 4
|
|
Look for configuration file at the path\&. See
|
|
\fBCONFIGURATION FILES\fR
|
|
section below for where compton looks for a configuration file by default\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-write\-pid\-path\fR \fIPATH\fR
|
|
.RS 4
|
|
Write process ID to a file\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-shadow\-red\fR \fIVALUE\fR
|
|
.RS 4
|
|
Red color value of shadow (0\&.0 \- 1\&.0, defaults to 0)\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-shadow\-green\fR \fIVALUE\fR
|
|
.RS 4
|
|
Green color value of shadow (0\&.0 \- 1\&.0, defaults to 0)\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-shadow\-blue\fR \fIVALUE\fR
|
|
.RS 4
|
|
Blue color value of shadow (0\&.0 \- 1\&.0, defaults to 0)\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-inactive\-opacity\-override\fR
|
|
.RS 4
|
|
Let inactive opacity set by
|
|
\fB\-i\fR
|
|
overrides the windows\*(Aq
|
|
\fI_NET_WM_OPACITY\fR
|
|
values\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-active\-opacity\fR \fIOPACITY\fR
|
|
.RS 4
|
|
Default opacity for active windows\&. (0\&.0 \- 1\&.0)
|
|
.RE
|
|
.PP
|
|
\fB\-\-inactive\-dim\fR \fIVALUE\fR
|
|
.RS 4
|
|
Dim inactive windows\&. (0\&.0 \- 1\&.0, defaults to 0\&.0)
|
|
.RE
|
|
.PP
|
|
\fB\-\-mark\-wmwin\-focused\fR
|
|
.RS 4
|
|
Try to detect WM windows (a non\-override\-redirect window with no child that has
|
|
WM_STATE) and mark them as active\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-mark\-ovredir\-focused\fR
|
|
.RS 4
|
|
Mark override\-redirect windows that doesn\(cqt have a child window with
|
|
WM_STATE
|
|
focused\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-no\-fading\-openclose\fR
|
|
.RS 4
|
|
Do not fade on window open/close\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-shadow\-ignore\-shaped\fR
|
|
.RS 4
|
|
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\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-detect\-rounded\-corners\fR
|
|
.RS 4
|
|
Try to detect windows with rounded corners and don\(cqt consider them shaped windows\&. The accuracy is not very high, unfortunately\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-detect\-client\-opacity\fR
|
|
.RS 4
|
|
Detect
|
|
\fI_NET_WM_OPACITY\fR
|
|
on client windows, useful for window managers not passing
|
|
\fI_NET_WM_OPACITY\fR
|
|
of client windows to frame windows\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-refresh\-rate\fR \fIREFRESH_RATE\fR
|
|
.RS 4
|
|
Specify refresh rate of the screen\&. If not specified or 0, compton will try detecting this with X RandR extension\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-vsync\fR \fIVSYNC_METHOD\fR
|
|
.RS 4
|
|
Set VSync method\&. VSync methods currently available:
|
|
.sp
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.sp -1
|
|
.IP \(bu 2.3
|
|
.\}
|
|
|
|
\fInone\fR: No VSync
|
|
.RE
|
|
.sp
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.sp -1
|
|
.IP \(bu 2.3
|
|
.\}
|
|
|
|
\fIdrm\fR: VSync with
|
|
\fIDRM_IOCTL_WAIT_VBLANK\fR\&. May only work on some drivers\&.
|
|
.RE
|
|
.sp
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.sp -1
|
|
.IP \(bu 2.3
|
|
.\}
|
|
|
|
\fIopengl\fR: Try to VSync with
|
|
\fISGI_video_sync\fR
|
|
OpenGL extension\&. Only work on some drivers\&.
|
|
.RE
|
|
.sp
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.sp -1
|
|
.IP \(bu 2.3
|
|
.\}
|
|
|
|
\fIopengl\-oml\fR: Try to VSync with
|
|
\fIOML_sync_control\fR
|
|
OpenGL extension\&. Only work on some drivers\&.
|
|
.RE
|
|
.sp
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.sp -1
|
|
.IP \(bu 2.3
|
|
.\}
|
|
|
|
\fIopengl\-swc\fR: Try to VSync with
|
|
\fISGI_swap_control\fR
|
|
OpenGL extension\&. Only work on some drivers\&. Works only with GLX backend\&. Known to be most effective on many drivers\&. Does not actually control paint timing, only buffer swap is affected, so it doesn\(cqt have the effect of
|
|
\fB\-\-sw\-opti\fR
|
|
unlike other methods\&. Experimental\&.
|
|
.RE
|
|
.sp
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.sp -1
|
|
.IP \(bu 2.3
|
|
.\}
|
|
|
|
\fIopengl\-mswc\fR: Try to VSync with
|
|
\fIMESA_swap_control\fR
|
|
OpenGL extension\&. Basically the same as
|
|
\fIopengl\-swc\fR
|
|
above, except the extension we use\&.
|
|
.RE
|
|
.sp
|
|
(Note some VSync methods may not be enabled at compile time\&.)
|
|
.RE
|
|
.PP
|
|
\fB\-\-vsync\-aggressive\fR
|
|
.RS 4
|
|
Attempt to send painting request before VBlank and do XFlush() during VBlank\&. Reported to work pretty terribly\&. This switch may be lifted out at any moment\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-alpha\-step\fR \fIVALUE\fR
|
|
.RS 4
|
|
X Render backend: Step for pregenerating alpha pictures\&. (0\&.01 \- 1\&.0, defaults to 0\&.03)
|
|
.RE
|
|
.PP
|
|
\fB\-\-dbe\fR
|
|
.RS 4
|
|
Enable DBE painting mode, intended to use with VSync to (hopefully) eliminate tearing\&. Reported to have no effect, though\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-paint\-on\-overlay\fR
|
|
.RS 4
|
|
Painting on X Composite overlay window instead of on root window\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-sw\-opti\fR
|
|
.RS 4
|
|
Limit compton to repaint at most once every 1 /
|
|
\fIrefresh_rate\fR
|
|
second to boost performance\&. This should not be used with
|
|
\fB\-\-vsync\fR
|
|
drm/opengl/opengl\-oml as they essentially does
|
|
\fB\-\-sw\-opti\fR\*(Aqs job already, unless you wish to specify a lower refresh rate than the actual value\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-use\-ewmh\-active\-win\fR
|
|
.RS 4
|
|
Use EWMH
|
|
\fI_NET_ACTIVE_WINDOW\fR
|
|
to determine currently focused window, rather than listening to
|
|
\fIFocusIn\fR/\fIFocusOut\fR
|
|
event\&. Might have more accuracy, provided that the WM supports it\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-respect\-prop\-shadow\fR
|
|
.RS 4
|
|
Respect
|
|
\fI_COMPTON_SHADOW\fR\&. This a prototype\-level feature, which you must not rely on\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-unredir\-if\-possible\fR
|
|
.RS 4
|
|
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\&.
|
|
\fB\-\-paint\-on\-overlay\fR
|
|
may make the flickering less obvious\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-unredir\-if\-possible\-delay\fR \fIMILLISECONDS\fR
|
|
.RS 4
|
|
Delay before unredirecting the window, in milliseconds\&. Defaults to 0\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-unredir\-if\-possible\-exclude\fR \fICONDITION\fR
|
|
.RS 4
|
|
Conditions of windows that shouldn\(cqt be considered full\-screen for unredirecting screen\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-shadow\-exclude\fR \fICONDITION\fR
|
|
.RS 4
|
|
Specify a list of conditions of windows that should have no shadow\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-fade\-exclude\fR \fICONDITION\fR
|
|
.RS 4
|
|
Specify a list of conditions of windows that should not be faded\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-focus\-exclude\fR \fICONDITION\fR
|
|
.RS 4
|
|
Specify a list of conditions of windows that should always be considered focused\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-inactive\-dim\-fixed\fR
|
|
.RS 4
|
|
Use fixed inactive dim value, instead of adjusting according to window opacity\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-detect\-transient\fR
|
|
.RS 4
|
|
Use
|
|
\fIWM_TRANSIENT_FOR\fR
|
|
to group windows, and consider windows in the same group focused at the same time\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-detect\-client\-leader\fR
|
|
.RS 4
|
|
Use
|
|
\fIWM_CLIENT_LEADER\fR
|
|
to group windows, and consider windows in the same group focused at the same time\&.
|
|
\fIWM_TRANSIENT_FOR\fR
|
|
has higher priority if
|
|
\fB\-\-detect\-transient\fR
|
|
is enabled, too\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-blur\-background\fR
|
|
.RS 4
|
|
Blur background of semi\-transparent / ARGB windows\&. Bad in performance, with driver\-dependent behavior\&. The name of the switch may change without prior notifications\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-blur\-background\-frame\fR
|
|
.RS 4
|
|
Blur background of windows when the window frame is not opaque\&. Implies
|
|
\fB\-\-blur\-background\fR\&. Bad in performance, with driver\-dependent behavior\&. The name may change\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-blur\-background\-fixed\fR
|
|
.RS 4
|
|
Use fixed blur strength rather than adjusting according to window opacity\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-blur\-kern\fR \fIMATRIX\fR
|
|
.RS 4
|
|
Specify the blur convolution kernel, with the following format:
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
WIDTH,HEIGHT,ELE1,ELE2,ELE3,ELE4,ELE5\&.\&.\&.
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.sp
|
|
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
|
|
\-\-blur\-background\-fixed\&. Yet the automatic adjustment of blur factor may not work well with a custom blur kernel\&.
|
|
.sp
|
|
A 7x7 Guassian blur kernel (sigma = 0\&.84089642) looks like:
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
\-\-blur\-kern \*(Aq7,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\*(Aq
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.sp
|
|
May also be one of the predefined kernels:
|
|
3x3box
|
|
(default),
|
|
5x5box,
|
|
7x7box,
|
|
3x3gaussian,
|
|
5x5gaussian,
|
|
7x7gaussian,
|
|
9x9gaussian,
|
|
11x11gaussian\&. All Guassian kernels are generated with sigma = 0\&.84089642 \&. You may use the accompanied
|
|
compton\-convgen\&.py
|
|
to generate blur kernels\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-blur\-background\-exclude\fR \fICONDITION\fR
|
|
.RS 4
|
|
Exclude conditions for background blur\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-resize\-damage\fR \fIINTEGER\fR
|
|
.RS 4
|
|
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
|
|
\fB\-\-dbe\fR
|
|
or
|
|
\fB\-\-glx\-swap\-method\fR, 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
|
|
\fB\-\-resize\-damage\fR
|
|
1, with a 5x5 one you use
|
|
\fB\-\-resize\-damage\fR
|
|
2, and so on)\&. May or may not work with
|
|
\-\-glx\-no\-stencil\&. Shrinking doesn\(cqt function correctly\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-invert\-color\-include\fR \fICONDITION\fR
|
|
.RS 4
|
|
Specify a list of conditions of windows that should be painted with inverted color\&. Resource\-hogging, and is not well tested\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-opacity\-rule\fR \fIOPACITY\fR:\*(AqCONDITION\*(Aq
|
|
.RS 4
|
|
Specify a list of opacity rules, in the format
|
|
PERCENT:PATTERN, like
|
|
50:name *= "Firefox"\&. compton\-trans is recommended over this\&. Note we do not distinguish 100% and unset, and we don\(cqt make any guarantee about possible conflicts with other programs that set
|
|
\fI_NET_WM_WINDOW_OPACITY\fR
|
|
on frame or client windows\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-shadow\-exclude\-reg\fR \fIGEOMETRY\fR
|
|
.RS 4
|
|
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\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-xinerama\-shadow\-crop\fR
|
|
.RS 4
|
|
Crop shadow of a window fully on a particular Xinerama screen to the screen\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-backend\fR \fIBACKEND\fR
|
|
.RS 4
|
|
Specify the backend to use:
|
|
xrender
|
|
or
|
|
glx\&. GLX (OpenGL) backend generally has much superior performance as far as you have a graphic card/chip and driver\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-glx\-no\-stencil\fR
|
|
.RS 4
|
|
GLX backend: Avoid using stencil buffer, useful if you don\(cqt have a stencil buffer\&. Might cause incorrect opacity when rendering transparent content (but never practically happened) and may not work with
|
|
\fB\-\-blur\-background\fR\&. My tests show a 15% performance boost\&. Recommended\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-glx\-copy\-from\-front\fR
|
|
.RS 4
|
|
GLX backend: Copy unmodified regions from front buffer instead of redrawing them all\&. My tests with nvidia\-drivers show a 10% decrease in performance when the whole screen is modified, but a 20% increase when only 1/4 is\&. My tests on nouveau show terrible slowdown\&. Useful with
|
|
\-\-glx\-swap\-method, as well\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-glx\-use\-copysubbuffermesa\fR
|
|
.RS 4
|
|
GLX backend: Use
|
|
\fIMESA_copy_sub_buffer\fR
|
|
to do partial screen update\&. My tests on nouveau shows a 200% performance boost when only 1/4 of the screen is updated\&. May break VSync and is not available on some drivers\&. Overrides
|
|
\fB\-\-glx\-copy\-from\-front\fR\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-glx\-no\-rebind\-pixmap\fR
|
|
.RS 4
|
|
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)\&. Recommended if it works\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-glx\-swap\-method\fR undefined/exchange/copy/3/4/5/6/buffer\-age
|
|
.RS 4
|
|
GLX backend: GLX buffer swap method we assume\&. Could be
|
|
undefined
|
|
(0),
|
|
copy
|
|
(1),
|
|
exchange
|
|
(2), 3\-6, or
|
|
buffer\-age
|
|
(\-1)\&.
|
|
undefined
|
|
is the slowest and the safest, and the default value\&.
|
|
copy
|
|
is fastest, but may fail on some drivers, 2\-6 are gradually slower but safer (6 is still faster than 0)\&. Usually, double buffer means 2, triple buffer means 3\&.
|
|
buffer\-age
|
|
means auto\-detect using
|
|
\fIGLX_EXT_buffer_age\fR, supported by some drivers\&. Useless with
|
|
\fB\-\-glx\-use\-copysubbuffermesa\fR\&. Partially breaks
|
|
\-\-resize\-damage\&. Defaults to
|
|
undefined\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-glx\-use\-gpushader4\fR
|
|
.RS 4
|
|
GLX backend: Use
|
|
\fIGL_EXT_gpu_shader4\fR
|
|
for some optimization on blur GLSL code\&. My tests on GTX 670 show no noticeable effect\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-dbus\fR
|
|
.RS 4
|
|
Enable remote control via D\-Bus\&. See the
|
|
\fBD\-BUS API\fR
|
|
section below for more details\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-benchmark\fR \fICYCLES\fR
|
|
.RS 4
|
|
Benchmark mode\&. Repeatedly paint until reaching the specified cycles\&.
|
|
.RE
|
|
.PP
|
|
\fB\-\-benchmark\-wid\fR \fIWINDOW_ID\fR
|
|
.RS 4
|
|
Specify window ID to repaint in benchmark mode\&. If omitted or is 0, the whole screen is repainted\&.
|
|
.RE
|
|
.SH "FORMAT OF CONDITIONS"
|
|
.sp
|
|
Some options accept a condition string to match certain windows\&. A condition string is formed by one or more conditions, joined by logical operators\&.
|
|
.sp
|
|
A condition with "exists" operator looks like this:
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
<NEGATION> <TARGET> <CLIENT/FRAME> [<INDEX>] : <FORMAT> <TYPE>
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.sp
|
|
With equals operator it looks like:
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
<NEGATION> <TARGET> <CLIENT/FRAME> [<INDEX>] : <FORMAT> <TYPE> <NEGATION> <OP QUALIFIER> <MATCH TYPE> = <PATTERN>
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.sp
|
|
With greater\-than/less\-than operators it looks like:
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
<NEGATION> <TARGET> <CLIENT/FRAME> [<INDEX>] : <FORMAT> <TYPE> <NEGATION> <OPERATOR> <PATTERN>
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.sp
|
|
\fINEGATION\fR (optional) is one or more exclamation marks;
|
|
.sp
|
|
\fITARGET\fR 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), 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), 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\&.
|
|
.sp
|
|
\fICLIENT/FRAME\fR is a single @ if the window attribute should be be looked up on client window, nothing if on frame window;
|
|
.sp
|
|
\fIINDEX\fR (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\&.
|
|
.sp
|
|
\fIFORMAT\fR (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\&.
|
|
.sp
|
|
\fITYPE\fR is a single character representing the type of the property to match for: c for \fICARDINAL\fR, a for \fIATOM\fR, w for \fIWINDOW\fR, d for \fIDRAWABLE\fR, s for \fISTRING\fR (and any other string types, such as \fIUTF8_STRING\fR)\&. Do not specify it for predefined targets\&.
|
|
.sp
|
|
\fIOP QUALIFIER\fR (optional), applicable only for equals operator, could be ? (ignore\-case)\&.
|
|
.sp
|
|
\fIMATCH TYPE\fR (optional), applicable only for equals operator, could be nothing (exact match), * (match anywhere), ^ (match from start), % (wildcard), or ~ (PCRE regular expression)\&.
|
|
.sp
|
|
\fIOPERATOR\fR 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)\&.
|
|
.sp
|
|
\fIPATTERN\fR 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\&.
|
|
.sp
|
|
Supported logical operators are && (and) and || (or)\&. && has higher precedence than ||, left\-to\-right associativity\&. Use parentheses to change precedence\&.
|
|
.sp
|
|
Examples:
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
# If the window is focused
|
|
focused
|
|
focused = 1
|
|
# If the window is not override\-redirected
|
|
!override_redirect
|
|
override_redirect = false
|
|
override_redirect != true
|
|
override_redirect != 1
|
|
# If the window is a menu
|
|
window_type *= "menu"
|
|
_NET_WM_WINDOW_TYPE@:a *= "MENU"
|
|
# If the window name contains "Firefox", ignore case
|
|
name *?= "Firefox"
|
|
_NET_WM_NAME@:s *?= "Firefox"
|
|
# If the window name ends with "Firefox"
|
|
name %= "*Firefox"
|
|
name ~= "Firefox$"
|
|
# If the window has a property _COMPTON_SHADOW with value 0, type CARDINAL,
|
|
# format 32, value 0, on its frame window
|
|
_COMPTON_SHADOW:32c = 0
|
|
# If the third value of _NET_FRAME_EXTENTS is less than 20, or there\*(Aqs no
|
|
# _NET_FRAME_EXTENTS property on client window
|
|
_NET_FRAME_EXTENTS@[2]:32c < 20 || !_NET_FRAME_EXTENTS@:32c
|
|
# The pattern here will be parsed as "dd4"
|
|
name = "\ex64\ex64\eo64"
|
|
# The pattern here will be parsed as "\ex64\ex64\ex64"
|
|
name = r"\ex64\ex64\eo64"
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.SH "LEGACY FORMAT OF CONDITIONS"
|
|
.sp
|
|
This is the old condition format we once used\&. Support of this format might be removed in the future\&.
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
condition = TARGET:TYPE[FLAGS]:PATTERN
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.sp
|
|
\fITARGET\fR is one of "n" (window name), "i" (window class instance), "g" (window general class), and "r" (window role)\&.
|
|
.sp
|
|
\fITYPE\fR 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)\&.
|
|
.sp
|
|
\fIFLAGS\fR could be a series of flags\&. Currently the only defined flag is "i" (ignore case)\&.
|
|
.sp
|
|
\fIPATTERN\fR is the actual pattern string\&.
|
|
.SH "CONFIGURATION FILES"
|
|
.sp
|
|
compton could read from a configuration file if libconfig support is compiled in\&. If \fB\-\-config\fR is not used, compton will seek for a configuration file in $XDG_CONFIG_HOME/compton\&.conf (~/\&.config/compton\&.conf, usually), then ~/\&.compton\&.conf, then compton\&.conf under $XDG_DATA_DIRS (often /etc/xdg/compton\&.conf)\&.
|
|
.sp
|
|
compton uses general libconfig configuration file format\&. A sample configuration file is available as compton\&.sample\&.conf in the source tree\&. Most commandline switches each could be replaced with an option in configuration file, thus documented above\&. Window\-type\-specific settings are exposed only in configuration file and has the following format:
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
wintypes:
|
|
{
|
|
WINDOW_TYPE = { fade = BOOL; shadow = BOOL; opacity = FLOAT; focus = BOOL; };
|
|
};
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.sp
|
|
\fIWINDOW_TYPE\fR 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", "notify", "combo", and "dnd"\&. "fade" and "shadow" controls window\-type\-specific shadow and fade settings\&. "opacity" controls default opacity of the window type\&. "focus" 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\&.)
|
|
.SH "SIGNALS"
|
|
.sp
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.sp -1
|
|
.IP \(bu 2.3
|
|
.\}
|
|
compton reinitializes itself upon receiving
|
|
SIGUSR1\&.
|
|
.RE
|
|
.SH "D-BUS API"
|
|
.sp
|
|
It\(cqs possible to control compton via D\-Bus messages, by running compton with \fB\-\-dbus\fR and send messages to com\&.github\&.chjj\&.compton\&.<DISPLAY>\&. <DISPLAY> is the display used by compton, with all non\-alphanumeric characters transformed to underscores\&. For DISPLAY=:0\&.0 you should use com\&.github\&.chjj\&.compton\&._0_0, for example\&.
|
|
.sp
|
|
The D\-Bus methods and signals are not yet stable, thus undocumented right now\&.
|
|
.SH "EXAMPLES"
|
|
.sp
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.sp -1
|
|
.IP \(bu 2.3
|
|
.\}
|
|
Disable configuration file parsing:
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
$ compton \-\-config /dev/null
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.RE
|
|
.sp
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.sp -1
|
|
.IP \(bu 2.3
|
|
.\}
|
|
Run compton with client\-side shadow and fading, disable shadow on dock windows and drag\-and\-drop windows:
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
$ compton \-cCGf
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.RE
|
|
.sp
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.sp -1
|
|
.IP \(bu 2.3
|
|
.\}
|
|
Same thing as above, plus making inactive windows 80% transparent, making frame 80% transparent, don\(cqt fade on window open/close, enable software optimization, and fork to background:
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
$ compton \-bcCGf \-i 0\&.8 \-e 0\&.8 \-\-no\-fading\-openclose \-\-sw\-opti
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.RE
|
|
.sp
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.sp -1
|
|
.IP \(bu 2.3
|
|
.\}
|
|
Draw white shadows:
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
$ compton \-c \-\-shadow\-red 1 \-\-shadow\-green 1 \-\-shadow\-blue 1
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.RE
|
|
.sp
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.sp -1
|
|
.IP \(bu 2.3
|
|
.\}
|
|
Avoid drawing shadows on wbar window:
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
$ compton \-c \-\-shadow\-exclude \*(Aqclass_g = "wbar"\*(Aq
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.RE
|
|
.sp
|
|
.RS 4
|
|
.ie n \{\
|
|
\h'-04'\(bu\h'+03'\c
|
|
.\}
|
|
.el \{\
|
|
.sp -1
|
|
.IP \(bu 2.3
|
|
.\}
|
|
Enable OpenGL SGI_swap_control VSync with GLX backend:
|
|
.sp
|
|
.if n \{\
|
|
.RS 4
|
|
.\}
|
|
.nf
|
|
$ compton \-\-backend glx \-\-vsync opengl\-swc
|
|
.fi
|
|
.if n \{\
|
|
.RE
|
|
.\}
|
|
.RE
|
|
.SH "BUGS"
|
|
.sp
|
|
Please report any you find to https://github\&.com/chjj/compton \&.
|
|
.SH "AUTHORS"
|
|
.sp
|
|
xcompmgr, originally written by Keith Packard, with contributions from Matthew Allum, Eric Anholt, Dan Doel, Thomas Luebking, Matthew Hawn, Ely Levy, Phil Blundell, and Carl Worth\&. Compton by Christopher Jeffrey, based on Dana Jansens\*(Aq original work, with contributions from Richard Grenville\&.
|
|
.SH "RESOURCES"
|
|
.sp
|
|
Homepage: https://github\&.com/chjj/compton
|
|
.SH "SEE ALSO"
|
|
.sp
|
|
\fBxcompmgr\fR(1), \fBcompton\-trans\fR(1)
|