aboutsummaryrefslogtreecommitdiffstats
path: root/desktop/island/perf
AgeCommit message (Collapse)AuthorFilesLines
7 daysdocs(spec): user details in the drawerDanilo M.4-979/+0
A drawer row greets the login user and opens a page that edits name, email, avatar, language and location, written where other programs already read them: AccountsService (and through it the passwd GECOS LibreOffice reads), KDE's emaildefaults and the global git config, with the surname shortened to an initial for git. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
8 daysfeat(desktop): performance and clipboard pages, a scrolling tile gridDanilo M.2-2/+11
The tile grid sits in a Flickable capped at three rows, so the fourth row the new modules bring scrolls inside that box instead of eating the notification space; a thin accent bar in the margin shows only when a row is hidden. Tiles are reordered with the everyday ones first. Performance shows the island's PerfPanel in a Page, with a tile line of CPU and RAM and the warning dot. Perf.detailed is now a count of live PerfPanel instances instead of a binding in the status pill: the island and the drawer both host the panel, and a bool with two writers would let one clear it under the other. Clipboard reads cliphist when its page opens: search, copy on click or Enter, delete per row, clear all behind a 3 second confirm, image entries as thumbnails decoded once onto tmpfs. Entries reach sh as $1, never inside a command string. A copy closes the drawer through a new Page.dismiss signal the drawer connects like back. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
10 daysfix(perf): review findings in the service and the panelDanilo M.4-11/+20
- The panel loads only while open. Its models are fresh arrays every sample, so a hidden instance rebuilt its rows every 2s for the whole session. - The public IP fetch never kills one already running, and waits 30 minutes from the last attempt, not the last success: a rate-limited or offline fetch was retried every minute. - curl -4, so an IPv6 answer cannot silently stall the VPN check. - CPU load sums only the first eight /proc/stat fields. guest and guest_nice are already inside user and nice, and counting them again read high while VMs ran. - df gets timeout -k; the VRAM scan is not restarted over itself. - The GPU name joins the host constants in Perf.qml. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
10 daysfeat(perf): the performance panel's card gridDanilo M.1-0/+330
CPU with per-core bars, RAM and temperatures down the left; GPU and network beside it; disks under those two. Colours follow conky's bands so the numbers read as they did there. The pin beside the public IP stores the address shown, and the address turns red when a fresh one differs from the pin. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
10 daysfeat(perf): the performance serviceDanilo M.1-0/+295
CPU, RAM, temperatures and disks are sampled always, so the island's icon can warn with the panel closed; per-core load, the network rate, VRAM and the GPU fan only while the panel is open. hwmon chips are found by name, since their numbers move across boots. df runs under timeout so a dead NFS server keeps the last rows rather than blocking. The public IP keeps conky's cache file and 30 minute pace. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
10 daysfeat(perf): pure parsing and arithmetic for the performance panelDanilo M.2-0/+336
/proc/stat deltas, meminfo, df rows, the fdinfo VRAM sum, byte rates, hwmon lookup by chip name, the pubip cache in conky's format, and the bands that colour the panel and the icon. A reading that cannot be made is null, and null never raises the worst band, so a missing sensor cannot raise an alarm. Only a fresh public IP can mismatch the pinned one; a failed fetch goes stale instead. Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>