mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-06-07 19:59:14 -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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user