nanogui: combining client and server into a single process
Subject:
Re: [nanogui] combining client and server into a single process
From:
Alex Holden ####@####.####
Date:
6 Sep 2002 06:11:32 -0000
Message-Id: <3D7846D7.7040900@linuxhacker.org>
wang weihui wrote:
> Would you like to tell me where I can get this Alex's patch, internal-clients.patch. Thank you in advance.
>
I've attached it to this email, but the chances are high that it won't
apply to whatever version of Microwindows you're using without some
manual fixing up.
To use it to link NanoWM into the server, set NANOWM_LINKED_IN=Y in the
config file.
It's possible to use the new features this patch adds to link other
clients into the server. You can link in as many as you want (limited
only by the memory you have available), and you can start multiple
instances of the same client. The clients can call any drawing function
and most other Nano-X functions, but they can't call GrOpen(),
GrClose(), GrGetNextEvent(), or GrGetNextEventTimeout() (and probably a
few others), and they can't get TIMEOUT events (they can get TIMER
events though). If you're interested in the extra capabilities of the
patch, there's a little demo activated by setting INTERNAL_NXEYES_DEMO=Y
in the config file which starts up several instances of nxeyes inside
the server. It can be used at the same time as NANOWM_LINKED_IN, and
they all work both in networked mode and in "client linked to the
server" mode. Note that the internal client support doesn't replace the
ability to link an ordinary client to the server, and in fact if you
want to have several clients and no networking, one of the clients needs
to be the "primary" one (ie. the one with main() in it and which calls
GrOpen() to initialise the server and regularly calls GrGetNextEvent()
to allow the other clients to run).
It's already included in my CVS snapshot, available from here:
http://www.linuxhacker.org/pub/cvs-snapshots/microwin-aph/
That reminds me. By popular request, I've set up a nightly snapshot of
Greg's CVS tree too, which is available from here:
http://www.linuxhacker.org/pub/cvs-snapshots/microwin-greg/
[Content type application/x-gzip not shown. Download]