Bug fix #84: Root window not repainted sometimes on wallpaper change

- Fix a bug that root window is not repainted on wallpaper change unless
  an Expose X event is received. Seemingly, if there's no mapped window
  on a screen, X will not send an Expose event when the wallpaper
  changes. Thanks to baskerville for reporting.

- Fix a X Pixmap leak when there's no existing wallpaper pixmap found.

- Fix a bug in mstrncpy() that null character is not added to the end of
  the copied string.

- Make VSYNC_STRS public, for use in src/dbus.c. Adjust the type of
  WINTYPES array. Add NUM_VSYNC.

- Add more targets for various D-Bus methods. Add "bad_target" D-Bus
  error. Improve error handling. Add more helper functions to append
  arguments to a D-Bus message. Add Introspect method to D-Bus
  introspection reply.

- Add public declarations of things in the new condition format code to
  common.h. Move definitions of some inline functions from compton.h to
  common.h. Make some functions public. Move wid_get_prop_adv() to
  compton.c. The primary code files of the new format src/c2.{c,h} will
  be published when ready.

- Add support for dumping version string in Makefile (make version), to
  make snapshot generation easier.

- Add repeated inclusion protection to common.h.

- Update documentation.

- Use gsed instead of sed in dbus-examples/cdbus-driver.sh if possible,
  as some BSD systems does not come with GNU sed by default. Thanks to
  DaChiChang for reporting.

- Code clean-up. Small type changes in register_cm() to silence
  warnings. Quit on failure in parse_vsync(). Apply stricter checks in
  force_repaint().
This commit is contained in:
Richard Grenville
2013-01-24 13:38:03 +08:00
parent 58c0ecec40
commit 00424b1082
8 changed files with 415 additions and 190 deletions

View File

@ -15,7 +15,7 @@ SYNOPSIS
WARNING
-------
This man page may be less up-to-date than the usage text in compton.
This man page may be less up-to-date than the usage text in compton (`compton -h`).
DESCRIPTION
-----------
@ -23,6 +23,9 @@ compton is a compositor based on Dana Jansens' version of xcompmgr (which itself
OPTIONS
-------
*-h*, *--help*::
Get the usage text embedded in program code, which may be more up-to-date than this man page.
*-d* 'DISPLAY'::
Display to be managed.
@ -169,6 +172,12 @@ OPTIONS
*--blur-background-fixed*::
Use fixed blur strength rather than adjusting according to window opacity.
*--invert-color-include* condition::
Specify a list of conditions of windows that should be painted with inverted color. Resource-hogging, and is not well tested.
*--dbus*::
Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
FORMAT OF CONDITIONS
--------------------
@ -193,6 +202,12 @@ SIGNALS
* compton reinitializes itself upon receiving `SIGUSR1`.
D-BUS API
---------
It's possible to control compton via D-Bus messages, by running compton with *--dbus* and send messages to `com.github.chjj.compton.<DISPLAY>`. `<DISPLAY>` is the display used by compton, with all non-alphanumeric characters transformed to underscores. For `DISPLAY=:0.0` you should use `com.github.chjj.compton._0_0`, for example.
The D-Bus methods and signals are not yet stable, thus undocumented right now.
EXAMPLES
--------