Comment 227 for bug 390508

Revision history for this message
wirespot (wirespot) wrote :

Allow me to clarify the situation.

In the Desktop Notification Specification there is nothing to suggest that the expire_timeout parameter is optional.
https://developer.gnome.org/notification-spec/#commands

The devs for gnome-shell and notifyOSD have taken it upon themselves to silently(!) ignore the parameter in their server implementation. There is a comment in the code for gnome-shell that states this, but IMHO that is not the right way to deal with this.

I can see two logical solutions:

1) Fix gnome-shell and notifyOSD to conform to the spec. ie. stop ignoring the expire_timeout parameter. This implies modifications to the code (see aforementioned patch) and no modification to the spec.

2) Change the spec to explicitly advertise support for expiration timeout via a server capability eg. if "expire-timeout" does not appear in the list returned by org.freedesktop.Notifications.GetCapabilities() then the client will _know_ that the expire_timeout parameter will be ignored because the server does not support it. This solution would imply no modifications to the code for gnome-shell/notifyOSD (they will not have expire-timeout published in capabilities, therefore ignoring the expire_timeout parameter becomes perfectly logical and expected.) It will however require changes to the spec and probably to various other client and server implementations.