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 --- AGENTS.md | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'AGENTS.md') diff --git a/AGENTS.md b/AGENTS.md index c25dd1f..e1d804e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -33,8 +33,19 @@ Keep the server dependency-free apart from that one package. monitor for `position = "auto-below"`, and paints it with the first monitor's swaybg image. - The launcher (`deck-it`) handles USB and Wi-Fi (`pair`/`wifi`), the tunnels, - wayvnc and AVNC. `adb mdns` may be unsupported; `deck-it wifi ` takes - an explicit address. + wayvnc and AVNC. `adb mdns` may be unsupported; `deck-it wifi ` or + `[wifi] address` gives an explicit one; otherwise the last address that + worked (`~/.config/deck-it/last-wifi`, kept across `stop` and reboots). + `[display] enabled = false` skips the headless output, wayvnc and AVNC. + `deck-it status` prints one JSON line for keystone's page; keep its keys. +- Config: `deckit/config.py` merges `~/.config/deck-it/config.toml` over the + shipped `config.toml` per key within each table (a list is replaced whole). + Keystone's deck-it page (quickshell repo, `desktop/modules/deckit`) writes + that sparse file and reads the defaults from `deck-it defaults`; keep that + JSON shape stable. +- Launchers are `[launch] apps`, desktop ids run with `gtk-launch`; label and + icon come from the `.desktop` file. The client sends the id, which must be + configured and installed. ## Conventions -- cgit v1.2.3