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.