From c055690a9b8ac6383f668ee1b1aa22c1dffd9954 Mon Sep 17 00:00:00 2001 From: LemmyCook Date: Thu, 4 Sep 2025 15:27:17 -0400 Subject: [PATCH] Cleaned up init sequence --- Commons/Settings.qml | 100 +++++++++++++++++++--------------- Modules/Launcher/Launcher.qml | 4 +- shell.qml | 6 -- 3 files changed, 59 insertions(+), 51 deletions(-) diff --git a/Commons/Settings.qml b/Commons/Settings.qml index 4481c2d..6d1cbc3 100644 --- a/Commons/Settings.qml +++ b/Commons/Settings.qml @@ -35,6 +35,7 @@ Singleton { // Signal emitted when settings are loaded after startupcale changes signal settingsLoaded + // ----------------------------------------------------- // Function to validate monitor configurations function validateMonitorConfigurations() { var availableScreenNames = [] @@ -55,17 +56,65 @@ Singleton { } } if (!hasValidBarMonitor) { - Logger.log("Settings", + Logger.warn("Settings", "No configured bar monitors found on system, clearing bar monitor list to show on all screens") adapter.bar.monitors = [] } else { - Logger.log("Settings", "Found valid bar monitors, keeping configuration") + //Logger.log("Settings", "Found valid bar monitors, keeping configuration") } } else { - Logger.log("Settings", "Bar monitor list is empty, will show on all available screens") + //Logger.log("Settings", "Bar monitor list is empty, will show on all available screens") } } + // ----------------------------------------------------- + // If the settings structure has changed, ensure + // backward compatibility + function upgradeSettingsData() { + for (var i = 0; i < adapter.bar.widgets.left.length; i++) { + var obj = adapter.bar.widgets.left[i] + if (typeof obj === "string") { + adapter.bar.widgets.left[i] = { + "id": obj + } + } + } + for (var i = 0; i < adapter.bar.widgets.center.length; i++) { + var obj = adapter.bar.widgets.center[i] + if (typeof obj === "string") { + adapter.bar.widgets.center[i] = { + "id": obj + } + } + } + for (var i = 0; i < adapter.bar.widgets.right.length; i++) { + var obj = adapter.bar.widgets.right[i] + if (typeof obj === "string") { + adapter.bar.widgets.right[i] = { + "id": obj + } + } + } + } + + // ----------------------------------------------------- + // Kickoff essential services + function kickOffServices() { + // Ensure our location singleton is created as soon as possible so we start fetching weather asap + LocationService.init() + + NightLightService.apply() + + ColorSchemeService.init() + + MatugenService.init() + + FontService.init() + + HooksService.init() + } + + // ----------------------------------------------------- Item { Component.onCompleted: { @@ -100,49 +149,14 @@ Singleton { Logger.log("Settings", "Settings loaded successfully") isLoaded = true - for (var i = 0; i < adapter.bar.widgets.left.length; i++) { - var obj = adapter.bar.widgets.left[i] - if (typeof obj === "string") { - adapter.bar.widgets.left[i] = { - "id": obj - } - } - } - for (var i = 0; i < adapter.bar.widgets.center.length; i++) { - var obj = adapter.bar.widgets.center[i] - if (typeof obj === "string") { - adapter.bar.widgets.center[i] = { - "id": obj - } - } - } - for (var i = 0; i < adapter.bar.widgets.right.length; i++) { - var obj = adapter.bar.widgets.right[i] - if (typeof obj === "string") { - adapter.bar.widgets.right[i] = { - "id": obj - } - } - } + upgradeSettingsData() + + validateMonitorConfigurations() + + kickOffServices(); // Emit the signal root.settingsLoaded() - - // Kickoff ColorScheme service - ColorSchemeService.init() - - // Kickoff Matugen service - MatugenService.init() - - // Kickoff Font service - FontService.init() - - // Kickoff HooksService - HooksService.init() - - Qt.callLater(function () { - validateMonitorConfigurations() - }) } } onLoadFailed: function (error) { diff --git a/Modules/Launcher/Launcher.qml b/Modules/Launcher/Launcher.qml index b249820..c417168 100644 --- a/Modules/Launcher/Launcher.qml +++ b/Modules/Launcher/Launcher.qml @@ -141,9 +141,9 @@ NPanel { const clipboardPlugin = Qt.createComponent("Plugins/ClipboardPlugin.qml").createObject(this) if (clipboardPlugin) { registerPlugin(clipboardPlugin) - Logger.log("Launcher", "Registered: clipboardPlugin") + Logger.log("Launcher", "Registered: ClipboardPlugin") } else { - Logger.error("Launcher", "Failed to load clipboardPlugin") + Logger.error("Launcher", "Failed to load ClipboardPlugin") } } diff --git a/shell.qml b/shell.qml index 1e0f9ba..823857d 100644 --- a/shell.qml +++ b/shell.qml @@ -103,11 +103,5 @@ ShellRoot { Component.onCompleted: { // Save a ref. to our lockScreen so we can access it easily PanelService.lockScreen = lockScreen - - // Ensure our location singleton is created as soon as possible so we start fetching weather asap - LocationService.init() - - // Kickoff NightLight service - NightLightService.apply() } }