aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/modules/sbbuilder/test_toml.js
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-11-10 10:06:13 +0100
committerDanilo M. <danix@danix.xyz>2026-11-10 10:06:13 +0100
commit58e37da20ed56eef1863f259e17a819105ac33f2 (patch)
tree17e39338164390043b30e10aded0aecb2e6e3e03 /desktop/modules/sbbuilder/test_toml.js
parentd10f2cc00c1091f63e335df1d6913c7abddf06e5 (diff)
downloadquickshell-58e37da20ed56eef1863f259e17a819105ac33f2.tar.gz
quickshell-58e37da20ed56eef1863f259e17a819105ac33f2.zip
feat(deckit): settings page for deck-it, the tablet dashboard
A page under Desktop for deck-it's ~/.config/deck-it/config.toml and its login line. deck-it now merges that file over its shipped config key by key, so the page writes only what differs and takes its placeholders from `deck-it defaults` rather than copying them. - Start at login edits hypr-theme's autostart.lua at once, as the Autostart page does, through Autostart.js: it re-enables a commented deck-it line or adds `deck-it wifi --wait`; off comments them out. - Every config key, with launchers picked from the installed apps (desktop ids, reorderable) and module switches built from the defaults. - A status line polls `deck-it status` every 2s while the page is open; Restart runs `deck-it stop` and the login command, then reports "Restarted" once the server runs with a tablet tunnelled, or what it saw after 30s. Shared helpers it needed: Toml.js reads plain decimals (the display scale), Store keeps a list of numbers numeric (the workspaces), and ChoiceSetting takes a store as Setting and BoolSetting already do. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'desktop/modules/sbbuilder/test_toml.js')
-rw-r--r--desktop/modules/sbbuilder/test_toml.js4
1 files changed, 4 insertions, 0 deletions
diff --git a/desktop/modules/sbbuilder/test_toml.js b/desktop/modules/sbbuilder/test_toml.js
index c86741d..7e62b4e 100644
--- a/desktop/modules/sbbuilder/test_toml.js
+++ b/desktop/modules/sbbuilder/test_toml.js
@@ -102,4 +102,8 @@ assert.deepStrictEqual(T.sections(file), ["manifests", "refresh"]);
assert.deepStrictEqual(T.sections("a = 1\n[manifests]\n"), ["manifests"]);
assert.deepStrictEqual(T.sections("a = 1\n"), []);
+// Decimals: read, and rewritten in place (deck-it's display scale).
+assert.strictEqual(T.get("[display]\nscale = 1.5 # hi\n", "display", "scale"), 1.5);
+assert.strictEqual(T.set("[display]\nscale = 1.5 # hi\n", "display", "scale", 2), "[display]\nscale = 2 # hi\n");
+
console.log("test_toml: ok");