- Create a session_t structure, to get rid of most global variables and
let information pass in/out mostly through parameters. Huge changes,
so bugs may very well appear. I'm worried about resource leakages, in
particular.
- Add gcc attributes on various functions.
- Add Doxygen configuration.
- Replace much Xlib Bool with C99 bool.
- Add and adjust some comments.
- Drop unused parameters from some functions.
- Cache default Visual and Depth, mainly to shorten code.
- Rename some types, variables, and functions.
- Add win_ev_stop() and set_ignore_next() for convenience.
- Modify wid_get_prop_wintype() and wid_get_opacity_prop() to use
wid_get_prop().
- Rename --respect-attr-shadow to --respect-prop-shadow.
- Fix a memory leak in --respect-prop-shadow.
- Many other small changes.
Add Asciidoc man pages. The old man page is still kept, and you need to
run "make docs" to generate the new man pages and a HTML version of it.
An Asciidoc man page for compton-trans is not added yet.
Pregenerate alpha pictures to save time when painting. Add --alpha-step
to control the step of alpha picture generation (the opacity difference
between two consecutively generated alpha pictures).
Add CMakeLists.txt to support building with CMake, as @pvanek requests.
The old Makefile system and CPackConfig.cmake are still usable. (Of
course, make sure you don't overwrite them by executing cmake.) There
must be a bunch of bugs in CMakeLists.txt. :-) Let chjj decide which one
he will choose, here I keep both.
- Let window type detection start with the client window if there's one,
in hope to enhance performance.
- Change get_wintype_prop() to fetch the property only once.
- Default to WINTYPE_UNKNOWN instead of WINTYPE_NORMAL if
_NET_WM_WINDOW_TYPE is missing.
- Fix a mistake in calc_opacity().
- Add some items to .gitignore.
- Fix a typo in usage().