Go to file
Yuxuan Shui 28a2cc62fa Convert XfixesRegion to pixman region
Re-did the painting logic, and document it.

It is unclear to me what is the previous painting logic. But the current
one is basically this:

1. Go through all windows top to bottom, and put visible windows (not
   unmapped, opacity > 0, etc) into a linked list, from bottom to top
2. Accumulate a region of ignore on each window, which is basically the
   region of screen that is obscured by all the windows above current
   one.
3. Paint all the visible windows from bottom to top. Subtract the region
   of ignore from the painting region. If we need to paint shadow, we
   subtract the body of the window from the shadow painting region too,
   because we don't want shadow behind the window.
4. region of ignore is invalidated when window stack change, an
   window on top moved or changed shape, when window changed between
   opaque and transparent, etc.

Notes:

It is unclear whether all the different shapes of a window (extents,
noframe, border, bounding shape, etc) are calculated correctly or not.

It is unclear if window shape related events are handled correctly or
not. Need more testing.

Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
2018-09-30 14:18:33 +01:00
.github Update github issue template 2018-09-10 12:27:02 +01:00
bin Replace "bashism" with POSIX syntax. 2018-04-16 10:13:55 -04:00
dbus-examples Update comments about clear-shadow 2018-09-24 00:20:28 +01:00
man Remove the clear-shadow option 2018-09-23 23:58:17 +01:00
media Added 48x48px raster of initial Compton logo 2015-09-17 21:57:11 -04:00
src Convert XfixesRegion to pixman region 2018-09-30 14:18:33 +01:00
tests Misc: Add two test scripts 2015-01-11 16:30:41 +08:00
.editorconfig Add editorconfig 2018-09-10 13:46:05 +01:00
.gitignore Some cleanup work 2018-09-10 13:46:05 +01:00
CPackConfig.cmake Misc: Update CMake files & docs 2013-09-06 23:18:44 +08:00
Doxyfile Feature #51: Re-initialize when SIGUSR1 is received 2012-11-19 11:44:58 +08:00
LICENSE update readme and man page. 2012-10-22 07:50:18 -05:00
Makefile x: Add region related helper functions 2018-09-30 14:18:33 +01:00
README.md Fix some null pointer problems 2018-09-10 13:46:24 +01:00
README_orig.md update readme 2018-04-16 10:13:55 -04:00
_CMakeLists.txt Misc: Update CMakeLists.txt 2015-01-11 11:01:37 +08:00
compton-default-fshader-win.glsl Feature: #183 custom window shader & #193 --no-fading-destroyed-argb 2014-05-16 15:18:17 +08:00
compton-fake-transparency-fshader-win.glsl Feature: #183 custom window shader & #193 --no-fading-destroyed-argb 2014-05-16 15:18:17 +08:00
compton.desktop Set icon to `compton` in compton.desktop 2015-06-05 17:14:46 -05:00
compton.sample.conf Fix some missing trailing semicolons 2016-09-04 19:24:24 +02:00
desc.txt Misc: #49: Add CMake support 2012-10-03 13:34:54 +08:00
functions.sh Misc: Move shared functions out of make-release.sh 2015-01-11 16:26:36 +08:00
make-release.sh Misc: Move shared functions out of make-release.sh 2015-01-11 16:26:36 +08:00

README.md

Compton

This is a development branch, bug to be expected

This is forked from the original Compton because that seems to have become unmaintained. I'll merge pull requests as they appear upstream, as well as trying to fix bugs reported to upstream, or found by myself.

New features are not likely to be added, since I expect compton to become irrelevant in near future.

The original README can be found here

You are welcomed to submit pull requests.