aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/modules/qtmaildir
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/qtmaildir
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/qtmaildir')
-rw-r--r--desktop/modules/qtmaildir/ChoiceSetting.qml6
1 files changed, 4 insertions, 2 deletions
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)
}
}
}