This example tracks notifications and renders plain summary and body text.
It explicitly disables action, persistence, inline-reply, markup, hyperlink, and image capability flags because the UI does not implement them.
For a positive expireTimeout, which the installed-version docs express in seconds, the example converts to milliseconds for QML Timer.interval and calls Notification.expire().
Zero leaves the notification visible; a negative timeout requests daemon policy, here five seconds.
Each window owns its expiry timer, so removing the notification also removes its timer.
Variants creates the windows; a Qt Quick Repeater cannot use non-Item window delegates.
This example has no history, manual dismissal, overflow management, or multi-monitor policy and is not a production daemon.
Do not launch this against the user's real session during routine validation.NotificationServer attempts to own the session notification service.
A runtime test requires an isolated session bus and notification clients.
Static checking does not prove ownership, expiry, stacking, interaction, or appearance.
# 08: minimal notification daemon
This example tracks notifications and renders plain summary and body text.
It explicitly disables action, persistence, inline-reply, markup, hyperlink, and image capability flags because the UI does not implement them.
For a positive `expireTimeout`, which the installed-version docs express in seconds, the example converts to milliseconds for QML `Timer.interval` and calls `Notification.expire()`.
Zero leaves the notification visible; a negative timeout requests daemon policy, here five seconds.
Each window owns its expiry timer, so removing the notification also removes its timer.
`Variants` creates the windows; a Qt Quick `Repeater` cannot use non-Item window delegates.
This example has no history, manual dismissal, overflow management, or multi-monitor policy and is not a production daemon.
Static check:
```sh
qmllint -I /usr/lib/qt6/qml examples/08-notification-daemon/shell.qml
```
**Do not launch this against the user's real session during routine validation.**
`NotificationServer` attempts to own the session notification service.
A runtime test requires an isolated session bus and notification clients.
Static checking does not prove ownership, expiry, stacking, interaction, or appearance.