update readme and man page.

This commit is contained in:
Christopher Jeffrey 2012-10-22 07:41:24 -05:00
parent 7ace6ca68d
commit 9399db5377
3 changed files with 231 additions and 81 deletions

View File

@ -1,10 +1,14 @@
compton - a compositor for X11
Contributors
Based on xcompmgr, originally written by Keith Packard, with modifications
from several contributors (according to the xcompmgr man page): Matthew Allum,
Eric Anholt, Dan Doel, Thomas Luebking, Matthew Hawn, Ely Levy, Phil Blundell,
and Carl Worth. Menu transparency was implemented by Dana Jansens.
Numerous contributions to compton from Richard Grenville.
xcompmgr
Copyright © 2003 Keith Packard

186
README.md
View File

@ -17,22 +17,22 @@ partially doing this out of a desire to learn Xlib.
* shadows are now enabled for argb windows, e.g. terminals with transparency
* removed serverside shadows (and simple compositing) to clean the code,
the only option that remains is clientside shadows
The above features give compton a feature set similar to the xfce compositor.
Compton has only been tested with openbox so far, but frame transparency
should work with any window manager that properly sets `_NET_FRAME_EXTENTS`.
* configuration files (specified with `--config`)
* colored shadows (with `--shadow-[red/green/blue] value`)
* a new fade system
* vsync (still under development)
* several more options
## Fixes from the original xcompmgr:
* fixed a segfault when opening certain window types
* fixed a memory leak caused by not freeing up shadows (from the freedesktop
repo)
* fixed the conflict with chromium and similar windows
* [many more](https://github.com/chjj/compton/issues)
## Building
The same dependencies as xcompmgr.
### Dependencies:
__B__ for build-time
@ -60,67 +60,147 @@ $ make
$ make install
```
## Usage
## Example Usage
``` bash
$ compton -cC -i 0.6 -e 0.6
$ compton -cC -i 0.6 -e 0.6 -fF
$ compton -cC -fF -I 0.065 -O 0.065 -D 6 -m 0.8 -i 0.6 -e 0.6
$ compton --config ~/compton.conf
```
### Options
### Options and Configuration
compton [-d display] [-r radius] [-o opacity]
[-l left-offset] [-t top-offset]
[-i opacity] [-e opacity] [-cCfFSdG]
```
compton [-d display] [-r radius] [-o opacity]
[-l left-offset] [-t top-offset]
[-i opacity] [-e opacity] [-cCfFSdG]
[--config path] [--shadow-red value]
[--shadow-gren value] [--shadow-blue value]
[--inactive-opacity-override] [--inactive-dim value]
[--mark-wmwin-focused] [--shadow-exclude condition]
[--mark-ovredir-focused] [--no-fading-openclose]
[--shadow-ignore-shaped] [--detect-round-corners]
```
* `-d` __display__
Specifies the display to manage.
* `-r` __radius__
Specifies the blur radius for client-side shadows.
* `-o` __opacity__
Specifies the opacity for client-side shadows.
* `-l` __left-offset__
Specifies the left offset for client-side shadows.
* `-t` __top-offset__
Specifies the top offset for client-side shadows.
* `-I` __fade-in-step__
Specifies the opacity change between steps while fading in.
* `-O` __fade-out-step__
Specifies the opacity change between steps while fading out.
* `-D` __fade-delta__
Specifies the time (in milliseconds) between steps in a fade.
* `-c`
Enable client-side shadows on windows.
* `-f`
When -c is specified, enables a smooth fade effect for transient windows like
menus, and for all windows on hide and restore events.
* `-C`
When -c is specified, attempts to avoid painting shadows on panels and docks.
* `-F`
When -f is specified, also enables the fade effect when windows change their
opacity, as with transset(1).
* `-i` __opacity__
Specifies inactive window transparency. (0.1 - 1.0)
* `-e` __opacity__
Specifies window frame transparency. (0.1 - 1.0)
* `-G`
Avoid painting shadows on DND windows.
* `-b` __daemonize__
Attempt to daemonize process.
* `-S`
Enables synchronous operation. Useful for debugging.
* `-d` __display__:
Which display should be managed.
* `-r` __radius__:
The blur radius for shadows. (default 12)
* `-o` __opacity__:
The translucency for shadows. (default .75)
* `-l` __left-offset__:
The left offset for shadows. (default -15)
* `-t` __top-offset__:
The top offset for shadows. (default -15)
* `-I` __fade-in-step__:
Opacity change between steps while fading in. (default 0.028)
* `-O` __fade-out-step__:
Opacity change between steps while fading out. (default 0.03)
* `-D` __fade-delta-time__:
The time between steps in a fade in milliseconds. (default 10)
* `-m` __opacity__:
The opacity for menus. (default 1.0)
* `-c`:
Enabled client-side shadows on windows.
* `-C`:
Avoid drawing shadows on dock/panel windows.
* `-z`:
Zero the part of the shadow's mask behind the window (experimental).
* `-f`:
Fade windows in/out when opening/closing and when opacity
changes, unless --no-fading-openclose is used.
* `-F`:
Equals -f. Deprecated.
* `-i` __opacity__:
Opacity of inactive windows. (0.1 - 1.0)
* `-e` __opacity__:
Opacity of window titlebars and borders. (0.1 - 1.0)
* `-G`:
Don't draw shadows on DND windows
* `-b` __daemonize__:
Daemonize process.
* `-S`:
Enable synchronous operation (for debugging).
* `--config` __path__:
Look for configuration file at the path.
* `--shadow-red` __value__:
Red color value of shadow (0.0 - 1.0, defaults to 0).
* `--shadow-green` __value__:
Green color value of shadow (0.0 - 1.0, defaults to 0).
* `--shadow-blue` __value__:
Blue color value of shadow (0.0 - 1.0, defaults to 0).
* `--inactive-opacity-override`:
Inactive opacity set by -i overrides value of _NET_WM_OPACITY.
* `--inactive-dim` __value__:
Dim inactive windows. (0.0 - 1.0, defaults to 0)
* `--mark-wmwin-focused`:
Try to detect WM windows and mark them as active.
* `--shadow-exclude` __condition__:
Exclude conditions for shadows.
* `--mark-ovredir-focused`:
Mark over-redirect windows as active.
* `--no-fading-openclose`:
Do not fade on window open/close.
* `--shadow-ignore-shaped`:
Do not paint shadows on shaped windows.
* `--detect-rounded-corners`:
Try to detect windows with rounded corners and don't consider
them shaped windows.
### Format of a condition:
`condition = <target>:<type>[<flags>]:<pattern>`
`<target>` is one of `"n"` (window name), `"i"` (window class
instance), and `"g"` (window general class)
`<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).
`<flags>` could be a series of flags. Currently the only defined
flag is `"i"` (ignore case).
`<pattern>` is the actual pattern string.
### Configuration
A more robust
[sample configuration file](https://raw.github.com/chjj/compton/master/compton.sample.conf)
is available in the repository.
#### Example
~/compton.conf:
```
# Shadows
shadow = true;
# Opacity
inactive-opacity = 0.8;
frame-opacity = 0.7;
# Fades
fading = true;
```
Run with:
``` bash
$ compton --config ~/compton.conf
```
## License
xcompmgr has gotten around. As far as I can tell, the lineage for this
particular tree is something like:
Although compton has kind of taken on a life of its own, it was originally
an xcompmgr fork. xcompmgr has gotten around. As far as I can tell, the lineage
for this particular tree is something like:
* Keith Packard (original author)
* Matthew Hawn
* ...
* Dana Jansens
* Myself
* chjj and richardgv
Not counting the tens of people who forked it in between.

View File

@ -4,7 +4,14 @@
compton \- a compositor for X11
.SH SYNOPSIS
.nf
.B compton [\-d display] [\-r radius] [\-o opacity] [\-l left-offset] [\-t top-offset] [\-i opacity] [\-e opacity] [\-cCfFSdG]
.B compton [\-d display] [\-r radius] [\-o opacity] [\-l left-offset]
[\-t top-offset] [\-i opacity] [\-e opacity] [\-cCfFSdG]
[\--config path] [\--shadow-red value]
[\--shadow-gren value] [\--shadow-blue value]
[\--inactive-opacity-override] [\--inactive-dim value]
[\--mark-wmwin-focused] [\--shadow-exclude condition]
[\--mark-ovredir-focused] [\--no-fading-openclose]
[\--shadow-ignore-shaped] [\--detect-round-corners]
.fi
.SH DESCRIPTION
.B compton
@ -15,62 +22,121 @@ and shadows on argb windows.
.SH OPTIONS
.TP
.BI \-d\ display
Specifies the display to manage.
Which display should be managed.
.TP
.BI \-r\ radius
Specifies the blur radius for client-side shadows.
The blur radius for shadows. (default 12)
.TP
.BI \-o\ opacity
Specifies the opacity for client-side shadows.
The translucency for shadows. (default .75)
.TP
.BI \-l\ left-offset
Specifies the left offset for client-side shadows.
The left offset for shadows. (default -15)
.TP
.BI \-t\ top-offset
Specifies the top offset for client-side shadows.
The top offset for shadows. (default -15)
.TP
.BI \-I\ fade-in-step
Specifies the opacity change between steps while fading in.
Opacity change between steps while fading in. (default 0.028)
.TP
.BI \-O\ fade-out-step
Specifies the opacity change between steps while fading out.
Opacity change between steps while fading out. (default 0.03)
.TP
.BI \-D\ fade-delta
Specifies the time (in milliseconds) between steps in a fade.
.BI \-D\ fade-delta-time
The time between steps in a fade in milliseconds. (default 10)
.TP
.BI \-m\ opacity
The opacity for menus. (default 1.0)
.TP
.BI \-c
Enable client-side shadows on windows.
.TP
.BI \-f
When \-c is specified, enables a smooth fade effect for transient windows like
menus, and for all windows on hide and restore events.
Enabled client-side shadows on windows.
.TP
.BI \-C
When \-c is specified, attempts to avoid painting shadows on panels and docks.
Avoid drawing shadows on dock/panel windows.
.TP
.BI \-G
When \-c is specified, attempts to avoid painting shadows on
drag-and-drop windows.
.BI \-z
Zero the part of the shadow's mask behind the window (experimental).
.TP
.BI \-f
Fade windows in/out when opening/closing and when opacity
changes, unless --no-fading-openclose is used.
.TP
.BI \-F
When \-f is specified, also enables the fade effect when windows change their
opacity, as with transset(1).
.TP
.BI \-b
Attempt to fork to background after registering compositor.
Equals -f. Deprecated.
.TP
.BI \-i\ opacity
Specifies inactive window transparency. (0.1 - 1.0)
Opacity of inactive windows. (0.1 - 1.0)
.TP
.BI \-e\ opacity
Specifies window frame transparency. (0.1 - 1.0)
Opacity of window titlebars and borders. (0.1 - 1.0)
.TP
.BI \-G
Don't draw shadows on DND windows
.TP
.BI \-b\ daemonize
Daemonize process.
.TP
.BI \-S
Enables synchronous operation. Useful for debugging.
Enable synchronous operation (for debugging).
.TP
.BI \--config\ path
Look for configuration file at the path.
.TP
.BI \--shadow-red\ value
Red color value of shadow (0.0 - 1.0, defaults to 0).
.TP
.BI \--shadow-green\ value
Green color value of shadow (0.0 - 1.0, defaults to 0).
.TP
.BI \--shadow-blue\ value
Blue color value of shadow (0.0 - 1.0, defaults to 0).
.TP
.BI \--inactive-opacity-override
Inactive opacity set by -i overrides value of _NET_WM_OPACITY.
.TP
.BI \--inactive-dim\ value
Dim inactive windows. (0.0 - 1.0, defaults to 0)
.TP
.BI \--mark-wmwin-focused
Try to detect WM windows and mark them as active.
.TP
.BI \--shadow-exclude\ condition
Exclude conditions for shadows.
.TP
.BI \--mark-ovredir-focused
Mark over-redirect windows as active.
.TP
.BI \--no-fading-openclose
Do not fade on window open/close.
.TP
.BI \--shadow-ignore-shaped
Do not paint shadows on shaped windows.
.TP
.BI \--detect-rounded-corners
Try to detect windows with rounded corners and don't consider
them shaped windows.
.TP
.BI Format\ of\ a\ condition:
condition = <target>:<type>[<flags>]:<pattern>
<target> is one of "n" (window name), "i" (window class
instance), and "g" (window general class)
<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).
<flags> could be a series of flags. Currently the only defined
flag is "i" (ignore case).
<pattern> is the actual pattern string.
.SH BUGS
Please report any you find to https://github.com/chjj/compton.
.SH AUTHORS
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' original work.
Compton by Christopher Jeffrey, based on Dana Jansens' original work,
with numerous contributions from Richard Grenville.