Conversation
According to the Desktop Notifications Specification. See emersion#541
|
Hm, the way I've read the spec, the "transient" bit meant that the notification is not stored on disk (and restored), but history sounded unrelated. |
|
@emersion the spec is as follows:
Where the persistence capability is defined as follows:
I don't think it has anything to do with storing it on disk. The way this persistence is usually implemented is that there's a pop-up when the notification is first emitted, and then if it times out the notification is visible when the user accesses the "notification drawer", where they can be dismissed or actioned on. Since mako doesn't have a "notification drawer" per se, the closest analogue we can come up with is that the usual notification display is the "pop-up", and the notification history is the "drawer". It seems like this PR implements this behavior perfectly (at least for transient notifications). From my experience this is also how the hint is usually used by applications: to signal notifications which are simply pop-ups and don't need to be recalled later on. |
Draft implementation for #541, implements handling of the "transient" hint according to the Desktop Notifications Specification.
The
-e/--transientflag ofnotify-send(libnotify) allows a simple test:While users are still able to explicitly put notifications in the history when calling
makoctl dismiss(without--no-history) or using the according binding (MAKO_BINDING_DISMISSinstead ofMAKO_BINDING_DISMISS_NO_HISTORY).Second commit is some kind of a clean-up, as it doesn't make much sense, IMHO to maintain both, a transient member and a (no-)history parameter.