Add an option (default off) to map and unmap workspaces in the "best"
order when switching workspaces.
The best order is to first unmap back-to-front (this avoid exposures of
parts of hidden windows), then map front-to-back (which prevents that
a just-mapped window gets partially hidden again).
Enable this code with

SwitchWorkspacesOrdered	1

in your .ctwmrc. If this option turns out to be ok (possibly after
improvement, it can be turned on by default. One possible improvement
would be if it were possible to keep track of the stacking order
without explicitly asking the X server with XQueryTree().

Monotone-Parent: d60692c3d82391bd01e15ca64725e263c1dc79ab
Monotone-Revision: 27b160b3525651191dc08378d18b8e13bc744bad
3 - Selected a number of cleanups from Stefan Monnier
<monnier@IRO.UMontreal.CA>, including rate-limiting of animations using
a new _XA_WM_END_OF_ANIMATION message.  Added some similar changes,
improved the prevention of placing windows off-screen, the
"f.rescuewindows" function for emergencies, a hack-fix for
f.adoptwindow. More virtual screen tweaks/fixes.

Monotone-Parent: 27b160b3525651191dc08378d18b8e13bc744bad
Monotone-Revision: 5fd857314d1d65c5847d6146fb7234e0fea7ea2e
    4 - Added the remaining OnTopPriority changes from Stefan Monnier
        <monnier@IRO.UMontreal.CA>: AutoPopup, AutoPriority,
        OnTopPriority, PrioritySwitching, f.changepriority,
        f.priorityswitching, f.setpriority, f.switchpriority,
        f.tinylower, f.tinyraise. Currently consistency checking code is
        enabled, which will terminate with an assertion failure if
        something unexpected happens. Smoothed out various
        inconsistencies that this check discovered when virtual screens
        are used.

Hopefully no problems remain but more testing by someone doing
different things from me would be good.

Monotone-Parent: 5fd857314d1d65c5847d6146fb7234e0fea7ea2e
Monotone-Revision: e87da13340b9ef695ab8aee55ab325385e6e1ee3
Merge changes from trunk.
Remove remaining code related to the obsoleted "SwitchWorkspacesOrdered"
option.
Get rid of VirtScreenContext. Not needed anymore!
Merge from trunk.
Due to extra warning options, this does not compile any more :-)
The warnings will be fixed next.
Fix a bunch of compiler error messages.
Lots of warnings remain so far; maybe my gcc has different tastes
than Matthew's compiler.
More compiler warnings.
Merged trunk for size hints check.
Remove spurious check for Tmp_win->old_bw.
Set Scr->ClientBorderWidth = FALSE; if 3D borders are used when setting
up the configuration, not later on when the first window is added.
Mention that in the manual.
Merge in cleanups from trunk.
Merge from trunk.
Merge with trunk.
Merge from trunk.
Strictly use ->parent_vs rather than ->vs (which could be NULL).
Merged from trunk.
Comment cleanup.
Layout cleanup.
The effects of calling XCirculateSubwindows(3) were not taken into
account, and as a result the consistency check failed a bit later.
Now XCirculateSubwindows() is followed by an event handler which
handles any raised or lowered window as a result.