Comment 1 for bug 593649

Isaiah Heyer (freshapplepy) wrote :

From https://wiki.ubuntu.com/NotifyOSD:

Critical and non-critical queues and do-not-disturb mode
Every notification, whether it is to be presented as a bubble or as a fallback alert box, should be treated as if it is in one of two queues: critical or non-critical. All pending critical notifications should appear before any pending non-critical notification bubbles appear; and within each queue, notifications should appear in chronological order. (This means, for example, that a fallback alert box should not appear until earlier notification bubbles have finished displaying. This prevents a later interactive notification from appearing inappropriately before an earlier non-interactive one from the same program.)

Whenever a program is inhibiting the screensaver, Notify OSD should be in do-not-disturb mode. While in this mode:

All notifications should be logged as normal.
Critical notifications, and all confirmation bubbles, should appear as normal.
Any non-critical notification bubble that was already being displayed, at the moment Notify OSD entered do-not-disturb mode, should remain for its scheduled duration.
Normal processing of the non-critical notification queue should stop, so that no further notification bubbles appear.
Once it has been in the queue for 30 seconds, any non-critical notification that would be rendered as a fallback alert box should (for compatibility) appear as normal, except that it should open explicitly unfocused and in the background.
Once it has been in the queue for 30 seconds, any non-critical notification that would be rendered as a bubble should be discarded from the queue and never displayed.
When Notify OSD leaves do-not-disturb mode, normal processing of the non-critical notification queue should resume.