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



On Tuesday 31 of May 2005 03:48, Elijah Newren wrote:
> On 5/30/05, Robert McQueen <robot101 debian org> wrote:
> > 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.
>
> Offering such an option would be a bug in Kopete, IMNSHO.  ;-)  It's
> effectively a way for a client to say to the WM "I'm important--and
> the way that you should notify the user that I'm important is to focus
> my window".  WMs should decide policy (e.g. how important apps should
> be handled and displayed to the user), not apps.  (Discussed further
> below in the context of GAIM & raising)
...
> > 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?
>
> Not at all; I totally disagree with that sentiment.  My opinion is
> that GAIM is buggy for offering such an option (though this is almost
> certainly the fault of WMs & DEs that didn't support Urgency in the
> past when they should have *cough*).  The description of Urgency
> already explicitly lists raising the window as one possible thing that
> a WM can do.

 "One possible thing to do". The Kopete option is there because (I presume) 
some people simply want that window to be activated when a new message 
arrives. There are also other kinds of (less intrusive) notifications like 
using DEMANDS_ATTENTION, using KNotify stuff like a passive popup, and 
whatever.

 If, hypothetically, we agree that this is bad and we should only support 
Urgency for this, and you make Metacity activate&raise urgent windows, and I 
simply make KWin (and the KDE taskbar) blink the taskbar entry, what is a 
user supposed to do if they really want that window to be activated?

 Adding that option to Kopete seemed perfectly fine to me, because that's a 
user setting that defaults to off. It's not a broken application abusing the 
spec, it's a deliberately activated option.

> Apps shouldn't be specifying "I am important, and this 
> is how you should notify the user that I am import", they should
> simply state "I am important, please notify the user."  The former
> results in GAIM raising itself, app B focusing itself, app C focusing
> and raising itself, app D having its button in the taskbar blink, app
> E having some special applet present some kind of notification
> message, etc., giving a totally inconsistent environment.  The latter
> makes for a nice, consistent environment.

 I don't think things like passive popups are WM's job. That's why KDE has 
KNotify, which should make for a nice, consistent environment (it actually is 
not doing a very good job at it, but that's another issue).

> If the user doesn't like 
> how important apps are handled, they should complain to the WM/DE, NOT
> to the application authors (unless, of course, apps are abusing or
> neglecting or otherwise misusing the urgency or demands attention
> hints).
>
> I know that removing the GAIM option may not be desireable in the
> short term (too many users with buggy WMs/DEs (i.e. all currently
> deployed versions of Gnome)), but they could at least change the
> option to read "request that the window be raised" or something
> similar for now.

-- 
Lubos Lunak
KDE developer
---------------------------------------------------------------------
SuSE CR, s.r.o.  e-mail: l lunak suse cz , l lunak kde org
Drahobejlova 27  tel: +420 2 9654 2373
190 00 Praha 9   fax: +420 2 9654 2374
Czech Republic   http://www.suse.cz/



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