nanogui: Complete Desktop Refresh


Previous by date: 12 Jan 2002 06:06:05 -0000 Visual C++ version of nanoGui, mitchell balsam
Next by date: 12 Jan 2002 06:06:05 -0000 Re: Complete Desktop Refresh, Darran D. Rimron-Molloy
Previous in thread: 12 Jan 2002 06:06:05 -0000 Complete Desktop Refresh, Darran D. Rimron-Molloy
Next in thread: 12 Jan 2002 06:06:05 -0000 Re: Complete Desktop Refresh, Darran D. Rimron-Molloy

Subject: Re: [nanogui] Complete Desktop Refresh
From: "Greg Haerr" ####@####.####
Date: 12 Jan 2002 06:06:05 -0000
Message-Id: <03bf01c19b2c$91a10600$3aba46a6@xmission.com>

: I'm looking for a way to cause every application currently running, and
: connected to an Nano-X server to refresh (ie, redraw) itself.
: 
: I suspect the easiest way to do this is to cause and EXPOSE event on the
: GR_ROOT_WINDOW_ID, and that, in turn will cause every child to have an
: EXPOSE event, yes? (please correct me if I have this wrong....)

No, this will only cause the unexposed portions of the root window
to be redrawn.  Since the Nano-X server always keeps track of
where each window is, it will never redraw other windows on top
of a given window's expose region, instead, those regions are
clipped out.

A way to cause the server to redraw everything is to execute
the GsRedrawScreen call, but there's no user call for this.
(We don't make it easy for a user program to refresh the screen,
since this should never be required, precompiled binaries or not)
If you really want to do this, use GrQueryTree to get all the active
windows in use on the system, and send GrClearArea to each of
them.  Another way would be to create a topmost window the
size of the screen, map it, and then destroy it.  (the screen will blink)


: 
: Is there any way to cause this to happen, ie to insert and event into the
: server-queue and have it generate the appropriate "child" events and pass
: them to the connected applications?

It doesn't matter if a child window is owned by another process,
the server will handle it correctly.  This is how the window manager
works.


: 
: My main concern is, you see, that I will not have control over every
: application connecting to the server, many of them can (and will) be 3rd
: party and pre-compiled - so forcing these to redraw also becomes and issue.

This shouldn't be an issue - please explain.

Regards,

Greg


: 
: Unfortunatly, I don't have the option to code all this into a single
: process, not even close :( I don't have the source-code to, what could be, a
: significant percentage of the connected clients.
: 
: Help, please!!! :)
: 
: -Darran
: 
: 
: 
: ---------------------------------------------------------------------
: To unsubscribe, e-mail: ####@####.####
: For additional commands, e-mail: ####@####.####
: 


Previous by date: 12 Jan 2002 06:06:05 -0000 Visual C++ version of nanoGui, mitchell balsam
Next by date: 12 Jan 2002 06:06:05 -0000 Re: Complete Desktop Refresh, Darran D. Rimron-Molloy
Previous in thread: 12 Jan 2002 06:06:05 -0000 Complete Desktop Refresh, Darran D. Rimron-Molloy
Next in thread: 12 Jan 2002 06:06:05 -0000 Re: Complete Desktop Refresh, Darran D. Rimron-Molloy


Powered by ezmlm-browse 0.20.