Skip to content

Releases: crmne/omastats

OmaStats 1.6.1

Choose a tag to compare

@github-actions github-actions released this 15 Oct 18:25
ab3fc7d

OmaStats 1.6.1 keeps the sampler running whatever another process is named, and keeps an IP address you copy out of sight of other users on the machine.

Download the complete plugin, or install it with:

omarchy plugin add https://github.com/crmne/omastats.git --enable

Fixed

  • A process name can no longer stop the sampler. When a process name fills the kernel's 15 bytes, OmaStats compares it with the program's file name to show the full one, and it cut the name at byte 8 to do so. If a character of two or more bytes, such as "é", crossed that byte, the sampler crashed, and it crashed again on every restart for as long as that process ran, leaving the panel without figures. Any local user could name a process that way. The names are now compared byte by byte. By @crmne; thanks @HANCORE-linux (omacom/omarchy-plugin-marketplace#11213).
  • Copied addresses stay private. Clicking an IP address on the Network page passed it to wl-copy on its command line, and wl-copy keeps running until you copy something else, so every user on the machine could read the address in its process arguments. It now goes to wl-copy on its standard input. By @crmne.

Known limitations

  • The process search and color fields take typed text only: there is no paste or text selection.
  • GPU process lists from open drivers show only your own processes. An integrated AMD card's own load figure jumps between 0% and 100%, so it can disagree with its process list.
  • CPU power on Intel, and on AMD without integrated graphics, needs a udev rule that makes /sys/class/powercap/*/energy_uj readable.
  • Version 1.4.1 and earlier can't read a disk saved by id. If you go back to an older version, choose the disk again in Settings.
  • A mirror, raidz or striped ZFS pool counts against its first data drive only. "All disks" is correct, but picking another drive in the pool shows no space for it.
  • A vertical bar with many readouts turned on can run into the bar's center section. Turn off readouts you don't need, or use figure-only looks.

Thanks

Thanks @HANCORE-linux for finding the process-name crash during the marketplace review.

Both bundled binaries are rebuilt twice in CI, compared byte-for-byte with the committed executables, and covered by checksums and GitHub build attestations.

Full changelog: v1.6.0...v1.6.1

OmaStats 1.6.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 21:33
d398463

OmaStats 1.6 shows which processes use each GPU and how much power the CPU draws, fills its process lists the moment you open it, and adds an inline bar label.

Download the complete plugin, or install it with:

omarchy plugin add https://github.com/crmne/omastats.git --enable

The GPU page lists the processes using each card, and the CPU header shows package power, using synthetic demo data

New

  • See which processes use each GPU. Every card on the GPU page lists the processes using it, with how busy each keeps the card and how much memory it holds: VRAM on a discrete card, shared memory on an integrated one. AMD, Intel and other open drivers report this for your own processes without root; NVIDIA cards get it from nvidia-smi. By @crmne.
  • CPU power in the CPU header. On an AMD processor with integrated graphics, the package power was shown as the Radeon card's power, and some Ryzen 7000 and 9000 drivers report it a thousand times too small, so it read 0 W. It now shows on the CPU, corrected. Intel and other AMD processors show it when their energy counters are readable, which takes a udev rule since the kernel keeps them root-only. By @crmne.
  • Inline bar labels. A third choice under Settings, Bar labels, writes each readout's short name on one line ("CPU 23%") instead of stacking its letters. The default is unchanged. By @RobertoLipovan (#19).

Stacked letters and the new inline labels, dark and light, using synthetic demo data

Fixed

  • Process lists show real figures when you open the panel. A process's CPU share is the difference between two readings, and the first update after opening had only one, so every list said "Nothing busy" for a second. The lists now show "Measuring…" for a moment, then real figures. By @crmne.
  • The memory legend matches its rings. Swap shared the Apps colour and its dot was always red, Compressed had a dot but no segment, and Total sat below figures that are not part of it. Swap now has its own colour that its dot follows, and the rows run in ring order with Total under the four that add up to it. By @crmne; thanks @ardentperf (#26).

The memory breakdown before and after, dark and light, using synthetic demo data

  • Text fields never read the clipboard, even while you type. 1.5.1 kept the process search and the color fields from reading the clipboard until focused, but a focused field still read whatever another application offered. Both are now built from key presses alone, with nothing listening to the clipboard. By @crmne; thanks @HANCORE-linux (omacom/omarchy-plugin-marketplace#11213).
  • A shorter note under network processes. It now says that only TCP is counted, so some browser and game traffic is missing. By @crmne.

Known limitations

  • The process search and color fields take typed text only: there is no paste or text selection.
  • GPU process lists from open drivers show only your own processes. An integrated AMD card's own load figure jumps between 0% and 100%, so it can disagree with its process list.
  • CPU power on Intel, and on AMD without integrated graphics, needs a udev rule that makes /sys/class/powercap/*/energy_uj readable.
  • Version 1.4.1 and earlier can't read a disk saved by id. If you go back to an older version, choose the disk again in Settings.
  • A mirror, raidz or striped ZFS pool counts against its first data drive only. "All disks" is correct, but picking another drive in the pool shows no space for it.
  • A vertical bar with many readouts turned on can run into the bar's center section. Turn off readouts you don't need, or use figure-only looks.

Thanks

Thanks @RobertoLipovan for the inline labels, @ardentperf for the detailed report on the memory legend, and @HANCORE-linux for following up on the clipboard during the marketplace review.

Both bundled binaries are rebuilt twice in CI, compared byte-for-byte with the committed executables, and covered by checksums and GitHub build attestations.

Full changelog: v1.5.1...v1.6.0

OmaStats 1.5.1

Choose a tag to compare

@github-actions github-actions released this 14 Oct 15:28
3d077aa

OmaStats 1.5.1 stops its text fields from reading the clipboard when another application changes it.

Download the complete plugin, or install it with:

omarchy plugin add https://github.com/crmne/omastats.git --enable

Fixed

  • Text fields leave the clipboard alone until you type in them. Qt asks the clipboard for text whenever another application changes it, for every editable text field. The process search field exists, hidden, whenever a page with a process list is open, so another application could make the shell read whatever it offered without you pasting anything. The process search and the utilization color fields are now read-only until they have focus. Clicking a field or pressing / still focuses it for typing. By @crmne; thanks @HANCORE-linux (omacom/omarchy-plugin-marketplace#11213).

Known limitations

  • Version 1.4.1 and earlier can't read a disk saved by id. If you go back to an older version, choose the disk again in Settings.
  • A mirror, raidz or striped ZFS pool counts against its first data drive only. "All disks" is correct, but picking another drive in the pool shows no space for it.
  • A vertical bar with many readouts turned on can run into the bar's center section. Turn off readouts you don't need, or use figure-only looks.

Thanks

Thanks @HANCORE-linux for reporting the clipboard read during the marketplace review.

Both bundled binaries are rebuilt twice in CI, compared byte-for-byte with the committed executables, and covered by checksums and GitHub build attestations.

Full changelog: v1.5.0...v1.5.1

OmaStats 1.5.0

Choose a tag to compare

@github-actions github-actions released this 14 Oct 15:19
8ffecc7

OmaStats 1.5 keeps your disk and sensor choices on the same hardware across reboots, and makes settings changes stick when the machine is busy.

Download the complete plugin, or install it with:

omarchy plugin add https://github.com/crmne/omastats.git --enable

The same drive stays selected when the kernel swaps nvme0n1 and nvme1n1 between boots, using synthetic demo data

New

  • Disk choices follow the drive. The kernel names NVMe drives in the order their controllers come up, so nvme0n1 can be a different drive after a reboot, and a disk readout could jump to the other one. Disks are now saved by their /dev/disk/by-id name, built from the model and serial, and stay with the same drive. Choices saved by kernel name are switched to the drive's id automatically. By @crmne.
  • Sensors keep their drive or DIMM. Two NVMe drives, or two memory modules, used to share one sensor id, so picking one could show the other. Sensors that share a driver now include the device's PCI or I2C address, and "NVMe 1" and "NVMe 2" are numbered by that address instead of probe order. By @crmne.

Fixed

  • Settings changes stick under load. While plugins load, the shell can replace the config copy it gives each plugin, and the widget kept the old copy, which never updated. On a busy machine that happened often: a change could be undone, take a long time to show, or bring back old values for other settings. OmaStats now checks its settings against shell.json itself. By @crmne.
  • A new refresh interval applies at once. The sampler used to finish its current interval first, so switching from 10 s to 1 s could take ten seconds. By @crmne.

Known limitations

  • Version 1.4.1 and earlier can't read a disk saved by id. If you go back to an older version, choose the disk again in Settings.
  • A mirror, raidz or striped ZFS pool counts against its first data drive only. "All disks" is correct, but picking another drive in the pool shows no space for it.
  • A vertical bar with many readouts turned on can run into the bar's center section. Turn off readouts you don't need, or use figure-only looks.

Both bundled binaries are rebuilt twice in CI, compared byte-for-byte with the committed executables, and covered by checksums and GitHub build attestations.

Full changelog: v1.4.1...v1.5.0

OmaStats 1.4.1

Choose a tag to compare

@github-actions github-actions released this 02 Oct 21:15
d1e052a

OmaStats 1.4.1 keeps your disk selection saved when the bar reloads its settings.

Download the complete plugin, or install it with:

omarchy plugin add https://github.com/crmne/omastats.git --enable

OmaStats with NVMe 1 selected and the Used readout retained, using synthetic demo data

Fixed

  • Your chosen disk stays selected. An older bar settings snapshot could overwrite the saved choice during a later settings edit, bringing back NVMe 0 instead of NVMe 1. OmaStats now restores the saved settings and preserves the disk and its Speed / Used / Both choice when writing another setting. By @crmne.

Known limitations

  • A mirror, raidz or striped ZFS pool counts against its first data drive only. "All disks" is correct, but picking another drive in the pool shows no space for it.
  • A vertical bar with many readouts turned on can run into the bar's center section. Turn off readouts you don't need, or use figure-only looks.

Thanks

Thanks @crmne for reporting the disk selection regression.

Both bundled binaries are rebuilt twice in CI, compared byte-for-byte with the committed executables, and covered by checksums and GitHub build attestations.

Full changelog: v1.4.0...v1.4.1

OmaStats 1.4.0

Choose a tag to compare

@github-actions github-actions released this 26 Sep 09:50
58c4268

OmaStats 1.4 puts real readouts on vertical bars, adds an optional VRAM readout, and picks up ZFS pools.

omarchy plugin add https://github.com/crmne/omastats.git --enable

OmaStats on a vertical bar in dark and light themes: CPU, two GPUs with VRAM, memory, disks, network and sensors
image

New

  • Vertical bars show data. Before, a vertical bar only showed each module's letters stacked on top of each other. Now each readout puts its label across the bar, with the graph or ring and the figure under it. It follows the look you picked for that module. Network and disk speeds show one rate per line, colored like their half of the graph. Figures shrink to fit the bar instead of being cut off.
  • VRAM readout. Settings → Bar → GPU → "Show VRAM in bar" adds a VRM readout next to each selected GPU that reports memory use, in the same look as that GPU's readout. The GPU tab now shows load and VRAM history graphs side by side, and with utilization colors on, both use the same four grades as the bar. By @jsonMartin (#13).
  • ZFS pools. A mounted ZFS pool shows up as one volume on the Disks page and in the disk readouts, at its shortest mount path. Its space comes from zfs list, so snapshots count as used. Its drive is the first data drive listed by zpool list. Both tools run only when a ZFS dataset is mounted. By @dieuwedeboer (#15).

Known limitations

  • A mirror, raidz or striped ZFS pool counts against its first data drive only. "All disks" is correct, but picking another drive in the pool shows no space for it.
  • A vertical bar with many readouts turned on can run into the bar's center section. Turn off readouts you don't need, or use figure-only looks, which take the least space.

Thanks

@jsonMartin and @dieuwedeboer for the VRAM and ZFS work.

Both bundled binaries are rebuilt twice in CI, compared byte-for-byte with the committed executables, and covered by checksums and GitHub build attestations.

Full changelog: v1.3.0...v1.4.0

OmaStats 1.3.0

Choose a tag to compare

@github-actions github-actions released this 25 Sep 08:18
c123db8

OmaStats 1.3 lets each disk show its own bar readout: transfer speed, space used, or both.

OmaStats bar with a space-used ring for the NVMe disk next to CPU, memory and network

  • The Disks module now works like the GPU module. Settings → Bar → Disks lists "All disks" and every block device. Each one has its own switch and a Speed / Used / Both choice.
  • Speed draws the read/write graph and rates. Used draws a ring and a percentage. When several disks share the bar, each gets a short tag: DSK, NV0, SDA, MC0.
  • Space used adds up every mounted volume on that disk. "All disks" adds up every local disk and never counts network mounts.
  • The disk the Disks panel page follows is now set under Settings → Panel → Disks. It no longer changes the bar.
  • Existing setups look the same until you change a disk in Settings. The first change saves the current layout as the new barDisks setting.
  • With utilization colors on, disk space-used figures and rings use the same four grades as CPU, GPU and memory.

Both bundled binaries are rebuilt twice in CI, compared byte-for-byte with the committed executables, and covered by checksums and GitHub build attestations.

The normal plugin installation remains:

omarchy plugin add https://github.com/crmne/omastats.git --enable

OmaStats 1.2.0

Choose a tag to compare

@github-actions github-actions released this 25 Sep 07:35
7439ff9

OmaStats 1.2 adds optional utilization colors to the bar and lets an idle AMD GPU runtime-suspend.

OmaStats bar with utilization colors: CPU at 67% in orange, GPU at 2% in green and the memory ring in blue

OmaStats General settings with utilization colors enabled and the four grade colors

  • Optional utilization colors grade CPU, GPU and memory bar figures, rings and mini graphs, plus disk-capacity figures and rings: low below 25%, normal 25–59%, warning 60–84% and critical at 85% and above. They are off by default and can be turned on under Settings → General.
  • The default green, blue, orange and red shades adapt to light and dark bars. Each grade accepts a custom #RRGGBB color that stays fixed across themes. Clear a field to return to the theme-aware default.
  • Sampling no longer keeps an idle AMD GPU awake. On an AMD card that can runtime-suspend, load, clock, power and temperatures are read once per autosuspend delay (about six seconds by default), so the card can still sleep when idle. Both the Rust and Python samplers do this.

Both bundled binaries are rebuilt twice in CI, compared byte-for-byte with the committed executables, and covered by checksums and GitHub build attestations.

The normal plugin installation remains:

omarchy plugin add https://github.com/crmne/omastats.git --enable

Thanks to @jsonMartin for the utilization colors in #11 and @dieuwedeboer for the AMD runtime-suspend fix in #10.

OmaStats 1.1.0

Choose a tag to compare

@github-actions github-actions released this 21 Sep 18:56
519d51e

OmaStats 1.1 adds multi-GPU monitoring, a dedicated GPU panel, and a bundled ARM64 sampler.

OmaStats GPU panel showing an NVIDIA RTX 3090 and AMD Radeon Graphics

  • Each detected GPU has its own utilization history and bar readout. Settings lets you choose which cards appear in the bar, while the GPU tab keeps all cards available.
  • The GPU tab shows utilization, memory, temperature, clock, power and fan readings where the hardware provides them.
  • GPU identities use PCI addresses, including systems with multiple NVIDIA cards. The firmware boot display is the primary GPU, followed by other cards in PCI address order.
  • Missing utilization readings are shown as unavailable. Intel cards show their clock when the driver does not expose utilization; i915 utilization collection remains unsupported.
  • ARM64 Linux now gets a bundled static Rust sampler selected automatically at startup. Python remains the fallback for unsupported architectures or unusable binaries.
  • Existing saved panel settings retain access to GPU details on upgrade. Stale GPU selections and missing NVIDIA telemetry helpers no longer hide or select the wrong cards.
  • Stacked bar labels have consistent device-pixel spacing on fractionally scaled displays, and GPU names retain their manufacturer identity in the panel.

Both bundled binaries are rebuilt twice in CI, compared byte-for-byte with the committed executables, and covered by checksums and GitHub build attestations. ARM64 CI also runs the bundled binary natively.

The full plugin archive includes both bundled architectures. Separate native sampler archives and DEB/RPM packages are provided for x86-64 and ARM64. The normal plugin installation remains:

omarchy plugin add https://github.com/crmne/omastats.git --enable

Thanks to @Mr-Benedict for the multi-GPU support and dedicated GPU tab in #1 and #2. Tested on an RTX 3090 plus AMD integrated Radeon Graphics, including independent utilization changes under GPU load.