Re: _NET_WM_[GET_|TAKE_|REQUEST_]FOCUS & urgency



Lubos Lunak wrote:
>  That said, if getting focus is just a configuration option in Gaim, then you 
> could use _NET_ACTIVE_MESSAGE with the source indication field saying it 
> comes from a tool that represent direct user action. Granted, in this case 
> saying those tools are taskbars, pagers and similar is somewhat imprecise, 
> but the logic stays - the option in Gaim is a kind of a direct user action. 
> Kopete does have such an option and does it this way.

Gaim tended to use gtk_window_present for most of its new windows, but
this caused focus stealing on everyone's WMs. Conversation windows (IMs
and chats) were then modified to not use gtk_window_present, and instead
merely show the window, which was a little better but not brilliant,
because Metacity always focussed the new windows. Focus stealing
prevention fixes this, which is cool.

Contrary to popular belief, Gaim does not raise conversation windows by
default when messages arrive. There are options to raise conversation
windows when messages arrive, and (used far more rarely) the buddy list
whenever events take place such as buddies signing on or off. These
default to off, but when on, call gdk_window_raise when the relevant
event takes place.

As it stands, with Elijah's patch in #305882, the raise attempt will
cause DEMANDS_ATTENTION to be set, with whatever associated notification
(at least flashing in the taskbar). This means that from the user's
point of view, who explicitly enabled window raising, GNOME 2.10/Gtk+
2.6 stops this option from working.

Is it the consensus of the list that in light of the fact this is the
user explicitly asking for their focus to be stolen, these options
should now cause Gaim to use _NET_ACTIVE_WINDOW with source indication 2
(user) to *actually* raise the window as the preference says?

The downside to this is that you lose the "free" blinking tasklist
notification of messages arriving in your window, and have to fall back
to the message notification plugin, which lets set the (now thankfully
supported) URGENT hint, but this isn't much different to the pre 2.10
situation.

Regards,
Rob




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