A minimalistic textual system monitor.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Minimalistic textual system monitor for plasma

What is this?

This is a DIY plasma widget which displays data emitted by the “systemmonitor” data engine. By default it shows

  • total cpu load
  • used application memory
  • wlan down and up rate
  • sda read and write rate

You most likely want to tweak the settings, like changing the text color to black if your theme is light colored or monitor eth0 rather than wlan0. This is done by editing the source code. The settings dialog shows you how to get there.

This hacky way of configuring the applet is no shortcoming but by intention. TextMon isn’t meant to be an end user plasmoid. It may serve your needs out of the box, but its true nature is to be an entry point for you coding your own plasma applets.

The by far most work isn’t done in the ‘master’ branch, but in the documentation branch ‘gh-pages’. Github serves its content at this url

It so far covers

  • Getting ‘hello world’ with a Plasma Javascript applet on the screen
  • Data engines in general and the one named ‘systemmonitor’ in particular. This document is the heart of this project!
  • Some basics for the few UI elements we use.

What is plasma?

Plasma Workspaces is the umbrella term for all graphical environments provided by KDE

Plasma is implemented as a framework which loads components. A Component can act as “data engine” or as a widget that visualizes such data. It however never does both.

Components are either native, which means they are written in C++, or they’re using one of the bindings to dynamic languages like Python, Ruby and Javascript.

The Javascript bindings are special as they’re part of every plasma installation and in that its API is “simplified” aka. limited. In return components written in Javascript are ensured to be maximal portable.

A glimpse of awesomeness

This is also a tribute to the awesome window manager, where doing such a system monitor widget is among the first things you learn. I’ve came to appreciate knowing exactly when my system comes under pressure (cpu, mem, sda) or if a download is still going (wlan).