Ethan Blanton a écrit :
Olivier Chapuis spake unto us the following wisdom:

Now a note on _NET_CURRENT_DESKTOP (and _NET_DESKTOP_VIEW PORT), the
EWMH spec says that this property (as a client msg) is for a pager. Thus
if gtk_window_present() uses this property (and one may understand that
it uses it in the *view of the doc*), you may understand that you go
beyond what an application is espected to do at startup: is gaim a
Pager?


After some discussion with the Gaim folk who grok Gtk+, we have some
questions ... are you actually _seeing_ _NET_CURRENT_DESKTOP or
_NET_DESKTOP_VIEWPORT?

I do not know I do not use gaim (I use psi). But I read the
discussion on the forum and Dominik conclude that such msg was send by gaim. Moreover, my gtk_window_present() doc says:

"Presents a window to the user. This may mean raising the window in the stacking order, deiconifying it, moving it to the current desktop, and/or giving it the keyboard focus, possibly dependent on the user's platform, window manager, and preferences."

So the doc says that gtk_window_present() may send a _NET_CURRENT_DESKTOP client msg. Maybe this depends on the version of gtk ...


As best we can tell, gtk_window_present()
calls gtk_window_show() when the window is not visible, and
gtk_window_focus() when it is.  We suspect that the gtk_window_focus
is the problem, as it raises _NET_ACTIVE_WINDOW.  Is it possible that
fvwm is actually seeing _NET_ACTIVE_WINDOW, this causes it to switch
desktops/pages?  If so, is this an inappropriate client message (I
don't believe it is.)  It is clearly causing a behavior that at least
some users are not pleased with.


I think that Dominik ask the user with the gaim problem to disable _NET_ACTIVE_WINDOW msg for fvwm and the switching was still there. Dominik?

I do not think that _NET_ACTIVE_WINDOW is an inappropriate msg if the source indication is set to 2 (indicating a normal application msg). gtk does that with gtk_window_show() I think. I will add: a normal application can set the source indication to 1 (taskbar/pager) or send a _NET_CURRENT_DESKTOP msg if and only if this depends on a direct user action or if this is a (non default) option of the app (e.g., maybe some user like to have focus problems and want that an IM msg force the focus to the discussion window :o).

Olivier



Reply via email to