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 --- tests/test_launcher.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests/test_launcher.py') diff --git a/tests/test_launcher.py b/tests/test_launcher.py index 0c16b46..06e5724 100644 --- a/tests/test_launcher.py +++ b/tests/test_launcher.py @@ -28,7 +28,7 @@ class Launcher(unittest.TestCase): def test_env_prints_keys(self): out = subprocess.run(["bash", str(ROOT / "deck-it"), "env"], capture_output=True, text=True, cwd=ROOT).stdout - for key in ("MON=", "PORT=", "VNC_PORT="): + for key in ("MON=", "PORT=", "VNC_PORT=", "EXTEND="): self.assertIn(key, out) -- cgit v1.2.3