Ww is very much a KIS (Keep It Simple) project. While it is tempting to
add a daemon with a dbus interface (or simple socket protocol) to trigger
the available layouts, this should not be done. Ww should be kept minimal.
While we should keep the code base simple individual layout (see Terminology
below) implementations can be however complex they like.
We stick to the EWMH (Extended Window Manager Hints) standard to ensure maximum
compatibility among platforms. To this end libwnck is used over direct X
A 'layout' is a function that performs the actual laying out of windows.
Adding a New Layout:
Implement a WwLayoutHandler as defined in winwrangler.h and add a declaration
in ww-layouts.h and a description in ww-layouts.c. Each layout should be
in a separate file called ww-layout-<name>.c.
Hints for Ubuntu PPA Uploads:
* First rename the release tarball to winwrangler_VERSION.orig.tar.gz
and unpack it.
* Then update debian/changelog, formatting the timestamp with 'date -R'.
* Run 'debuild -S' from inside the unpacked winwrangler-VERSION dir
* Just outside the winwrangler-VERSION dir, next to the .orig tarball run
'dput [dput-target] winwrangler_VERSION-ppa1_source.changes'. You only need
to set the dput-target if you haven't configured dput to use your PPA