[comp.windows.misc] Sunview shared window problem

clyne@redcloud.ucar.edu (John Clyne) (04/14/89)

Hi, I am posting this for a friend who does not have access to news. 
I'm not sure this is the appropriate news group for this. So My appologies.
Please respond via email to gary@spock.ucar.edu

SunView window-sharing problem:

 SunOS provides for as many as 128 SunView windows (devices) to be opened at a 
time.  Users of my application may want as many as 30-40 Frames (processes), 
which presently contain as many as 11 window devices each; obviously, I'm 
running out of devices.  I'd like a way to share pop-ups among all other 
processes. 

 I've used shared memory and can get the pointers shared, but not the actual 
memory space allocated by window_create.  Passing a pop-up's device name and 
then using open() doesn't solve the problem since a new device is allocated 
there also (besides, as far as I can tell, I actually need a Window handle 
to use window_set() ...  how do I convert a windowfd to a Window object 
handle?  Or is there a way to set WIN_SHOW to TRUE using just the window file
descriptor?)  My next attempt will be to use signals or pipes to notify a 
server that a particular pop-up is desired; I don't like this approach for
a number of reasons: (a) the response time may be inadequate; (b) it would
be nice to get the pop-up positioned over the client window...as far as I
can tell, pop-ups will only appear with some portion over their parent window; 
(c) my application is real-time, with critical one-second updates being 
generated; I can't afford to risk slowing these down with additional blocking
from asynchronous signals or pipe-reads. At worst, I can keep the server
separate from the real-time updater to get around item (c).

 Know any tricks to get around the shared memory or file descriptors problems?  
Any other bright ideas?

 Thanks for your input...please mail anything at all to gary@spock.ucar.edu.?