Skip to content

Repository files navigation

minimon

A small GNOME Shell extension that puts CPU, RAM, and GPU stats right in your top bar.

CPU  12%  41° | RAM  19% | GPU0  87%  71° | GPU1   0%  38°

Click the row to open a dropdown with more detail: per-core CPU usage (tucked in a collapsible submenu so it doesn't take over), memory and swap, GPU power and VRAM and clock speeds, free disk space, and live network rates.

The temperatures turn red when things get hot — over 85°C for the CPU, over 80°C for either GPU.

What's it for

I wanted a quick at-a-glance view of system load without having to open htop or nvidia-smi. There are existing extensions that do similar things (Vitals being the obvious one), but I wanted something compact and opinionated about exactly what shows up in the bar.

This was built and tuned for one specific machine — AMD Ryzen, two NVIDIA RTX 3090s, Ubuntu 24.04, GNOME Shell 46, X11. It will probably work on similar setups; it almost certainly won't work on Wayland-only sessions, Intel/AMD GPUs, or older GNOME versions without changes.

Installing

git clone https://github.com/onepunk/minimon.git
cd minimon
./install.sh

The install script symlinks the repo into ~/.local/share/gnome-shell/extensions/minimon@local, so you can edit files in place and pick up changes by restarting Shell.

After running it:

  1. Press Alt+F2, type r, hit Enter to restart GNOME Shell. (X11 only — Wayland users have to log out and back in.)
  2. Enable it: gnome-extensions enable minimon@local

You should see the row appear in your top bar within a second or two.

Moving it around

The widget defaults to the right side of the top bar. To move it:

gnome-extensions prefs minimon@local

That opens a small dialog with a Box dropdown (left / center / right) and a Position spinner (0 = nearest the outside edge of that box, higher numbers move it toward the center). Changes apply immediately, no Shell restart.

If something looks wrong

The extension logs errors via console.error, which lands in the journal:

journalctl -b -t gnome-shell --since "2 minutes ago" | grep -i minimon

The most common issue is the CPU temperature reading: minimon looks for the Tctl sensor on an AMD k10temp chip. If you're on Intel or a different motherboard, that field will show --° and you'll need to tweak lib/cpu.js to pick a different hwmon entry.

GPU values come from a long-running nvidia-smi process. If it crashes for any reason, the extension restarts it with a small backoff.

Removing

gnome-extensions disable minimon@local
rm ~/.local/share/gnome-shell/extensions/minimon@local

Then restart Shell again.

Layout

  • extension.js — lifecycle, the 2-second tick loop, panel + popup wiring.
  • lib/ — one reader per stat type. Each one accepts path/root arguments so it can be exercised under plain gjs later.
  • ui/panel.js — the row that lives in the top bar.
  • ui/popup.js — the dropdown menu.
  • stylesheet.css — minimal styling, mostly the red-text class for hot temperatures.

License

MIT.

About

Compact GNOME Shell top-bar monitor for CPU, RAM, and dual NVIDIA GPUs.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages