diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-14 13:59:05 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-14 13:59:05 +0200 |
| commit | 821666ada505184dda57ab5362e712c97cdc5201 (patch) | |
| tree | 1b94ad39c8d9d5257b68b72b8410a6c32731017b /docs/superpowers/plans | |
| parent | 5d0d2a41523ad53b7b08dac8dca0ffdd08b7e699 (diff) | |
| download | quickshell-821666ada505184dda57ab5362e712c97cdc5201.tar.gz quickshell-821666ada505184dda57ab5362e712c97cdc5201.zip | |
docs: correct three plan details found during execution
The Connections block needs a typed property on a QtObject, the bluetooth
README lines belong to Task 6 so every commit stays self-consistent, and
Pairing has no status property. Each was found by a task review and fixed
in the plan as well as the code.
Diffstat (limited to 'docs/superpowers/plans')
| -rw-r--r-- | docs/superpowers/plans/2026-09-14-network-bluetooth.md | 46 |
1 files changed, 32 insertions, 14 deletions
diff --git a/docs/superpowers/plans/2026-09-14-network-bluetooth.md b/docs/superpowers/plans/2026-09-14-network-bluetooth.md index 33604c4..f5e314d 100644 --- a/docs/superpowers/plans/2026-09-14-network-bluetooth.md +++ b/docs/superpowers/plans/2026-09-14-network-bluetooth.md @@ -156,7 +156,9 @@ Module { property Process notifyProc: Process {} - Connections { + // A typed property, not a bare child: Module is a QtObject with no default + // property, so a bare child object fails to load. Same as VmModule. + property Connections conn: Connections { target: mod.pendingNetwork function onConnectionFailed(reason) { mod.error = "Connection failed: " + reason; @@ -663,9 +665,10 @@ password field. Known networks offer Forget, the connected one Disconnect. ## Service lifetime `alwaysActive: true`, and truthfully: the `Quickshell.Networking` backend -pushes and there is no poll to gate. There is no `Service.qml`, unlike sound -and vm, because there is no loop to own. Referencing `Networking` in -`NetworkModule.qml` is what instantiates it at shell start. +pushes and there is no poll to gate. There is no `Service.qml`, unlike +sound's `Service.qml` or vm's `Virsh.qml`, because there is no loop to own. +Referencing `Networking` in `NetworkModule.qml` is what instantiates it at +shell start. The backend is empty for about two seconds after launch and then fills. Every binding repaints when it arrives; nothing caches the first paint. @@ -682,13 +685,12 @@ them, so a failure shows only as the list not changing. Noted rather than faked. ``` -- [ ] **Step 2: Update `desktop/README.md`** +- [ ] **Step 2: Update `desktop/README.md` (network only; Bluetooth lines land in Task 6)** -In the module list, add the two lines: +In the module list, add the one line for the module that exists at this commit: ```markdown modules/network/ wired and wifi, radio, scan, join, forget - modules/bluetooth/ adapter, scan, pair, connect, forget, trust ``` Change the geometry paragraph's grid sentence from "three columns at 180px minimum, wrapping and adding rows up to a 3x3 ceiling for the modules that exist" to name the current order: @@ -696,9 +698,15 @@ Change the geometry paragraph's grid sentence from "three columns at 180px minim ```markdown 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. +exist, in the order Sound, Network, Mail, Appearance, Machines. ``` +Then fix the three sentences this module makes stale, in the same file: + +- the line "Sound, mail and vm each carry their own README" becomes "Sound, mail, vm and network each carry their own README" +- the line "Sound, mail and vm each add a service and a page on top of that same shape" becomes "Sound, mail, vm and network each add a service and a page on top of that same shape" +- the line "Sound and mail are `alwaysActive: true`; vm is false." becomes "Sound, mail and network are `alwaysActive: true`; vm is false." + - [ ] **Step 3: Commit** ```bash @@ -840,7 +848,7 @@ Rectangle { Text { anchors.verticalCenter: parent.verticalCenter visible: row.device.batteryAvailable ?? false - text: Math.round(row.device.battery ?? 0) + "%" + text: Math.round((row.device.battery ?? 0) * 100) + "%" font { family: Theme.fontFamily; pixelSize: Theme.fontSize - 4 } color: Theme.overlay } @@ -1046,7 +1054,7 @@ safely rather than assuming a first paint." **Interfaces:** - Consumes: `BluetoothModule.devices`, `BluetoothModule.notify`. -- Produces: `Pairing` with `address`, `status`, `error`, `busy`, signal `finished(address, ok)`, and `pair(address)`. +- Produces: `Pairing` with `address`, `error`, `busy`, signal `finished(address, ok)`, and `pair(address)`. Progress is shown from `busy` plus `address`; there is no separate `status` property. - [ ] **Step 1: Create `Pairing.qml`** @@ -1102,12 +1110,12 @@ Add the property beside `adapter`: readonly property Pairing pairing: Pairing {} ``` -Add the completion handler beside `notifyProc`: +Add the completion handler beside `notifyProc`, as a typed property (a bare `Connections` child does not load on a `QtObject`; same reason as `NetworkModule`): ```qml // Pairing runs through bluetoothctl; on success connect natively, on // failure notify, since the drawer may have closed by then. - Connections { + property Connections pairingConn: Connections { target: mod.pairing function onFinished(address, ok) { if (!ok) { @@ -1254,10 +1262,20 @@ The adapter is null and the device list empty for about two seconds after launch. Every access navigates safely; nothing caches the first paint. ``` -- [ ] **Step 2: Commit** +- [ ] **Step 2: Add the Bluetooth lines to `desktop/README.md`** + +Task 3 deliberately left these out so every commit stays self-consistent, since the module did not exist then. Now it does: + +- module list: add ` modules/bluetooth/ adapter, scan, pair, connect, forget, trust` +- grid sentence: extend the order to `Sound, Network, Bluetooth, Mail, Appearance, Machines` +- the README enumeration becomes "Sound, mail, vm, network and bluetooth each carry their own README" +- the service enumeration becomes "Sound, mail, vm, network and bluetooth each add a service and a page on top of that same shape" +- the alwaysActive line becomes "Sound, mail, network and bluetooth are `alwaysActive: true`; vm is false." + +- [ ] **Step 3: Commit** ```bash -git add desktop/modules/bluetooth/README.md +git add desktop/modules/bluetooth/README.md desktop/README.md git commit -m "docs(desktop): document the bluetooth module" ``` |
