Files
z-bar-qt/notification-test/shell.qml
T
2025-11-09 01:13:05 +01:00

40 lines
1.0 KiB
QML

pragma ComponentBehavior: Bound
import Quickshell
import Quickshell.Services.Notifications
import QtQuick
Scope {
id: root
property list<int> notifIds: []
NotificationServer {
id: notificationServer
imageSupported: true
actionsSupported: true
persistenceSupported: true
bodyImagesSupported: true
bodySupported: true
onNotification: {
notification.tracked = true;
notification.receivedTime = Date.now();
root.notifIds.push(notification.id);
notificationComponent.createObject(root, { notif: notification, visible: !notificationCenter.doNotDisturb });
}
}
Component {
id: notificationComponent
Notif {
centerX: notificationCenter.posX
notifIndex: root.notifIds
onNotifDestroy: {
root.notifIds.shift();
}
}
}
NotificationCenter {
id: notificationCenter
notifications: notificationServer.trackedNotifications.values
}
}