From ecf306d043b62c1646a95027b4e2144be7c69178 Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Fri, 16 Oct 2026 09:50:42 +0200 Subject: feat(perf): the performance page moves to the drawer, with ~/.cache The island's performance icon and panel are gone: the drawer page covers them. With only one host left, the panel drops its three-column grid for one card per row at a larger size, since the page scrolls; temperatures get a card of their own as tiles. The files move from island/perf to modules/perf. A cache card ports conky's: ~/.cache and its five largest children, measured with du each time the page opens (28ms over 2 GiB here) rather than read from conky's 15-minute sampler file. The largest is yellow, red past half the total, as conky had it. The warning dot now shows only on the drawer tile. Co-Authored-By: Claude Opus 5.5 --- desktop/island/README.md | 40 +++------------------------------------- 1 file changed, 3 insertions(+), 37 deletions(-) (limited to 'desktop/island/README.md') diff --git a/desktop/island/README.md b/desktop/island/README.md index 4ad1050..c202e61 100644 --- a/desktop/island/README.md +++ b/desktop/island/README.md @@ -46,10 +46,10 @@ is open or not. Click opens the calendar panel. ## Status pill -Left to right: performance icon, volume icon, tray, layout flag. +Left to right: volume icon, tray, layout flag. The performance panel that +used to open from here is the drawer's Performance page now +(`desktop/modules/perf/`). -- **Performance icon** opens the performance panel, see below. A dot on its - corner warns when something needs attention. - **Volume icon** shows the default sink (muted, low, medium, high). Click opens the sound panel. - **Tray** shows `SystemTray` items. Left click activates, right click opens @@ -68,40 +68,6 @@ alone opens the drawer instead. `Prefs.qml` keeps only the pinned IP; a `controls` key left in `desktop.json` by the old panel is kept on write and otherwise ignored. -## Performance panel - -The system monitor icon, first in the status pill, opens a card grid of the -figures the conky dashboard used to show: CPU load with a bar per core, the -CPU model, RAM and five temperatures; the Arc B580's temperatures, VRAM and -fan (no utilisation, xe exposes none); download and upload over the last -minute, the LAN address and the public IP; and the five mounts with their -usage. `perf/Perf.qml` reads them; `perf/Perf.js` holds the parsing, tested by -`node desktop/island/perf/test_perf.js`. - -A dot on the icon shows the worst of these, yellow or red: - -| Input | Yellow | Red | -| --- | --- | --- | -| each temperature | its warn | its crit | -| RAM | 85% | 95% | -| each disk | 90% | 95% | -| public IP | | differs from the pinned one | - -CPU load is left out, since spikes would flicker it. There is no hysteresis, -so a sensor sitting on its threshold can toggle the dot. The pin beside the -public IP stores the address shown as `perf.pinnedIp` in -`$XDG_STATE_HOME/quickshell/desktop.json`; the check exists because the VPN -into the LAN depends on the ISP's fixed address. The fetch is -`curl -4 https://ipinfo.io/ip` every 30 minutes from the last attempt, into -`~/.cache/udt/pubip.txt`, the file conky's sampler used. A failed fetch is -never a mismatch: the old value goes stale after 4 hours and shows as a dash. - -CPU, RAM, temperatures and disks are sampled always, so the dot works with -the panel closed. Per-core load, the network rate, VRAM (a scan of every -fdinfo, ~14ms) and the fan run only while the panel is open, and the panel -itself is loaded only then. The mount list, `br0`, the GPU name and the -12 GiB VRAM size are constants in `Perf.qml`. - ## Calendar panel The clock pill opens a month grid beside the selected day's agenda. Dots -- cgit v1.2.3