SystemTrayService: add service to init tray faster (#689)

This commit is contained in:
Ly-sec
2025-11-10 12:56:01 +01:00
parent c6bd84dfaa
commit bb8ab1f7eb
2 changed files with 42 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
pragma Singleton
import QtQuick
import Quickshell
import Quickshell.Services.SystemTray
import qs.Commons
/**
* SystemTrayService
* This service ensures that Quickshell's SystemTray service is initialized
* early in the shell startup to avoid programs that should stay in tray, not having access to one (let's hope this works).
*/
Singleton {
id: root
property bool initialized: false
Component.onCompleted: {
if (SystemTray && SystemTray.items) {
Logger.i("SystemTrayService", "SystemTray service initialized")
initialized = true
// Monitor for tray items to confirm it's working
if (SystemTray.items.valuesChanged) {
Logger.d("SystemTrayService", "SystemTray is ready and monitoring for items")
}
} else {
Logger.w("SystemTrayService", "SystemTray service not available")
}
}
function init() {
// Explicit initialization function
if (!initialized && SystemTray && SystemTray.items) {
Logger.i("SystemTrayService", "SystemTray service initialized via init()")
initialized = true
}
}
}