aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'desktop/README.md')
-rw-r--r--desktop/README.md15
1 files changed, 7 insertions, 8 deletions
diff --git a/desktop/README.md b/desktop/README.md
index 01ed1ce..7dc9612 100644
--- a/desktop/README.md
+++ b/desktop/README.md
@@ -25,13 +25,12 @@ the IPC layer rejects. The page-less grid entry is therefore the zero-argument
modules/sound/ output and input volume, the OSD, the player
modules/network/ wired and wifi, radio, scan, join, forget
- modules/bluetooth/ adapter, scan, pair, connect, forget, trust
modules/mail/ unread per account, threads, the watcher dot
modules/vm/ libvirt state, live stats, snapshots
modules/appearance/ a tile that opens the separate appearance shell
-Sound, mail and vm each carry their own README. Appearance is a tile onto the
-separate appearance shell, whose README covers the picker it opens.
+Sound, mail, vm and network each carry their own README. Appearance is a tile
+onto the separate appearance shell, whose README covers the picker it opens.
## Writing a module
@@ -57,8 +56,8 @@ fire-and-forget, so its click calls `activate()` and closes the drawer.
`modules/appearance/AppearanceModule.qml` is the smallest complete example: a
name, an icon, a label, and an `activate()` that launches the separate
appearance shell. It has no page, and it owns only a `Process` that fires the
-picker on click, no always-active service. Sound, mail and vm each add a
-service and a page on top of that same shape.
+picker on click, no always-active service. Sound, mail, vm and network each add
+a service and a page on top of that same shape.
Module files live under `desktop/modules/<name>/` and reference root types
(`Module`, `Page`, `Button`, `Theme`), so each needs `import "../.."`. A plain
@@ -70,8 +69,8 @@ directory import does not reach the parent. The moved `TransportButton.qml` and
`alwaysActive` is declarative metadata: it documents whether a module's service
is meant to run while the drawer is closed. The drawer does not read or enforce
it. Each module implements its own service lifetime, and the property records
-that choice rather than driving it. Sound and mail are `alwaysActive: true`; vm
-is false.
+that choice rather than driving it. Sound, mail and network are
+`alwaysActive: true`; vm is false.
Sound's OSD has to answer a volume keypress with no drawer open, which is the
whole point of it, so its PipeWire service is instantiated eagerly and runs for
@@ -102,7 +101,7 @@ is an empty `Item` claiming the space, not a placeholder graphic, so the grid
below it sits where it will sit once notifications arrive. The bottom is a
fixed, never-scrolled `Flow` grid: three columns at 180px minimum, wrapping
and adding rows up to a 3x3 ceiling for the modules that exist, in the order
-Sound, Network, Bluetooth, Mail, Appearance, Machines.
+Sound, Network, Mail, Appearance, Machines.
## Hyprland and waybar