Merge branch 'master' into richardgv-dev

Merged the documentation changes. Program code unchanged.
This commit is contained in:
Richard Grenville 2012-10-29 09:53:38 +08:00
commit 9b61999cae
6 changed files with 288 additions and 90 deletions

3
.gitignore vendored
View File

@ -23,7 +23,8 @@ release/
_CPack_Packages/
CMakeCache.txt
CMakeFiles/
*.cmake
cmake_install.cmake
CPackSourceConfig.cmake
install_manifest.txt

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

182
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
@ -63,67 +63,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 -cC -i 0.6 -e 0.6 -f
$ 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]
[--config path] [--shadow-red value]
[--shadow-green 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/background 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

@ -1,16 +1,20 @@
.ds q \N'34'
.TH compton\-trans 1
.SH NAME
compton\-trans \- an opacity setter tool
.SH SYNOPSIS
.nf
.B compton-trans [-wncs] [window] -o [opacity]
.fi
.SH DESCRIPTION
.B compton-trans
is a bash script that sets _NET_WM_WINDOW_OPACITY only using standard
command-line utilities for X11, including xprop(1) and xwininfo(1).
It is similar to other utilities like transset(1) or transset-df(1).
.SH OPTIONS
.TP
.BI \-w\ window\-id
@ -31,6 +35,7 @@ Specify the new opacity value for the window. This value
can be anywhere from 1-100. If it is prefixed with a plus
or minus (+/-), this will increment or decrement from the
target window's current opacity instead.
.SH EXAMPLES
.TP
Set window id to opacity of 75%.
@ -47,7 +52,14 @@ compton-trans -s -o 75
.TP
Increment current window 5% opacity.
compton-trans -c -o +5
.SH BUGS
Please report any you find to https://github.com/chjj/compton.
.SH AUTHORS
Christopher Jeffrey (https://github.com/chjj)
.SH SEE ALSO
.BR compton(1),
.BR xprop(1),
.BR xwininfo(1)

View File

@ -1,76 +1,177 @@
.ds q \N'34'
.TH compton 1
.SH NAME
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]
.fi
.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\-green 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]
.SH DESCRIPTION
.B compton
is a compositor based on Dana Jansens' version of xcompmgr (which itself was
written by Keith Packard). It includes many improvements over the original
xcompmgr, including window frame opacity, inactive window transparency,
and shadows on argb windows.
.SH EXAMPLE
$ compton -cC -i 0.6 -e 0.6 -f
$ compton --config ~/compton.conf
.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.
.BI \-l\ left\-offset
The left offset for shadows. (default -15)
.TP
.BI \-t\ top-offset
Specifies the top offset for client-side shadows.
.BI \-t\ top\-offset
The top offset for shadows. (default -15)
.TP
.BI \-I\ fade-in-step
Specifies the opacity change between steps while fading in.
.BI \-I\ fade\-in\-step
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.
.BI \-O\ fade\-out\-step
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/background 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 CONFIGURATION
(A more robust sample configuration file exists in the compton
repository.)
.B Example
.B ~/compton.conf:
# Shadows
shadow = true;
# Opacity
inactive-opacity = 0.8;
frame-opacity = 0.7;
# Fades
fading = true;
.B Run with:
$ compton --config ~/compton.conf
.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.
.SH SEE ALSO
.BR compton-trans(1)

2
src/compton.c Executable file → Normal file
View File

@ -3318,7 +3318,7 @@ usage(void) {
" Opacity of window titlebars and borders. (0.1 - 1.0)\n"
"-G\n"
" Don't draw shadows on DND windows\n"
"-b daemonize\n"
"-b\n"
" Daemonize process.\n"
"-S\n"
" Enable synchronous operation (for debugging).\n"