On Thu, Oct 6, 2011 at 10:17, <wagnerdm@seas.upenn.edu> wrote:
Quoting Troels Henriksen <athas@sigkill.dk>:
wagnerdm@seas.upenn.edu writes:
That strategy doesn't work when the layout of all the windows changes,
since a window cannot be mapped at two places (and, potentially,
sizes!) at once.

You could dump the contents of the workspace region to a pixmap, render
that pixmap to a new (unmanaged) window covering the entire workspace,
perform window movement/mapping behind it and unmap the covering window
at the end.  This would work, but it's ugly and complex.  I doubt a
simple and robust solution to this aesthetic issue can be conceived.

Cute. The generalization of this idea leads directly to a simple, robust solution: never unmap clients, and using OpenGL compositing to hide them instead. ;-)

It's worth noting that a number of desktop environments *have* moved to OpenGL for window management; I don't know if they use compositing per se, but windows are often implemented as OpenGL textures so they can be manipulated this way. 

--
brandon s allbery                                      allbery.b@gmail.com
wandering unix systems administrator (available)     (412) 475-9364 vm/sms