A highly configurable system resource monitor for the COSMIC DE
- libfontconfig-dev
git clone https://github.com/D-Brox/cosmic-ext-applet-system-monitor
cd cosmic-ext-applet-system-monitor
For debian based distros you can build and install as a deb package:
just build-deb
sudo just install-deb
For any other distros, run:
just build-release
sudo just install
- CPU usage
- Memory usage (RAM and swap)
- Network chart (upload/download)
- Disk chart (write/read)
- GPU VRAM chart (help needed)
- Displayed charts config
- Sampling configs
- Chart theming
- Vertical charts (for left/right panels)
- Popup (general system info)
You can configure the charts displayed by editing ~/.config/cosmic/dev.DBrox.CosmicSystemMonitor/v1/charts
. Only charts in this config will be displayed. VRAM
will be ignored until it is implemented.
The fields update_interval
, samples
and size
are the sampling time in milliseconds, the total number of samples displayed and the size relative to the panel height (top/bottom panels), respectively.
You can use colors defined in CosmicPaletteInner, as well as rgb("")
with a hexcode.
Example config where the CPU, RAM, Swap, Net and Disk charts are displayed, in this order:
[
CPU((
update_interval: 1000,
samples: 60,
size: 1.5,
color: accent_blue,
)),
RAM((
update_interval: 2000,
samples: 30,
size: 1.5,
color: accent_green,
)),
Swap((
update_interval: 5000,
samples: 12,
size: 1.5,
color: accent_purple,
)),
Net((
update_interval: 1000,
samples: 60,
size: 1.5,
color_up: accent_yellow,
color_down: accent_red,
)),
Disk((
update_interval: 2000,
samples: 30,
color_read: accent_orange,
color_write: accent_pink,
size: 1.5,
)),
// VRAM((
// update_interval: 1000,
// samples: 60,
// color: accent_indigo,
// size: 1.5,
// )),
]
Contributions are welcome
To build and install the debug build
just build-debug && sudo just debug=1 install
- paradoxxxzero for their GNOME Shell system monitor extension, the inspiration for this applet
- edfloreshz for the template for COSMIC applets, which taught me the logic behind an applet
- aschiavon91 for their initial work at a system status applet, which was used as a reference implementation
- Joylei for implementing an Iced backend for
plotters
, used at the core of this applet