summaryrefslogtreecommitdiff
path: root/config/Config.qml
diff options
context:
space:
mode:
author2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-06-15 18:08:45 +1000
committer2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>2025-06-15 18:08:45 +1000
commit96429160c30ba5f6dcd25c8e6a181221195c41d8 (patch)
tree6f95bac8f3056abae67c04ae612b574ce1c37286 /config/Config.qml
parentinternal: properly fix beat detector (diff)
downloadcaelestia-shell-96429160c30ba5f6dcd25c8e6a181221195c41d8.tar.gz
caelestia-shell-96429160c30ba5f6dcd25c8e6a181221195c41d8.tar.bz2
caelestia-shell-96429160c30ba5f6dcd25c8e6a181221195c41d8.zip
feat: user config file
Config file at `~/.config/caelestia/shell.json`
Diffstat (limited to 'config/Config.qml')
-rw-r--r--config/Config.qml36
1 files changed, 36 insertions, 0 deletions
diff --git a/config/Config.qml b/config/Config.qml
new file mode 100644
index 0000000..4605b8f
--- /dev/null
+++ b/config/Config.qml
@@ -0,0 +1,36 @@
+pragma Singleton
+
+import "root:/utils"
+import Quickshell
+import Quickshell.Io
+import QtQuick
+
+Singleton {
+ id: root
+
+ property alias bar: adapter.bar
+ property alias border: adapter.border
+ property alias dashboard: adapter.dashboard
+ property alias launcher: adapter.launcher
+ property alias notifs: adapter.notifs
+ property alias osd: adapter.osd
+ property alias session: adapter.session
+
+ FileView {
+ path: `${Paths.config}/shell.json`
+ watchChanges: true
+ onAdapterUpdated: writeAdapter()
+
+ JsonAdapter {
+ id: adapter
+
+ property JsonObject bar: BarConfig {}
+ property JsonObject border: BorderConfig {}
+ property JsonObject dashboard: DashboardConfig {}
+ property JsonObject launcher: LauncherConfig {}
+ property JsonObject notifs: NotifsConfig {}
+ property JsonObject osd: OsdConfig {}
+ property JsonObject session: SessionConfig {}
+ }
+ }
+}