Michael R Head spake unto us the following wisdom:
> Of course you're right. And it is obnoxious, but the freedesktop spec is
> what it is, and GNOME and KDE are what they are. If that's the way the
> wind is blowing, why not blow along with it? What use is supporting a
> spec that nobody else (or few others) supports, and inversely, what use
> is not supporting a spec that everyone (or most others) supports?
Of course, he is right. And, in fact, ICCCM (which the Gnome people, at
least, are ignoring -- although I understand that KDE supports URGENCY)
is THE spec for window management. Some fly-by-night made-up fd.o post-
ing of a hack to fix the focus policy they screwed up themselves is NOT.
Those "few others" and "nobody else" you so cavalierly threw out are the
window managers which _do_ support the standards; and, not surprisingly,
the ones you'll find people with staggering amounts of clue using.
(Before anybody cries, yes, there are also clueful gnome and kde users
=2E.. although I don't understand how.) Gnome and KDE are, in fact, the
newcomers to window and desktop management, and the fact that they're
still catching up to a 1993 standard is testament to this.
> Windows expecting immediate user action should indicate this
> using the urgency bit in the WM_HINTS.flags property, as defined
> in the ICCCM.=20
For the record, the ICCCM actually says that the UrgencyHint "indicates
that the client deems the window contents to be urgent, requiring the
timely response of the user. The window manager must make some effort to
draw the user's attention to this window while this flag is set." This
seems to be 100% appropriate for our (the Gaim) use case.
> _NET_WM_STATE_DEMANDS_ATTENTION indicates that some action in or
> with the window happened. For example, it may be set by the
> Window Manager if the window requested activation but the Window
> Manager refused it, or the application may set it if it finished
> some work. This state may be set by both the Client and the
> Window Manager. It should be unset by the Window Manager when it
> decides the window got the required attention (usually, that it
> got activated).
This window-manager-managed bit is the only thing which I see about
DEMANDS_ATTENTION that is at all interesting. Given that there _are_
applications which try to do foolish things such as focus themselves,
and that the Urgency hint is clearly defined to be client-controlled,
having an equivalent hint which is manipulable by the window manager is
not unreasonable. However, this is not necessary to reflect the Gaim
sementics -- which is, we have a window which is known _to the client_
to need attention in a "timely" fashion.
> I don't completely buy their argument, but like I said, the spec is what
> it is, and it's where the window managers are heading, IMHO. Plus,
> Demands Attention does seem more in line with what gaim wants to do
> (according, of course, to the freedesktop wm-spec).
"Window managers" are not heading that direction, because this is a
response to poor window management. Window managers don't need this
hack. Desktop environments which lack sufficient window management seem
to need this hack. And, regarding specs ... THEY WROTE THE SPEC. I
could write a spec stating that DEMANDS_ATTENTION is not to be used
under any circumstances ... would you cite that, too?
The laws that forbid the carrying of arms are laws [that have no remedy
for evils]. They disarm only those who are neither inclined nor
determined to commit crimes.
-- Cesare Beccaria, "On Crimes and Punishments", 1764