aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/modules/deckit/DeckItModule.qml
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-11-10 20:09:46 +0100
committerDanilo M. <danix@danix.xyz>2026-11-10 20:09:46 +0100
commitcd7035be76c82c15d172a6827c3c8f81df723424 (patch)
tree0daa73c531e81a53b872877ee060e3d9d1403d8d /desktop/modules/deckit/DeckItModule.qml
parent8a84306ff64deb542ef8de60cc30d490c5e25aff (diff)
downloadquickshell-cd7035be76c82c15d172a6827c3c8f81df723424.tar.gz
quickshell-cd7035be76c82c15d172a6827c3c8f81df723424.zip
feat(deckit): split the settings into a deck-it group of four pages
The single long deck-it page becomes its own sidebar group: General (status, Restart, Start, Display, Advanced), Dashboard (Modules, action icons, Hardware), Windows (launchers, workspaces) and Services (OBS, LLM, K1C, build VM). All four share DeckIt.store, so Save on any page writes the whole draft, as the Mail pages do. Each module lists its own fields, so a search jumps to the page holding the field. The small-print text moves to a shared Small.qml. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'desktop/modules/deckit/DeckItModule.qml')
-rw-r--r--desktop/modules/deckit/DeckItModule.qml20
1 files changed, 8 insertions, 12 deletions
diff --git a/desktop/modules/deckit/DeckItModule.qml b/desktop/modules/deckit/DeckItModule.qml
index fbf6bd0..973ef1c 100644
--- a/desktop/modules/deckit/DeckItModule.qml
+++ b/desktop/modules/deckit/DeckItModule.qml
@@ -14,8 +14,8 @@ import QtQuick
import "../.."
import "../qtmaildir"
-// deck-it, the tablet dashboard: whether it starts at login, and its config.
-// See README.md.
+// deck-it, the tablet dashboard: General, the first of its four pages, with
+// its state and Restart in the header. See README.md.
Module {
id: mod
name: "deckit"
@@ -23,22 +23,17 @@ Module {
// nf-md-tablet, present in Inconsolata Nerd Font.
icon: "󰓶"
settings: true
- group: "Desktop"
+ group: "deck-it"
dirty: DeckIt.store.dirty
- keywords: ["deck-it", "tablet", "android", "dashboard", "stream deck", "adb", "wifi", "avnc",
- "wayvnc", "second monitor", "launcher", "autostart", "printer", "k1c", "klipper"]
+ keywords: ["deck-it", "tablet", "android", "stream deck", "adb", "wifi", "avnc", "wayvnc",
+ "second monitor", "autostart", "display", "resolution", "port", "hyprland", "icon theme"]
readonly property var fields: [
["autostart", "", "Start at login"], ["wifi", "address", "Wi-Fi address"],
["display", "enabled", "Second display"], ["display", "resolution", "Resolution"],
["display", "position", "Position"], ["display", "scale", "Scale"],
["display", "refresh", "Refresh"], ["display", "name", "Output name"],
["ports", "command_center", "Dashboard port"], ["ports", "display", "Display port"],
- ["launch", "apps", "Launchers"], ["windows", "workspaces", "Workspaces"],
- ["obs", "host", "OBS host"], ["obs", "port", "OBS port"], ["obs", "password", "OBS password"],
- ["llm", "url", "LLM dashboard URL"], ["sbbuilder", "host", "Build VM host"], ["k1c", "url", "K1C Moonraker"],
- ["hardware", "net", "Network interface"], ["hardware", "battery", "Battery"],
- ["hardware", "cpu_sensor", "CPU sensor"], ["hardware", "gpu", "GPU"],
- ["hardware", "gpu_mem_total", "GPU memory"], ["icons", "theme", "Fallback icon theme"]]
+ ["", "hyprland", "Hyprland config"], ["icons", "theme", "Fallback icon theme"]]
searchItems: fields.map(f => ({ text: f[2], key: f[0] + "/" + f[1] }))
function refresh() { DeckIt.reload(); }
@@ -47,6 +42,7 @@ Module {
title: "deck-it"
// Its state in the header, as the Wallpaper engine page does:
// `deck-it status`, polled while the page is open (DeckIt.watchers).
+ // One draft behind all four deck-it pages: Save writes them all.
actions: Component {
Row {
spacing: 8
@@ -72,7 +68,7 @@ Module {
}
}
}
- DeckItPage { width: parent.width }
+ DeckItGeneralPage { width: parent.width }
}
}
}