aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-11-10 19:55:12 +0100
committerDanilo M. <danix@danix.xyz>2026-11-10 19:55:12 +0100
commit8a84306ff64deb542ef8de60cc30d490c5e25aff (patch)
tree0ffbc800bfe9da8277b39a37bbb6c8617b478ad7
parent80306b3a3ad59e3a06a7e694c69be3ada976ff03 (diff)
downloadquickshell-8a84306ff64deb542ef8de60cc30d490c5e25aff.tar.gz
quickshell-8a84306ff64deb542ef8de60cc30d490c5e25aff.zip
feat(deckit): toggles for the dashboard's action icons
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
-rw-r--r--desktop/modules/deckit/DeckItPage.qml34
1 files changed, 34 insertions, 0 deletions
diff --git a/desktop/modules/deckit/DeckItPage.qml b/desktop/modules/deckit/DeckItPage.qml
index fe4092c..4368ca4 100644
--- a/desktop/modules/deckit/DeckItPage.qml
+++ b/desktop/modules/deckit/DeckItPage.qml
@@ -38,6 +38,15 @@ Column {
}
function setApps(list) { col.st.put("launch", "apps", list); }
+ // The dashboard's action icons: every id deck-it knows is in the
+ // defaults' list; the file keeps the ones switched on, in that order.
+ readonly property var allActions: col.def("dashboard", "actions") ?? []
+ readonly property var actions: col.st.value("dashboard", "actions") ?? col.allActions
+ function setAction(id, on) {
+ col.st.put("dashboard", "actions",
+ col.allActions.filter(a => a === id ? on : col.actions.includes(a)));
+ }
+
component Small: Text {
width: col.width
wrapMode: Text.Wrap
@@ -203,6 +212,31 @@ Column {
}
}
+ Heading { objectName: "dashboard/actions"; text: "Dashboard actions" }
+ Small { text: "Icon buttons at the bottom of the tablet's dashboard." }
+ Repeater {
+ model: col.allActions
+ Item {
+ id: act
+ required property string modelData
+ width: col.width
+ height: 34
+ Text {
+ id: actLabel
+ anchors { left: parent.left; verticalCenter: parent.verticalCenter }
+ width: 160
+ text: act.modelData
+ color: Theme.subtext
+ font { family: Theme.fontFamily; pixelSize: Theme.fontSize - 3 }
+ }
+ Switch {
+ anchors { left: actLabel.right; leftMargin: 8; verticalCenter: parent.verticalCenter }
+ checked: col.actions.includes(act.modelData)
+ onToggled: on => col.setAction(act.modelData, on)
+ }
+ }
+ }
+
Heading { text: "Modules" }
Small { text: "The dashboard's panels and tabs." }
Repeater {