Linking a branch with support of the feature I specified above, except for the strange (and possibly unnecessary) suppress-sounds hint. I'm happy to play around with it as you wish; just throw any feedback my way :)

It isn't required, but it would be nice to send some useful properties to Canberra, such as an event description and application id.

I'll admit the weird, silly, embarassing reason why I haven't been able to really test suppress-sounds as it is implemented: I have no idea how to pass a boolean value to a notification, and there is nothing else which seems to. notify-send, the handy testing tool, only supports int, double, string and byte hints; it won't do boolean hints. No other documentation seems to mention this either. If I just forego the value and assume, if suppress-sound is passed, that the client wants us to suppress sounds (assume True), it works… but then that seems to contradict what the specification is asking for.

Anyway, the way I have it causes any playing sounds to cease when the bubble with suppress-sounds first appears. (Which is a bit odd and pointless feeling; I'm probably doing it wrong).