42 lines
859 B
QML
42 lines
859 B
QML
pragma Singleton
|
|
pragma ComponentBehavior: Bound
|
|
|
|
import Quickshell
|
|
import Quickshell.Services.Notifications
|
|
import QtQuick
|
|
|
|
Singleton {
|
|
id: root
|
|
|
|
readonly property list<Notif> list: []
|
|
readonly property list<Notif> popups: list.filter(n => n.popup)
|
|
|
|
NotificationServer {
|
|
id: server
|
|
|
|
keepOnReload: false
|
|
|
|
onNotification: notif => {
|
|
notif.tracked = true;
|
|
|
|
root.list.push(notifComp.createObject(root, {
|
|
popup: true,
|
|
notification: notif
|
|
}));
|
|
}
|
|
}
|
|
|
|
component Notif: QtObject {
|
|
property bool popup
|
|
readonly property date time: new Date()
|
|
|
|
required property Notification notification
|
|
readonly property string summary: notification.summary
|
|
}
|
|
|
|
Component {
|
|
id: notifComp
|
|
|
|
Notif {}
|
|
}
|
|
}
|