A lightweight, real-time hardware telemetry and resource monitoring dashboard crafted for GNOME Shell 51.
Features โข Installation โข Prerequisites โข Configuration โข Building from Source โข Roadmap โข Author
System Monitor โ Premium is designed for power users, developers, and Linux enthusiasts who demand precise, granular hardware telemetry directly from the GNOME Shell top panel.
Instead of heavy background daemons or clunky popups, this extension delivers high-frequency metrics through non-blocking asynchronous system polling. It combines high-performance visualization with a clean, modern aesthetic that blends seamlessly into the native libadwaita styling of GNOME Shell 51.
- ๐ Live Sparkline Graphs: Fluid 60fps canvas-rendered historical usage graphs for CPU, RAM, and Network traffic.
- ๐ง Per-Core CPU Telemetry: Breakdown of individual thread loads, overall package utilization, frequencies, and thermal thresholds (
/sys/class/thermal). - ๐ฎ Multi-GPU Support: Real-time metrics for dedicated and integrated GPUs (NVIDIA via
nvidia-smiintegration, AMD viaamdgpusysfs, and Intel Xe/i915). - ๐๏ธ Memory & Swap Gauges: Instantaneous visual feedback on cached, active, and available RAM alongside dynamic Swap tracking.
- ๐พ Partition Storage Watcher: Real-time disk I/O read/write throughput rates along with mounted partition health and remaining storage.
- ๐ Advanced Battery Health: Complete battery telemetry including real-time drain/charge wattage, cycle counts, voltage, and wear health degradation.
- ๐ Dynamic Fan Speed Animations: Rotational fan icons that visually accelerate or decelerate according to hardware RPM readouts.
- ๐จ Highly Customizable: Hide or expose any telemetry metric, re-order status bar indicators, and tailor poll frequencies per sensor.
| GNOME Shell Version | Compatibility | Status |
|---|---|---|
| GNOME 51 | 51 |
โ Supported |
| GNOME 51.0 | 51.0 |
โ Supported |
| GNOME 51.1 | 51.1 |
โ Supported |
UUID:
system-monitor@marufallammahim.github.io
Schema:org.gnome.shell.extensions.system-monitor-premium
Ensure the required sensor and system utilities are installed on your distribution:
# Arch Linux "I use to be"
sudo pacman -S lm_sensors libgtop
# Fedora
sudo dnf install lm_sensors libgtop2
# Ubuntu / Debian
sudo apt install lm-sensors libgtop2-dev(Optional for NVIDIA GPU users: make sure proprietary drivers and nvidia-smi are available in your $PATH)
You can clone this repository directly into your local GNOME extensions directory:
# 1. Create target directory
mkdir -p ~/.local/share/gnome-shell/extensions/system-monitor@marufallammahim.github.io
# 2. Clone the repository
git clone https://github.com/marufallammahim/system-monitor-premium.git /tmp/system-monitor-premium
# 3. Copy files to your extension directory
cp -r /tmp/system-monitor-premium/* ~/.local/share/gnome-shell/extensions/system-monitor@marufallammahim.github.io/
# 4. Compile GSettings schema
glib-compile-schemas ~/.local/share/gnome-shell/extensions/system-monitor@marufallammahim.github.io/schemas/If you prefer building a standard zip package:
git clone https://github.com/marufallammahim/system-monitor-premium.git
cd system-monitor-premium
gnome-extensions pack --force --extra-source=schemas
gnome-extensions install --force system-monitor@marufallammahim.github.io.shell-extension.zipAfter installation, reload GNOME Shell:
- Wayland: Log out and log back in.
- X11: Press
Alt + F2, typer, and hitEnter.
Then activate the extension:
gnome-extensions enable system-monitor@marufallammahim.github.ioConfigure your metrics, poll rates, and visual toggles:
- Open the GNOME Extensions app or run:
gnome-extensions prefs system-monitor@marufallammahim.github.io
- Or configure via dconf / CLI:
gsettings set org.gnome.shell.extensions.system-monitor-premium update-interval 2
system-monitor@marufallammahim.github.io/
โโโ extension.js # Main GNOME extension entry point
โโโ prefs.js # Libadwaita preferences UI
โโโ metadata.json # Extension identification & version metadata
โโโ schemas/ # GSettings schemas for persistent preferences
โ โโโ org.gnome.shell.extensions.system-monitor-premium.gschema.xml
โ โโโ gschemas.compiled
โโโ ui/ # Modular telemetry widgets & canvas sparklines
โ โโโ cpuWidget.js
โ โโโ gpuWidget.js
โ โโโ memoryWidget.js
โ โโโ sensorIndicator.js
โโโ locale/ # Gettext internationalization (.po / .mo files)
- Per-core CPU & thread monitoring
- Dynamic fan RPM animation engine
- NVIDIA & AMD sysfs integration
- Network adapter bandwidth graphs (Up/Down)
- Customizable theme presets (OLED black, Nord, Catppuccin)
- High-temp acoustic or desktop notifications
Contributions, bug reports, and pull requests are warmly welcomed!
- Fork the Project (
https://github.com/marufallammahim/system-monitor-premium/fork) - Create your Feature Branch (
git checkout -b feature/CoolTelemetry) - Commit your Changes (
git commit -m 'feat: Add CoolTelemetry sensor') - Push to the Branch (
git push origin feature/CoolTelemetry) - Open a Pull Request
Distributed under the GNU General Public License v3.0 (GPLv3). See LICENSE for more details.
Maruf Allam Mahim
- GitHub: @marufallammahim
- Repository: system-monitor-premium