Re: How to know if metacity is the window manager?



Why do you need to know the window manager's mouse focus settings?
The only case I can think of for that is IDE for GUIs and thus you
want to create the illusion of having "windows" managed inside your
window.  Is there any other case?  (or are you, by chance developing
such an IDE?)  Just curious...

I'm writing a (keyboard-activated) libwnck-based window switcher [1]
that has an on-screen popup window (one that is
GTK_WIN_POS_CENTER_ALWAYS).  Now, under default settings, things work
fine, but my WM is metacity with focus_mode sloppy and auto_raise (or
something similar), and if the mouse is over window A, and I switch
(via the keyboard) to window B, then this popup comes and goes, the
mouse "re-enters" window A without ever having moved, and window A
takes focus from window B.  Thus, my switcher can't actually switch to
window B.

I have a work-around where I XWarpPointer the, uh, pointer to be over
window B, so that when the popup goes away, the mouse "enters" window
B, so it retains focus.  However, I only want to do this on sloppy or
mouse focus_mode.  I'm reading the gconf values, but really I should
also only inspect metacity's settings iff metacity is the actual WM in
use.

That's my reasoning, better ideas welcomed.  Like if I can somehow
suppress window A's raising some other way.

And while I'm here, AFAICT I can't raise or lower windows Z-order (??)
through libwnck, since that's handled in metacity, right?


[1] http://code.google.com/p/superswitcher/



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