Skip to content
 
 

Repository files navigation

Vitals

Vitals is a GNOME Shell extension for displaying your computer's temperature, voltage, fan speed, memory usage, processor load, system resources, network speed and storage stats in your GNOME Shell's top menu bar. This is a one stop shop to monitor all of your vital sensors. Vitals uses asynchronous polling to provide a smooth user experience.

How it works

This is a personal fork of Vitals — not distributed via the GNOME Extensions website, Extension Manager, or AUR. Install it directly from this repo.

Installation

1) Install support packages

Ubuntu/Debian

sudo apt install gir1.2-gtop-2.0 lm-sensors

Fedora

sudo dnf install libgtop2-devel lm_sensors

Arch/Manjaro

sudo pacman -Syu libgtop lm_sensors gnome-icon-theme-symbolic gnome-icon-theme git

openSUSE

sudo zypper install libgtop-devel

2) Clone and compile schemas

mkdir -p ~/.local/share/gnome-shell/extensions
git clone https://github.com/Vigwear/Vitals.git ~/.local/share/gnome-shell/extensions/Vitals@vigwear.github.io
glib-compile-schemas --strict ~/.local/share/gnome-shell/extensions/Vitals\@vigwear.github.io/schemas/

3) Activate

    Log out and back in, then enable Vitals in the Extensions app.

Updating

cd ~/.local/share/gnome-shell/extensions/Vitals@vigwear.github.io
git pull
glib-compile-schemas --strict schemas/

Then log out and back in.

Syncing with upstream

This fork tracks corecoding/Vitals as the upstream remote to pull in fixes/features:

git remote add upstream https://github.com/corecoding/Vitals.git
git fetch upstream
git merge upstream/main

metadata.json diverges from upstream (fork uuid/url, no donations block). A custom merge driver auto-resolves it on every merge instead of conflicting — register it once per clone:

git config merge.vitals-metadata.driver 'scripts/merge-metadata.py %O %A %B'

Credits

Vitals was originally forked from gnome-shell-extension-freon. I was having trouble finding an up to date, resource friendly and fully featured system monitoring tool. My biggest pet peeve was random system delays because of I/O blocking polls, and thus, the idea for Vitals was born! It has been refactored several times over, so most of the code is new or different.

Icons

Original Theme

  • (voltage|fan)-symbolic.svg - inherited from Freon project.
  • (system|storage)-symbolic.svg - from Pop! OS theme.
  • temperature-symbolic.svg - iconnice studio.
  • (cpu|memory)-symbolic.svg - DinosoftLabs.
  • network*.svg - Yannick Lung.
  • Health icon - Dod Cosmin.

GNOME Theme

  • (battery | storage)-symbolic.svg - from Adwaita Icon Theme.
  • (memory | network* | system | voltage)-symbolic.svg - from Icon Development Kit.
  • fan-symbolic.svg - inherited from Freon project, with mild modifications.
  • (temperature | cpu)-symbolic.svg - designed by daudix.

Disclaimer

Sensor data is obtained from the system using hwmon and GTop. The Vitals authors are not responsible for improperly represented data. No warranty expressed or implied.

Development Commands

Description Command
Launch preferences gnome-shell-extension-prefs Vitals@vigwear.github.io
View logs journalctl --since="`date '+%Y-%m-%d %H:%M'`" -f | grep Vitals
Compile schemas glib-compile-schemas --strict schemas/
Compile translation file msgfmt vitals.po -o vitals.mo
Launch Wayland virtual window dbus-run-session -- gnome-shell --nested --wayland
Read hot-sensors value dconf read /org/gnome/shell/extensions/vitals/hot-sensors
Write hot-sensors value dconf write /org/gnome/shell/extensions/vitals/hot-sensors "['_memory_usage_', '_system_load_1m_']"
This value configures the list of sensors that show up in the panel. To specify a sensor name, click on the extension to show the drop-down menu, then take the category label and the label of the individual sensor, convert them to snake_case, and format them like this: _category_sensor_.

Star History

Star History Chart

About

A glimpse into your computer's temperature, voltage, fan speed, memory usage and CPU load.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages