|
From: | Richard Frith-Macdonald |
Subject: | Re: Window flickering (Was: Question on mini windows) |
Date: | Fri, 11 Jan 2008 18:29:31 +0000 |
On 11 Jan 2008, at 18:14, David Chisnall wrote:
On 11 Jan 2008, at 17:40, Fred Kiefer wrote:Andreas Schik wrote:On 2008-01-10 22:15:31 +0100 Sas(o Kiselkov <skiselkov@gmail.com> wrote:It used to work on gnustep-gui-0.11 without any problem. Also, when II can confirm that. gui-0.12 worked for me as well.run an app in my X environment, it start spawning a window a largenumber of times over and over again (basically, it appears as a smallwindow flickering) for about two seconds. After that the app starts up normally. Any subsequent app launching (of either the same app or different ones) doesn't cause the flickering anymore. AnyThis I have seen as well, but i occurs in -gui-0.12, too. I think it is somehow related to Étoilé as I watched this flicker appear the first time after installing Étoilé.No, it isn't Etoile. This is the test used by GNUstep to find out about the window borders. The idea here is to check all combination of border settings once and to store the resulting window borders for these. Thevalues get cached on the root window, that is why you see it only forone GNUstep applications. This wont be needed in the future, when moreand more window manager will adopt the new _NET_REQUEST_FRAME_EXTENTSprotocol. The code for this is already in GNUstep, just try it once withGnome.I patched my version of GNUstep to draw the flickering windows off the screen and suffered no ill effects.
Yes, the only problem with that is that, if the window is off-screen, the window manager is under no obligation to decorate it ... so whether or not it works is window-manager dependent.
That being said, as the common window-managers seem to decorate the window whether it's off-screen or not, perhaps the best thing to do would be to create the windows off-screen normally, and have an NSUserDefault value to tell the backend to do it on-screen so that people can try that if the off-screen method doesn't work with their window manager.
[Prev in Thread] | Current Thread | [Next in Thread] |