1
0
Fork 0
mirror of https://github.com/yshui/picom.git synced 2024-11-11 13:51:02 -05:00
picom/README.md

128 lines
3.6 KiB
Markdown
Raw Normal View History

2011-11-04 14:52:05 -04:00
# Compton
__Compton__ is a compositor for X, and a fork of __xcompmgr-dana__.
I was frustrated by the low amount of standalone lightweight compositors.
Compton was forked from Dana Jansens' fork of xcompmgr and refactored. I fixed
whatever bug I found, and added features I wanted. Things seem stable, but don't
quote me on it. I will most likely be actively working on this until I get the
features I want. This is also a learning experience for me. That is, I'm
partially doing this out of a desire to learn Xlib.
## Changes from xcompmgr:
* __inactive window transparency__ (specified with `-i`)
2011-11-05 23:33:50 -04:00
* __titlebar/frame transparency__ (specified with `-e`)
* menu transparency (thanks to Dana)
2011-11-04 14:52:05 -04:00
* 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
2011-11-05 23:33:50 -04:00
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`.
2011-11-04 14:52:05 -04:00
## 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)
## Building
2011-11-06 23:03:18 -05:00
The same dependencies as xcompmgr.
2011-11-04 14:52:05 -04:00
### Dependencies:
__B__ for build-time
__R__ for runtime
* libx11 (B,R)
* libxcomposite (B,R)
* libxdamage (B,R)
* libxfixes (B,R)
* libXext (B,R)
* libxrender (B,R)
* pkg-config (B)
* make (B)
* xproto / x11proto (B)
* bash (R)
* xprop,xwininfo / x11-utils (R)
* libpcre (B,R) (Will probably be made optional soon)
* libconfig (B,R) (Will probably be made optional soon)
2011-11-04 14:52:05 -04:00
To build, make sure you have the above dependencies:
``` bash
$ make
2011-11-06 19:20:45 -05:00
$ make install
2011-11-04 14:52:05 -04:00
```
## Usage
``` bash
2011-11-16 01:04:38 -05:00
$ compton -cC -i 0.6 -e 0.6
2011-12-09 09:46:40 -05:00
$ compton -cC -i 0.6 -e 0.6 -fF
2011-11-16 01:12:42 -05:00
$ compton -cC -fF -I 0.065 -O 0.065 -D 6 -m 0.8 -i 0.6 -e 0.6
2011-11-04 14:52:05 -04:00
```
2011-11-06 23:03:18 -05:00
2011-11-16 01:04:38 -05:00
### Options
compton [-d display] [-r radius] [-o opacity]
[-l left-offset] [-t top-offset]
2012-02-26 23:00:12 -05:00
[-i opacity] [-e opacity] [-cCfFSdG]
2011-11-16 01:04:38 -05:00
2012-02-26 23:00:12 -05:00
* `-d` __display__
2011-11-16 01:04:38 -05:00
Specifies the display to manage.
2012-02-26 23:00:12 -05:00
* `-r` __radius__
2011-11-16 01:04:38 -05:00
Specifies the blur radius for client-side shadows.
2012-02-26 23:00:12 -05:00
* `-o` __opacity__
2011-11-16 01:04:38 -05:00
Specifies the opacity for client-side shadows.
2012-02-26 23:00:12 -05:00
* `-l` __left-offset__
2011-11-16 01:04:38 -05:00
Specifies the left offset for client-side shadows.
2012-02-26 23:00:12 -05:00
* `-t` __top-offset__
2011-11-16 01:04:38 -05:00
Specifies the top offset for client-side shadows.
2012-02-26 23:00:12 -05:00
* `-I` __fade-in-step__
2011-11-16 01:04:38 -05:00
Specifies the opacity change between steps while fading in.
2012-02-26 23:00:12 -05:00
* `-O` __fade-out-step__
2011-11-16 01:04:38 -05:00
Specifies the opacity change between steps while fading out.
2012-02-26 23:00:12 -05:00
* `-D` __fade-delta__
2011-11-16 01:04:38 -05:00
Specifies the time (in milliseconds) between steps in a fade.
2011-11-16 01:12:42 -05:00
* `-c`
2011-11-16 01:04:38 -05:00
Enable client-side shadows on windows.
2011-11-16 01:12:42 -05:00
* `-f`
2011-11-16 01:04:38 -05:00
When -c is specified, enables a smooth fade effect for transient windows like
menus, and for all windows on hide and restore events.
2011-11-16 01:12:42 -05:00
* `-C`
2011-11-16 01:04:38 -05:00
When -c is specified, attempts to avoid painting shadows on panels and docks.
2011-11-16 01:12:42 -05:00
* `-F`
2011-11-16 01:04:38 -05:00
When -f is specified, also enables the fade effect when windows change their
opacity, as with transset(1).
2012-02-26 23:00:12 -05:00
* `-i` __opacity__
2011-11-16 01:04:38 -05:00
Specifies inactive window transparency. (0.1 - 1.0)
2012-02-26 23:00:12 -05:00
* `-e` __opacity__
2011-11-16 01:04:38 -05:00
Specifies window frame transparency. (0.1 - 1.0)
2012-02-26 23:00:12 -05:00
* `-G`
Avoid painting shadows on DND windows.
* `-b` __daemonize__
Attempt to daemonize process.
2011-11-16 01:12:42 -05:00
* `-S`
2011-11-16 01:04:38 -05:00
Enables synchronous operation. Useful for debugging.
2011-11-06 23:03:18 -05:00
## License
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
Not counting the tens of people who forked it in between.
See LICENSE for more info.