From 58e37da20ed56eef1863f259e17a819105ac33f2 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Tue, 10 Nov 2026 10:06:13 +0100 Subject: 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 --- desktop/modules/qtmaildir/ChoiceSetting.qml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'desktop/modules/qtmaildir') diff --git a/desktop/modules/qtmaildir/ChoiceSetting.qml b/desktop/modules/qtmaildir/ChoiceSetting.qml index 01de9da..0a365d0 100644 --- a/desktop/modules/qtmaildir/ChoiceSetting.qml +++ b/desktop/modules/qtmaildir/ChoiceSetting.qml @@ -22,10 +22,12 @@ Column { // [{value, label}] property var options: [] property string fallbackLabel: "Default" + // The draft it edits; qtmaildir's by default, deck-it passes its own. + property var store: Qtm objectName: section + "/" + key width: parent ? parent.width : 0 - readonly property string value: Qtm.get(s.section, s.key) ?? "" + readonly property string value: s.store.get(s.section, s.key) ?? "" Item { width: s.width @@ -66,7 +68,7 @@ Column { anchors.fill: parent hoverEnabled: true cursorShape: Qt.PointingHandCursor - onClicked: Qtm.set(s.section, s.key, chip.modelData.value === "" ? null : chip.modelData.value) + onClicked: s.store.set(s.section, s.key, chip.modelData.value === "" ? null : chip.modelData.value) } } } -- cgit v1.2.3