From b811f044587f5b66f79e518470e2fe9c602bc52e Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Mon, 14 Sep 2026 18:14:47 +0200 Subject: docs: the network tile is a globe and reads the local IP The tile no longer swaps a wired/wifi icon, and the local IP comes from ip -j because Quickshell.Networking exposes only the MAC. Recorded in the spec so it matches the code. --- .../specs/2026-09-14-network-bluetooth-design.md | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'docs/superpowers/specs/2026-09-14-network-bluetooth-design.md') diff --git a/docs/superpowers/specs/2026-09-14-network-bluetooth-design.md b/docs/superpowers/specs/2026-09-14-network-bluetooth-design.md index 30d8c96..4c37861 100644 --- a/docs/superpowers/specs/2026-09-14-network-bluetooth-design.md +++ b/docs/superpowers/specs/2026-09-14-network-bluetooth-design.md @@ -61,6 +61,12 @@ Because Quickshell has no generic D-Bus module and no BlueZ pairing agent, `pair()` cannot handle a device that requires a passkey or PIN confirmation. That one action shells out to `bluetoothctl`, whose own agent does. +`Quickshell.Networking` exposes no local IP, only the MAC +(`NetworkDevice.address`). The network tile's IP line therefore reads +`ip -j -4 addr show`, refreshed on link change and on a slow timer while a +link is up to catch a DHCP renew. That is the second shell-out, and the only +other one. + ## Module shape Both modules are `alwaysActive: true` and declare it truthfully. There is no @@ -108,10 +114,13 @@ while scanning offer Pair, which starts `Pairing.qml`. ## Tiles -**Network.** The icon swaps wired, wifi, off. With one link up the state line -names it (`eth0`, or the SSID). With both wired and wifi up the content is two -compact lines, one each, because the API exposes no route metric and the tile -will not guess which link carries traffic. `active` while any link is up. +**Network.** The tile is a globe; the wired/wifi distinction belongs to the +page's section headers, which carry the ethernet and wifi glyphs. Each active +link is a line of a green dot, the interface name and its local IPv4 +(`eth0 10.0.0.5`). With both wired and wifi up there are two lines, one each, +because the API exposes no route metric and the tile will not guess which link +carries traffic. Nothing up shows `Disconnected`, or `Off` when the radio is +down. `active` while any link is up. **Bluetooth.** The icon swaps on and off. The state line names the connected device, or a count when several, `No devices` when powered but idle, `Off` -- cgit v1.2.3