From 8172b901cd3c7fe7c686bd8f0f314ebf8a065c15 Mon Sep 17 00:00:00 2001 From: loner <2788892716@qq.com> Date: Fri, 10 Oct 2025 01:01:27 +0800 Subject: [PATCH] feat(settings): Integrate tray blacklist with global settings --- Assets/settings-default.json | 1 + Commons/Settings.qml | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/Assets/settings-default.json b/Assets/settings-default.json index a80e2bb4..d7791e57 100644 --- a/Assets/settings-default.json +++ b/Assets/settings-default.json @@ -9,6 +9,7 @@ "floating": false, "marginVertical": 0.25, "marginHorizontal": 0.25, + "trayBlacklist": [], "widgets": { "left": [ { diff --git a/Commons/Settings.qml b/Commons/Settings.qml index c0939caf..04e9f507 100644 --- a/Commons/Settings.qml +++ b/Commons/Settings.qml @@ -33,6 +33,7 @@ Singleton { // Signal emitted when settings are loaded after startupcale changes signal settingsLoaded + signal settingsSaved // ----------------------------------------------------- // ----------------------------------------------------- @@ -76,6 +77,7 @@ Singleton { if (Quickshell.env("NOCTALIA_SETTINGS_FALLBACK")) { settingsFallbackFileView.writeAdapter() } + root.settingsSaved() // Emit signal after saving } } @@ -142,6 +144,7 @@ Singleton { property bool floating: false property real marginVertical: 0.25 property real marginHorizontal: 0.25 + property list trayBlacklist: [] // Widget configuration for modular bar system property JsonObject widgets @@ -351,6 +354,17 @@ Singleton { } } + // ----------------------------------------------------- + // Public function to trigger immediate settings saving + function saveImmediate() { + settingsFileView.writeAdapter() + // Write to fallback location if set + if (Quickshell.env("NOCTALIA_SETTINGS_FALLBACK")) { + settingsFallbackFileView.writeAdapter() + } + root.settingsSaved() // Emit signal after saving + } + // ----------------------------------------------------- // Generate default settings at the root of the repo function generateDefaultSettings() {