mirror of
https://github.com/yshui/picom.git
synced 2024-11-18 13:55:36 -05:00
Merge branch 'master' into richardgv-dev
Merged the documentation changes. Program code unchanged.
This commit is contained in:
commit
9b61999cae
6 changed files with 288 additions and 90 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -23,7 +23,8 @@ release/
|
|||
_CPack_Packages/
|
||||
CMakeCache.txt
|
||||
CMakeFiles/
|
||||
*.cmake
|
||||
cmake_install.cmake
|
||||
CPackSourceConfig.cmake
|
||||
install_manifest.txt
|
||||
|
||||
|
||||
|
|
4
LICENSE
4
LICENSE
|
@ -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
|
||||
|
|
188
README.md
188
README.md
|
@ -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]
|
||||
```
|
||||
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.
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
169
man/compton.1
169
man/compton.1
|
@ -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
2
src/compton.c
Executable file → Normal 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"
|
||||
|
|
Loading…
Reference in a new issue