aboutsummaryrefslogtreecommitdiffstats
path: root/internal/notify
AgeCommit message (Collapse)AuthorFilesLines
29 hoursfeat: add the control interface and notifyctlDanilo M.1-2/+33
The private interface carries what the spec cannot: close-all, invoke action and clear history. notifyctl reads the published files for list and history, because the files are the interface, and uses D-Bus only for the mutations.
29 hoursfix: delete the timer entry on natural expiryDanilo M.2-2/+38
29 hoursfeat: add the D-Bus service and the daemonDanilo M.3-0/+303
Notify assigns an id and publishes; a replaces_id or stack tag reuses the id. CloseNotification closes with reason 3. The daemon claims org.freedesktop.Notifications and exits non-zero if it cannot, which is what happens while dunst still holds it.
29 hoursfeat: publish the queue and history atomicallyDanilo M.2-0/+124
Both files are written whole through a temporary file and a rename, so a renderer never reads a half-written value. An empty queue is [] rather than null, because the renderer parses it as an array.
29 hoursfeat: add the notification storeDanilo M.2-0/+352
The store holds the live queue and the history ring as pure state. Expiry tells the client and keeps the entry inert; dismissal and eviction file it in history. Replacing reuses the id and emits nothing.
29 hoursfix: add the GPLv2 header to the policy testDanilo M.1-0/+11
29 hoursfeat: add the module and the notification policyDanilo M.2-0/+184
The policy functions are pure so they are tested without a bus: urgency from the hints, the timeout rule with its urgency defaults, the two stack tag spellings, and the action pair parse.