diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-14 13:59:39 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-14 13:59:39 +0200 |
| commit | 5fb6c9636051423254c3f36f0ff19857898c93ad (patch) | |
| tree | ec11f4b4effbe7d8a6d207197da3edc89d142aab | |
| parent | 821666ada505184dda57ab5362e712c97cdc5201 (diff) | |
| download | quickshell-5fb6c9636051423254c3f36f0ff19857898c93ad.tar.gz quickshell-5fb6c9636051423254c3f36f0ff19857898c93ad.zip | |
docs: record the network and bluetooth traps
The native backends start empty for about two seconds, device lists are
ObjectModels, NMSettings is not in QML scope, and quickshell has no BlueZ
agent. Each one cost a probe to learn; writing them down is cheaper than
re-learning them.
| -rw-r--r-- | AGENTS.md | 15 | ||||
| -rw-r--r-- | desktop/README.md | 3 |
2 files changed, 18 insertions, 0 deletions
@@ -144,6 +144,21 @@ changing that component. The ones that generalise: - **`Virsh.sampling` gates the 2s stats poll, not the whole service.** The lifecycle event stream runs unconditionally, which is what keeps the VM list and the tile's dots current while the page is closed. +- **`Quickshell.Networking` and `Quickshell.Bluetooth` start empty.** Devices, + the adapter and the wifi radio all read empty or false for roughly two + seconds after launch, then populate. Bindings repaint when they arrive; + nothing may cache the first paint. Both device lists are `ObjectModel`s, so + iterate `.values`, which is a plain array. +- **`NMSettings` is not in QML scope.** `typeof NMSettings` is `undefined`, so + a NetworkManager profile cannot be built from scratch in QML. This is why + the network module cannot join a hidden network, and the same class of + limit blocks enterprise 802.1x. +- **Quickshell has no BlueZ pairing agent and no generic D-Bus module.** A + device needing a passkey or PIN confirmed cannot be paired from QML; + `bluetoothctl` registers its own agent, so pairing is the one shell-out in + the bluetooth module. +- **`WifiNetwork.signalStrength` is `0..1`, not a percentage.** The known + networks a scan has not refreshed report a cached `1`. ## Theme diff --git a/desktop/README.md b/desktop/README.md index 5b890e0..c5cddfa 100644 --- a/desktop/README.md +++ b/desktop/README.md @@ -137,6 +137,9 @@ the vm page the same way, with `ipc call drawer open vm`. The full list of edits to the live Hyprland and waybar configuration is Task 10 of the plan in `docs/superpowers/plans/2026-09-14-desktop-shell.md`. +The drawer is the only place network and Bluetooth are managed, so waybar's +own network and Bluetooth indicators were removed in the same change. + ## Theme `Theme.qml` is a symlink to `shared/Theme.qml`, as in every component here. |
