gen2brain / beeep

Go cross-platform library for sending desktop notifications, alerts and beeps
BSD 2-Clause "Simplified" License
1.43k stars 89 forks source link

Support for notification urgency #55

Open delthas opened 1 year ago

delthas commented 1 year ago

https://specifications.freedesktop.org/notification-spec/notification-spec-latest.html

Taken from the spec:

Urgency Levels

Notifications have an urgency level associated with them. This defines the importance of the notification. For example, "Joe Bob signed on" would be a low urgency. "You have new mail" or "A USB device was unplugged" would be a normal urgency. "Your computer is on fire" would be a critical urgency.

Urgency levels are defined as follows:

Table 3. Urgency Levels

Type | Description -- | -- 0 | Low 1 | Normal 2 | Critical

Developers must use their own judgement when deciding the urgency of a notification. Typically, if the majority of programs are using the same level for a specific type of urgency, other applications should follow them.

For low and normal urgencies, server implementations may display the notifications how they choose. They should, however, have a sane expiration timeout dependent on the urgency level.

Critical notifications should not automatically expire, as they are things that the user will most likely want to know about. They should only be closed when the user dismisses them, for example, by clicking on the notification.

gen2brain commented 1 year ago

You are referencing only FreeDesktop notifications. In order for something to be added here it must support all or at least most of the platforms. So, is there anything like this in Windows, macOS, and in browsers? Are you willing to work on this or is this just a wish, i.e. feature request?

delthas commented 1 year ago

Windows: yes: https://github.com/go-toast/toast/issues/37

Browsers: not really (there is silent and vibrate)

MacOS: apparently not (at least not in oascript display notification)