[comp.soft-sys.andrew] Transients update.

wdc@ATHENA.MIT.EDU (Bill Cattey) (10/24/90)

Thanks much many, Andy, for telling me to make the transient a child of
the root window, not of the other window.  This has cured the problem of
mouse events I wanted to give to the transient window going to the
parent window.  The bad interaction of old dialogue boxes and my
transients is fixed.

Here, for the benefit of other interested info-andrew readers, are the
revisions to the design of transients:

1.  im_CreateTransient creates a window that is a "transient for another
window".  It's purpose is to create windows located relative to another
window.  Such windows are for things like Palettes where their operation
can happen concurrently with the other window they're associated with.

2. im_CreatePopUp will be written for windows that must operate while
the other window they are associated with is not allowed to receive
input.  Such windows are for dialogue boxes.  This is a transient with
override_redirect set, and it requires fiddling with the im_  main loop
to forward keyboard and button events from the other window to this one.

Open issues:

1. What should the interface be if im_CreatePopUp is not supported?

2. Should there be a compile-time or run-time variable or call that
tells if the window server supports the Transient or PopUp window types.

-wdc

nsb@THUMPER.BELLCORE.COM (Nathaniel Borenstein) (10/24/90)

Excerpts from internet.info-andrew: 23-Oct-90 Transients update. Bill
Cattey@athena.mit.e (1288)

> Open issues:

> 1. What should the interface be if im_CreatePopUp is not supported?

How  about having the top level object (the child of im) temporarily
replaced with the object that would have been put in the transient
window, with a full redraw before & after?

> 2. Should there be a compile-time or run-time variable or call that
> tells if the window server supports the Transient or PopUp window types.

No.  I think it would be really bad news, because people would end up
writing code that worked on one window system and not another.  I vote
for having it look a little klunky but still working right where
transients aren't properly supported.