File really_dnd.patch of Package plasma6-workspace
diff -urN plasma-workspace-6.5.5/applets/notifications/main.qml plasma-workspace-6.5.5b/applets/notifications/main.qml
--- plasma-workspace-6.5.5/applets/notifications/main.qml 2026-02-15 20:50:58.543080264 +1100
+++ plasma-workspace-6.5.5b/applets/notifications/main.qml 2026-02-21 20:04:07.923155337 +1100
@@ -35,11 +35,21 @@
readonly property int effectiveStatus: historyModel.activeJobsCount > 0
|| historyModel.unreadNotificationsCount > 0
- || historyModel.dismissedResidentNotificationsCount > 0
- || Notifications.Globals.inhibited ? PlasmaCore.Types.ActiveStatus
+ || historyModel.dismissedResidentNotificationsCount > 0 ? PlasmaCore.Types.ActiveStatus
: PlasmaCore.Types.PassiveStatus
- onEffectiveStatusChanged: {
- if (effectiveStatus === PlasmaCore.Types.PassiveStatus) {
+ onInhibitedOrBrokenChanged: {
+ if (Notifications.Globals.inhibited) {
+ Plasmoid.status = PlasmaCore.Types.PassiveStatus;
+ } else {
+ root.updateStatus();
+ }
+ }
+
+ onEffectiveStatusChanged: root.updateStatus();
+
+ function updateStatus() {
+ if (!Notifications.Globals.inhibited) {
+ if (effectiveStatus === PlasmaCore.Types.PassiveStatus) {
// HACK System Tray only lets applets self-hide when in Active state
// When we clear the notifications, the status is updated right away
// as a result of model signals, and when we then try to collapse
@@ -47,8 +57,9 @@
Qt.callLater(function() {
Plasmoid.status = effectiveStatus;
});
- } else {
- Plasmoid.status = effectiveStatus;
+ } else {
+ Plasmoid.status = effectiveStatus;
+ }
}
}