From 819745a39220b49e848422b4bf0ee71dc317fc4d Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Tue, 10 Nov 2026 10:03:00 +0100 Subject: feat: dashboard-only mode and keystone settings integration The second display is now optional: [display] enabled = false skips the headless output, wayvnc, AVNC and the VNC tunnel, so the tablet runs the dashboard alone. `deck-it env` reports it as EXTEND. Keystone's new deck-it page (quickshell, desktop/modules/deckit) edits the config and the autostart line, which needed: - The user config is merged over the shipped config.toml key by key within each table instead of replacing it whole, so the page writes a sparse file and an unset key falls back to the default. - `deck-it defaults` prints the shipped config as JSON for the page's placeholders, so keystone never copies the defaults. - `deck-it status` prints one JSON line (server, display, waiting, tablet, extend) for the page's status line and restart check. - [launch] is now `apps`, a list of desktop ids run with gtk-launch, with name and icon read from the .desktop file, so the page can pick launchers from the installed apps. The old command tables are gone; the client still sends only an id, which must be listed and installed. A launcher whose icon the theme lacks shows its name. - [wifi] address gives the tablet's address in config. The last address that worked is kept in ~/.config/deck-it/last-wifi: `stop` deletes the runtime serial file, so a restart from the page used to wait forever. - `stop` also ends a login's `wifi --wait`, matched by its own command line only, so repeated restarts do not pile up waiters. Also fixed: `deck-it env` fell through into the usage text, and the usage text printed the license header since the header was added. Co-Authored-By: Claude Opus 5.5 --- config.toml | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'config.toml') diff --git a/config.toml b/config.toml index 797d3d8..17a907d 100644 --- a/config.toml +++ b/config.toml @@ -1,10 +1,13 @@ # deck-it configuration. -# Copy to ~/.config/deck-it/config.toml to customize; that file replaces this one entirely. +# Override any key in ~/.config/deck-it/config.toml: that file needs only the +# keys it changes, and keystone's deck-it page writes it. # "auto" picks "lua" when ~/.config/hypr/hyprland.lua exists, otherwise "classic". hyprland = "auto" [display] +# false runs the dashboard only: no virtual monitor, wayvnc or AVNC. +enabled = true # Resolution of the virtual monitor. "auto" reads it from the tablet over adb. resolution = "auto" # "auto-below" centers the tablet under the first monitor; any Hyprland @@ -15,6 +18,11 @@ refresh = 60 # Hyprland output name for the virtual monitor. name = "TAB" +[wifi] +# The tablet's Wireless debugging address, ip:port, tried first by +# `deck-it wifi`. Empty: the last address used, then mDNS discovery. +address = "" + [ports] # Ports on the tablet's localhost, tunneled with adb reverse. command_center = 8765 @@ -66,11 +74,7 @@ workspaces = [1, 2, 3, 4, 5, 6, 7, 8] theme = "candy-icons" [launch] -# Buttons on the Windows tab. `icon` is an app icon name from the icon theme; -# with one, the button is icon-only. `command` is a string (sh -c) or a list -# (run direct). The client sends the key, never a command. -terminal = { icon = "kitty", command = "kitty" } -files = { icon = "file-manager", command = "xdg-open ~" } -obs = { icon = "obs", command = "obs" } -firefox = { icon = "firefox-icon", command = "firefox" } -signal = { icon = "signal-desktop", command = "signal-desktop" } +# Buttons on the Windows tab: desktop ids, the .desktop file names without the +# extension, in order. Each shows its app's icon and runs through gtk-launch; +# the client sends the id, never a command. +apps = ["kitty", "pcmanfm-qt", "com.obsproject.Studio", "firefox", "signal-desktop"] -- cgit v1.2.3