[<<] [<] Page 1 of 1 [>] [>>] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Subject:
Complete Desktop Refresh
From: "Darran D. Rimron-Molloy" ####@####.#### Date: 5 Jan 2002 19:44:40 -0000 Message-Id: <HAEDKNJBOGMNPFLJGKNKAEIPCAAA.ddrm@digital-science.net> Hi, 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....) 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? 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. 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 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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: ####@####.#### : | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Subject:
RE: [nanogui] Complete Desktop Refresh
From: "Darran D. Rimron-Molloy" ####@####.#### Date: 12 Jan 2002 11:06:56 -0000 Message-Id: <HAEDKNJBOGMNPFLJGKNKIEGHCBAA.ddrm@digital-science.net> > : 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. The colour status of these applications , all in theory, be read from shm or similar, and when an application modifies the colour "registry" (ie, what colour are the buttons drawn in, etc) then all apps need to update, similar to when you fart around with the colours in Control Panel on Windows. The flickering way is more than acceptable - I never thought of that. Thanks. :) -Darran | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[<<] [<] Page 1 of 1 [>] [>>] |