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;
+            }
         }
     }
 
openSUSE Build Service is sponsored by