- QML 75.7%
- JavaScript 24.3%
Remove timeout --foreground so the collector's descendants remain under the TERM-to-KILL deadline. Add a regression assertion covering the command flags.\n\nGenerated with AFK\nCo-Authored-By: AFK <noreply@afk.local> using gpt-5.6-luna |
||
|---|---|---|
| LICENSE | ||
| manifest.json | ||
| Model.js | ||
| Panel.qml | ||
| preview.png | ||
| README.md | ||
| test-model.js | ||
System Monitor - Omarchy bar widget
A live system-monitor bar widget for Omarchy, inspired by iStat Menus: live history mini-graphs on the bar and richer detail graphs in the dropdown panel.
What it shows
On the bar (compact, iStat-style, in order)
CPU- live mini history graph + current %RAM- live mini history graph + current %GPU- live mini history graph + current % (auto-hidden when no supported GPU is detected; defaults to the discrete GPU on hybrid systems)VRAM- live mini history graph + current % (same auto-hide behaviour)NET- live download/upload throughput (down / up), colour-coded
In the dropdown panel (click the widget)
CPU- history graph, load average, load-level labelMemory- history graph, used / totalNET- combined download/upload mirror bar chart (download bars rise, upload bars mirror downward)Disk- used / totalGPU- history graph, utilisation %, and load-level label (likeCPU); the GPU model is shown as the secondary detail. Only shown when a supported GPU is detected.VRAM- video memory history graph, % used, and used / total (likeMemory). Only shown when a supported GPU is detected.
The widget follows the bar foreground, so it darkens correctly on a transparent bar, and it uses the theme accent/urgent colours on the network graph.
Install
omarchy plugin add https://github.com/lcavadas/omarchy-system-monitor.git
Remove
omarchy plugin remove lcavadas.system-monitor
Add to the bar
Add it under bar.layout in ~/.config/omarchy/shell.json (e.g. the right
section):
{ "id": "lcavadas.system-monitor" }
or use the bar's drag-and-drop / omarchy bar commands to place it. The shell
hot-reloads shell.json, so no restart is needed for layout changes.
Requirements
- Linux (reads
/proc/stat,/proc/meminfo,/proc/net/dev,/proc/loadavg, anddf -h /) - Omarchy shell (the bar host)
GPU monitoring is best-effort and auto-hidden when unsupported:
- NVIDIA via
nvidia-smi(ships with the driver; no extra install). - AMD via the
amdgpusysfs interface (gpu_busy_percent,mem_info_vram_*). - On hybrid systems the discrete GPU is reported by default. Systems with no supported GPU simply don't show a GPU metric in the bar or popup.
Bar visibility toggles
Each metric card in the dropdown has a small switch in its header (left of the
title) that toggles that metric's visibility on the bar (CPU, Memory →
RAM, GPU, VRAM, Network → NET; Disk has none). Choices are saved
to shell.json and survive restarts.
The same toggles are just inline widget settings, so they can also be set from the CLI:
omarchy bar set lcavadas.system-monitor showCpu false
omarchy bar set lcavadas.system-monitor showNet false
Keys: showCpu, showRam, showGpu, showVram, showNet (all default
true). GPU and VRAM still auto-hide when no supported GPU is detected,
regardless of their toggle.
Tuning
- Poll interval:
Panel.qml- theTimerinterval(default2000ms). - History length:
Panel.qml-historyLength(default60samples). - Bar-network value width:
Panel.qml- theNETmetric'svalueWidth.
Notes
- Lightweight: CPU, memory, disk and network come from standard Linux
proc/filesystem reads plus
bash(a couple of small file reads per poll). The only external binary isnvidia-smi, used only when an NVIDIA GPU is detected, and it ships with the driver. - The
NETgraph only appears in the popup; the bar keeps a compact down/up readout.
License
MIT - see LICENSE.
