1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-06-08 04:09:15 -04:00

fix(osd): ensure OSD appears on all monitors after resume (#2453)

Some monitors, especially cheaper models, are slow to power on after sleep and may not be present in Quickshell.screens
when onScreensChanged is triggered. This change adds a 3-second delay before updating currentOSDsByScreen to ensure all
screens are detected, mitigating the issue of OSDs not appearing on certain monitors after resume.

Co-authored-by: Klesh Wong <kleshwong@gmail.com>
This commit is contained in:
Klesh Wong
2026-05-20 23:58:13 +08:00
committed by GitHub
parent a923308c09
commit fc07611b3b
+11 -3
View File
@@ -9,9 +9,11 @@ Singleton {
property var currentOSDsByScreen: ({})
Connections {
target: Quickshell
function onScreensChanged() {
Timer {
id: screensChangedDelayTimer
interval: 3000 // 3 seconds
repeat: false
onTriggered: {
const activeNames = {};
for (let i = 0; i < Quickshell.screens.length; i++)
activeNames[Quickshell.screens[i].name] = true;
@@ -22,6 +24,12 @@ Singleton {
}
}
}
Connections {
target: Quickshell
function onScreensChanged() {
screensChangedDelayTimer.restart();
}
}
function showOSD(osd) {
if (!osd || !osd.screen)