[comp.windows.x] Can 2 Unix Processes Write into the Same Window?

markd@silogic.UUCP (Mark DiVecchio) (01/20/91)

I'm looking at a programming problem that could be solved if I
can have 2 separate Unix processes draw into the same window.

I've got the O'Reilly books and several others but I can't find
any words on the subject.

Is this possible? Anyone have any pointers to information?
-- 
Mark DiVecchio, Silogic Systems, 619-549-9841                       K3FWT
-----   9888 Carroll Center Road, Suite 113, San Diego, CA 92126    -----
markd@silogic.uucp                             BBS 619-549-3927
...!ucsd!celit!silogic!markd     celit!silogic!markd@ucsd.edu

bjaspan@athena.mit.edu (Barr3y Jaspan) (01/20/91)

In article <276@silogic.UUCP>, markd@silogic.UUCP (Mark DiVecchio) writes:
|> I'm looking at a programming problem that could be solved if I
|> can have 2 separate Unix processes draw into the same window.

Yes.  Any program that can open a connection to a display has free run of all
windows on that display.  Any number of clients can select on events, send
drawing requests, etc., to any window *assuming that the client can get the
appropriate window id*.  So if your two clients agree on the name of the
window, then one of them can create it and the other could search the entire
window tree until it found it.

(Note that there are actually some restrictions on multiple clients selecting
on certain events for a window; the O'Reily books talk about it.

-- 
Barr3y Jaspan, bjaspan@mit.edu

jg@quabbin.crl.dec.com (Jim Gettys) (01/20/91)

In article <276@silogic.UUCP> markd@silogic.UUCP (Mark DiVecchio) writes:
>
>I'm looking at a programming problem that could be solved if I
>can have 2 separate Unix processes draw into the same window.
>

Sure.  X ID's are global to the server, by deliberate design.  Happens
all the time; it is how window managers are implemented (along with quite
a bit of other mechanism.).

>I've got the O'Reilly books and several others but I can't find
>any words on the subject.

Dunno if you looked at Scheifler + Gettys...  I hope we are clear
on the point.
				- Jim Gettys

--
Digital Equipment Corporation
Cambridge Research Laboratory

dce@smsc.sony.com (David Elliott) (01/21/91)

In article <1991Jan19.193317.24112@athena.mit.edu> bjaspan@athena.mit.edu (Barr3y Jaspan) writes:
>appropriate window id*.  So if your two clients agree on the name of the
>window, then one of them can create it and the other could search the entire
>window tree until it found it.

Or you could use a property with a pre-determined name, and some kind
of locking mechanism to handle multiple runs styarting at the same time
(or just ignore that problem).  In the first X class I ever took, this
was one of the examples given for the use of properties.