From fa094db1278765bf033c0ff10cdb4b12475fec7e Mon Sep 17 00:00:00 2001 From: bbedward Date: Fri, 24 Jul 2026 14:12:26 -0400 Subject: [PATCH] lock: add completed guard in fade to dpms window related #2885 --- dank-qml-common | 2 +- flake.lock | 6 +++--- quickshell/Modules/Lock/FadeToDpmsWindow.qml | 6 +++++- quickshell/Modules/Lock/LockScreenContent.qml | 2 ++ 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/dank-qml-common b/dank-qml-common index 1919595f0..9cc787912 160000 --- a/dank-qml-common +++ b/dank-qml-common @@ -1 +1 @@ -Subproject commit 1919595f0dde4f5bf5ac0baa1902ff6d070971d5 +Subproject commit 9cc787912db7886051ce2b23bfd82a832d13c009 diff --git a/flake.lock b/flake.lock index 8d0707d76..6029ccea5 100644 --- a/flake.lock +++ b/flake.lock @@ -3,11 +3,11 @@ "dank-qml-common": { "flake": false, "locked": { - "lastModified": 1784647395, - "narHash": "sha256-kcLSJC8XBzmWoSBc90Zn81qrNsqWMkwQ1m/zZixOw30=", + "lastModified": 1784916690, + "narHash": "sha256-KZQjJRLRecUHSY8leyW+bWozsrpqKA9wzkQaL/TkYT0=", "owner": "AvengeMedia", "repo": "dank-qml-common", - "rev": "1919595f0dde4f5bf5ac0baa1902ff6d070971d5", + "rev": "9cc787912db7886051ce2b23bfd82a832d13c009", "type": "github" }, "original": { diff --git a/quickshell/Modules/Lock/FadeToDpmsWindow.qml b/quickshell/Modules/Lock/FadeToDpmsWindow.qml index 8cefb69d0..a60fe37f6 100644 --- a/quickshell/Modules/Lock/FadeToDpmsWindow.qml +++ b/quickshell/Modules/Lock/FadeToDpmsWindow.qml @@ -10,6 +10,7 @@ PanelWindow { id: root property bool active: false + property bool _completed: false signal fadeCompleted signal fadeCancelled @@ -36,7 +37,8 @@ PanelWindow { opacity: 0 onOpacityChanged: { - if (opacity >= 0.99 && root.active) { + if (opacity >= 0.99 && root.active && !root._completed) { + root._completed = true; root.fadeCompleted(); } } @@ -59,6 +61,7 @@ PanelWindow { function startFade() { if (!SettingsData.fadeToDpmsEnabled) return; + _completed = false; active = true; fadeOverlay.opacity = 0.0; fadeSeq.stop(); @@ -74,6 +77,7 @@ PanelWindow { fadeSeq.stop(); fadeOverlay.opacity = 0.0; active = false; + _completed = false; } Connections { diff --git a/quickshell/Modules/Lock/LockScreenContent.qml b/quickshell/Modules/Lock/LockScreenContent.qml index 01e5d1634..7bf76a583 100644 --- a/quickshell/Modules/Lock/LockScreenContent.qml +++ b/quickshell/Modules/Lock/LockScreenContent.qml @@ -113,6 +113,8 @@ Item { } function sendLockerReadyOnce() { + if (root.demoMode) + return; if (lockerReadySent) return; if (root.unlocking)