1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
# deckit
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`.
- 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.
- Dashboard (`DeckItDashboardModule`, `DeckItDashboardPage`): the
Dashboard parts (the modules without a tab), the action icons, and
Hardware. `Modules.js` says which of deck-it's `[modules]` are tabs and
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, 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.
The four pages edit one draft, `DeckIt.store`, as the Mail pages do: each has
a SaveBar, and Save or Discard on any page acts on all of them. Each module
lists its own fields, so a search lands on the page that holds the field.
The config file is a sparse override. deck-it merges it over its shipped
`config.toml` key by key, so these pages write only what differs, and an
emptied field unsets the key and brings the default back. The defaults come
from `deck-it defaults` (JSON), run once when deck-it's settings first load, so they
are never copied here; deck-it must be on PATH (`~/bin/deck-it`, a link to
the repo's launcher). The draft rules are the settings window's, through
sbbuilder's `Store` and `Toml.js`, which gained plain decimals for the display
scale and lists of numbers for the workspaces.
Start at login is not part of the draft: like the Autostart page, it edits
hypr-theme's `autostart.lua` at once, through `Autostart.js`. On re-enables a
commented-out `deck-it` line or adds `deck-it wifi --wait` before the closing
`end)`; off comments out every enabled one. Any `hl.exec_cmd` line whose
program is `deck-it` counts, so a hand-written `deck-it watch-usb` shows as on.
Launchers are desktop ids (`[launch] apps`), added from the installed apps
the way the Autostart page picks one, minus terminal apps. Up and Remove edit
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 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),
yellow while starting or waiting for the tablet, red when stopped. A Restart's
outcome goes to the window's snackbar: "deck-it restarted" once that state is
green, or what it saw if it is not back within 30s; a `wifi --wait` with no
tablet in reach ends there.
Check: `node desktop/modules/sbbuilder/test_toml.js`; the deck-it side is
tested in its repo.
|