When you first encounter a specification for a language or a protocol,
it is common to consider it as inviolable. If a program implements the
specification to the letter, everything will be okay, right? But it
isn't so -- as any developer of an RSS parser, Imap client, or Web
browser could tell you.

Instead, specification authors and implementors engage in a slow-motion
negotiation about the de-facto workings of the thing being specified.
For example, the HTML specification used to contain a <command> element.
Browser developers decided they didn't want it, so it was removed.
Similarly, the HTML specification currently describes a "srcset"
attribute, implemented by WebKit, but the Firefox developers have
decided it's a bad idea and they'll implement something else instead.
But then or now, nobody would seriously respond to the statement
"Firefox implements the HTML specification" with queqotion's dismissal
of Notify OSD, "No, it doesn't". Those decisions were just part of the
overall standards process.

In this case, as wirespot points out, the developers of probably the two
most-used implementations of the notifications specification -- Notify
OSD and Gnome Shell -- have *chosen* to ignore the timeout parameter. It
is not "removing expire_timeout support" as quequotion suggests, and it
is not "poor programming" as Heather suggests: it is an ab-initio design
decision in both cases. You are welcome to criticize that decision. But
since Windows, OS X, iOS, and (as best I can tell) Android don't let
apps set notification durations either, you should at least recognize
that you are in an obscure minority.

Finally, Heather, you seem to have misinterpreted my suggestion that app
developers adapt the Notify OSD code for their own purposes. I did not
suggest, and do not think, that they would need to "safely integrate it
into whatever desktop notification system the end user happens to be
using"; it would be completely separate. One example of this is in
TextWrangler, a free text editor for OS X. If you search for some text
that is not in the document, or if you type an unmatched closing bracket
or parenthesis, you are immediately (synchronously!) informed of this
using a custom overlay in the middle of the screen. These notifications
do not integrate with OS X's Notification Center at all; they would be
much worse if they did. I would enjoy seeing a text editor on Ubuntu
borrowing some of Notify OSD's code to do the same.

-- 
You received this bug notification because you are a member of DX
Packages, which is subscribed to notify-osd in Ubuntu.
Matching subscriptions: dx-packages
https://bugs.launchpad.net/bugs/390508

Title:
  notifyOSD ignores the expire timeout parameter

Status in One Hundred Papercuts:
  Invalid
Status in Message Web:
  New
Status in Notify OSD:
  Won't Fix
Status in “notify-osd” package in Ubuntu:
  Won't Fix

Bug description:
  Binary package hint: libnotify-bin

  adyroman@panther:~/libnotify-0.4.5/tools$ lsb_release -rd
  Description:  Ubuntu 9.04
  Release:      9.04
  adyroman@panther:~/libnotify-0.4.5/tools$ 

  adyroman@panther:~/libnotify-0.4.5/tools$ apt-cache policy libnotify-bin
  libnotify-bin:
    Installed: 0.4.5-0ubuntu1
    Candidate: 0.4.5-0ubuntu1
    Version table:
   *** 0.4.5-0ubuntu1 0
          500 http://ro.archive.ubuntu.com jaunty/universe Packages
          100 /var/lib/dpkg/status
  adyroman@panther:~/libnotify-0.4.5/tools$ 

  adyroman@panther:~/libnotify-0.4.5/tools$ cat notify-send.c | grep 
expire_timeout
        static glong expire_timeout = NOTIFY_EXPIRES_DEFAULT;
                { "expire-time", 't', 0,G_OPTION_ARG_INT, &expire_timeout,
        notify_notification_set_timeout(notify, expire_timeout);
  adyroman@panther:~/libnotify-0.4.5/tools$

To manage notifications about this bug go to:
https://bugs.launchpad.net/hundredpapercuts/+bug/390508/+subscriptions

-- 
Mailing list: https://launchpad.net/~dx-packages
Post to     : dx-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dx-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to