
This problem is caused by a bad interaction between the way olwm reparents
windows, a misfeature of the X protocol, and a bug in the Xt intrinsics.  

The Intrinsics bug is that it ignores the (x,y) position given in
ReparentNotify events.  Olwm is structured in such a way that, when a window
is popped down, the last event the client receives is a ReparentNotify event. 
At this point, the Intrinsics' notion of the shell's location is out of date.

If a SetValues is done using the same (x,y) position, the Intrinsics thinks it
needs to move the shell, so it issues a ConfigureWindow request to move it
there.  However, a (mis)feature of the X protocol is that a ConfigureWindow
request that has no effect will generate no ConfigureNotify event.  The
Intrinsics thus waits for an event that will never arrive, and times out after
wmTimeout has expired.  (Actually, things are somewhat more complex because
the request is redirected to the window manager, but the net result is the
same.)

The solution is for the Intrinsics to note the (x,y) positioning information
in ReparentNotify events.  This has been implemented and is available in X11R5
public fix 20.  This is XBUG 5513 for those of you who are interested in
gorier details.

s'marks
