From 9227120043a2ea3df3a84ac85e784057cab05635 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Wed, 11 Nov 2026 10:01:12 +0100 Subject: feat(deckit): new-window peek time, General page renamed Server The Windows page gains "Show on new window", deck-it's [windows] peek: seconds the tablet shows its Windows tab when a window opens, 0 off. The first page is now "Server": the sidebar group is already deck-it, so the page name no longer repeats it. Co-Authored-By: Claude Opus 5.5 --- desktop/modules/deckit/DeckItDashboardPage.qml | 2 +- desktop/modules/deckit/DeckItModule.qml | 6 +++--- desktop/modules/deckit/DeckItWindowsModule.qml | 5 +++-- desktop/modules/deckit/DeckItWindowsPage.qml | 3 +++ desktop/modules/deckit/README.md | 7 ++++--- 5 files changed, 14 insertions(+), 9 deletions(-) (limited to 'desktop/modules') diff --git a/desktop/modules/deckit/DeckItDashboardPage.qml b/desktop/modules/deckit/DeckItDashboardPage.qml index 0ab032f..060df7e 100644 --- a/desktop/modules/deckit/DeckItDashboardPage.qml +++ b/desktop/modules/deckit/DeckItDashboardPage.qml @@ -33,7 +33,7 @@ Column { Small { visible: DeckIt.defaultsError !== ""; color: Theme.red; text: DeckIt.defaultsError } Heading { objectName: "modules/"; text: "Dashboard parts" } - Small { text: "What the Dashboard shows. The OBS and K1C tabs, on the General page, also feed its running row." } + Small { text: "What the Dashboard shows. The OBS and K1C tabs, on the Server page, also feed its running row." } Repeater { model: Modules.parts(Object.keys(col.def("modules") ?? {})) BoolSetting { diff --git a/desktop/modules/deckit/DeckItModule.qml b/desktop/modules/deckit/DeckItModule.qml index 623bdc8..f3986e9 100644 --- a/desktop/modules/deckit/DeckItModule.qml +++ b/desktop/modules/deckit/DeckItModule.qml @@ -14,12 +14,12 @@ import QtQuick import "../.." import "../qtmaildir" -// deck-it, the tablet dashboard: General, the first of its four pages, with +// deck-it, the tablet dashboard: Server, the first of its four pages, with // its state and Restart in the header. See README.md. Module { id: mod name: "deckit" - label: "deck-it" + label: "Server" // nf-md-tablet, present in Inconsolata Nerd Font. icon: "󰓶" settings: true @@ -39,7 +39,7 @@ Module { page: Component { Page { - title: "deck-it" + title: "Server" // 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. diff --git a/desktop/modules/deckit/DeckItWindowsModule.qml b/desktop/modules/deckit/DeckItWindowsModule.qml index 3c75c28..3271644 100644 --- a/desktop/modules/deckit/DeckItWindowsModule.qml +++ b/desktop/modules/deckit/DeckItWindowsModule.qml @@ -21,9 +21,10 @@ Module { settings: true group: "deck-it" dirty: DeckIt.store.dirty - keywords: ["deck-it", "tablet", "windows", "launcher", "launchers", "apps", "gtk-launch", "workspaces"] + keywords: ["deck-it", "tablet", "windows", "launcher", "launchers", "apps", "gtk-launch", "workspaces", "peek", "new window"] readonly property var fields: [ - ["launch", "apps", "Launchers"], ["windows", "workspaces", "Workspaces"]] + ["launch", "apps", "Launchers"], ["windows", "workspaces", "Workspaces"], + ["windows", "peek", "Show on new window"]] searchItems: fields.map(f => ({ text: f[2], key: f[0] + "/" + f[1] })) function refresh() { DeckIt.reload(); } diff --git a/desktop/modules/deckit/DeckItWindowsPage.qml b/desktop/modules/deckit/DeckItWindowsPage.qml index c7cd11c..0f27ccf 100644 --- a/desktop/modules/deckit/DeckItWindowsPage.qml +++ b/desktop/modules/deckit/DeckItWindowsPage.qml @@ -148,4 +148,7 @@ Column { Setting { store: col.st; section: "windows"; key: "workspaces"; label: "Workspaces" placeholder: col.st.placeholder("windows", "workspaces") hint: "Numbers on the Windows tab, separated by spaces, shown even when empty." } + Setting { store: col.st; section: "windows"; key: "peek"; label: "Show on new window"; kind: "int"; min: 0; max: 60 + placeholder: col.st.placeholder("windows", "peek") + hint: "Seconds the tablet shows the Windows tab when a window opens, then goes back unless touched. 0 turns it off." } } diff --git a/desktop/modules/deckit/README.md b/desktop/modules/deckit/README.md index ba4f4db..427f753 100644 --- a/desktop/modules/deckit/README.md +++ b/desktop/modules/deckit/README.md @@ -4,7 +4,7 @@ Four settings pages, in their own deck-it sidebar group, for deck-it (the tablet dashboard, its own repo): whether it starts at login, and its `~/.config/deck-it/config.toml`. -- General (`DeckItModule`, `DeckItGeneralPage`): the config path, Start +- Server (`DeckItModule`, `DeckItGeneralPage`): the config path, Start (start at login, Wi-Fi address), Display, Tabs (the tablet's tabs) and Advanced (ports, Hyprland config, fallback icon theme). Its header carries deck-it's state and Restart. @@ -14,7 +14,8 @@ tablet dashboard, its own repo): whether it starts at login, and its gives each a readable name; a module it does not list lands with the Dashboard parts. - Windows (`DeckItWindowsModule`, `DeckItWindowsPage`): the launchers and the - workspaces the Windows tab shows. + workspaces the Windows tab shows, and how long a new window brings that tab + forward. - Services (`DeckItServicesModule`, `DeckItServicesPage`): OBS, the LLM dashboard URL, the K1C's Moonraker and the build VM host. @@ -44,7 +45,7 @@ the list; the order is the button order on the tablet. deck-it reads its config once at start, so a save applies on Restart deck-it, which runs `deck-it stop` and then the login command. -While the General page is open it polls `deck-it status` (JSON: server, display, +While the Server page is open it polls `deck-it status` (JSON: server, display, waiting, tablet, extend) every 2s and shows one line in that page's header, beside Restart and Save, as the Wallpaper engine page does: green when the server runs with a tablet tunnelled (and the display streams, if enabled), -- cgit v1.2.3