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, 8 insertions, 7 deletions
diff --git a/desktop/README.md b/desktop/README.md
index f440512..f0345eb 100644
--- a/desktop/README.md
+++ b/desktop/README.md
@@ -26,13 +26,14 @@ 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/kdeconnect/ devices, battery, pairing, ping, clipboard, share, mount
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, vm, network and bluetooth each carry their own README. Appearance
-is a tile onto the separate appearance shell, whose README covers the picker
-it opens.
+Sound, mail, vm, network, bluetooth and kdeconnect each carry their own README.
+Appearance is a tile onto the separate appearance shell, whose README covers the
+picker it opens.
## Writing a module
@@ -58,8 +59,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, vm, network and
-bluetooth each add a service and a page on top of that same shape.
+picker on click, no always-active service. Sound, mail, vm, network, bluetooth
+and kdeconnect 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
@@ -72,7 +73,7 @@ directory import does not reach the parent. The moved `TransportButton.qml` and
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, mail, network and bluetooth are
-`alwaysActive: true`; vm is false.
+`alwaysActive: true`; vm and kdeconnect are 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
@@ -103,7 +104,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, Bluetooth, KDE Connect, Mail, Appearance, Machines.
## Hyprland and waybar