discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GWorkspace: focus change between any.app and Gworksapce/Desktop caus


From: Enrico Sersale
Subject: Re: GWorkspace: focus change between any.app and Gworksapce/Desktop causes weird flickering
Date: Mon, 21 Mar 2005 15:07:35 +0200

On 2005-03-20 23:38:00 +0200 Armando Di Cianno <address@hidden> wrote:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

GWorkspace: focus change between any.app and Gworksapce/Desktop causes
weird flickering

I thought someone mentioned this, but I couldn't find the previous
email to respond to, properly.

Anyways, switching between, for e.g., GNUMail.app and Terminal.app
does not make this happen, but clicking on the "Desktop" (Desktop
feature turned on) causes, what seems, to be all underlying windows
breifly appearing, and then a screen "flash".  What is odd, is that I
cannot reliably recreate this bug when I have 1 GWorkspace browser
window open as well, although it happens "sometimes."

Has any one else seen this?  Any work-arounds?  (Honestly, I'd
appreciate it -- the flashing is giving me a headache).

The borderless window containing the desktop view must become the main window 
when you click on it. But, beeing it at NSDesktopWindowLevel, this works only 
with this hack: the -mouseDown: method of the view sends a -makeKeyWindow to 
its window; doing this, the window become the first responder but it is also 
ordered in front of the other windows; to avoid this, the window's 
-orderWindow:relativeTo: method has these two lines:

  [super orderWindow: place relativeTo: otherWin];  // let the window get the 
events
  [self setLevel: NSDesktopWindowLevel];            // put it again at its level

And here you see the flicker.

I think that this problem should be fixed (in -back, probably) treating 
differently from the other cases the case of a window at NSDesktopWindowLevel 
that must become the main window.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]