Deep shadows: windows not backgrounded
Brought to you by:
torrey
When XDarwin is not the active application, its windows retain the
deep-shadow normally associated with the active window; further
more, all XDarwin windows always have the deep-shadow,
regardless of which is currently receiving focus.
This creates confusing depth-clues when running Aqua windows
alongside X ones.
Logged In: YES
user_id=313617
Yes, this has been annoying me ever since I started with
XDarwin - and I did try to "fix" it with the modified XDarwin
built into OroborOSX back when I first released v0.8 preview
(I managed to make the shadows actually disappear from all
but the current focus window, and the "hook" for it is still
there in both OroborOSX and its modified XDarwin...)
OK, so come on Greg and/or Torrey, explain how these shadows
manage to stubbornly stay "deep", and what are the
circumstances that make the OSX Windowserver actually change
these shadows in a "normal" OSX app? :-)
Thanks!
Adrian
Logged In: YES
user_id=37183
In order for a Cocoa window to have its shadow adjusted, it must (1) be able to be the key window (and/or main, I forget), and (2) not have Cocoa's autodisplay turned off. XDarwin's windows are not allowed to be key or main (for event handling purposes), and have autodisplay turned off (for drawing purposes). It may be possible to remove both of those restrictions, but no guarantees.
Note that the shadow would probably follow either the last window clicked or the topmost window, neither of which is guaranteed to correspond to the actual X11 focus (depending on window manager), so try to vary the shadow might be misleading.
Logged In: YES
user_id=313617
Ah, OK, thanks!
Yes, it looks like it should always be the top window that
has the deep shadow, not the focus window - this is what
happens with Cocoa apps when the focus window is switched
to one behind the top window (eg, command-click on the
titlebar of a Terminal.app window).
One thing that sudenly comes to mind is floating toolbar
type windows...? Since they float above even the topmost
window of the current topmost app, do they all have deep
shadows? If so, how? Does the WindowServer do this
automatically from the window type? -I'll check when I'm
sitting in front of OSX again..
Thanks!
Adrian
Logged In: YES
user_id=313617
Correction...
It should be the current focus window that has the deep
shadow.
At least, that's what happens in both Terminal and Project
Builder...
(Don't know why I had it in my head that it was always the top
one...? :-/ )
I guess that might make it slightly easier to get it right in
XDarwin?
Anyway, I'll have a fiddle and see what turns up...
Bye!
Adrian
Logged In: YES
user_id=37183
Yes, the current focus window (not the current top window) has the deep shadow. This shouldn't be too hard for OroborOSX to implement (assuming that you can get around the problems with making any window key/main in XDarwin). This would be hard for XDarwin to implement because it has no good way to know which window the window manager has decided is focused. (XDarwin might be able to snoop window properties and assume the wm complies with ICCCM or EWMH, but I think we shouldn't go there, at least not yet.)
Logged In: YES
user_id=313617
Well, I've totally failed to get this to work...
I've switched on autodisplay (and tried several other flags,
too), and I've allowed key and main, and been setting key
and main - but still only ever see deep shadows... :-/
Any other suggestions?
Adrian