CLIM mail archive


When is a frame *really* up?


Is there a general, portable way to tell if an application frame has
really, honest-to-gosh, become visible on the screen?  This is important in
a number of place; two obvious examples:

1] If my application pops-up a new frame (possibly in situation where the
user wouldn't neccessarily expect it) I would like to indicate that
something is happening (for example by setting the "busy" pointer-cursor).

Unfortunately between the time that my code finishes launching the frame
and when the user actually sees the screen (which could be a sizable part
of minute later) the only symptom is that the system appears to hang.  Bad
for the user.

2] Similarly I face the following problem if my application launches a
frame that wants to come up in particular display configuration.  Namely,
if I'm doing anything other than strictly a vanilla redisplay I seem to be
getting into a race condition between the normal redisplay code and and my
display code.

As a result, I would like to wait until the frame is _really_ up and
running and _then_ start massaging the display.  Again, I don't know how to
determine if this is the case.

Most of the obvious things (for example FRAME-STATE, etc) return the value
that the frame _will_ have once it gets up on the screen, with no
information about what's really happening.

Or is this all hopeless because I'm trying to extract information that
lives out on the other end of the X-connection?


Main Index | Thread Index