http://ava.wz.cz/osd_monitors.html
OSD Monitors is the ideal tool for those of us, who prefer simple window managers and don't want precious screen space cluttered with panels, icons and other rubbish (my WM of choice is pekwm). It uses the xosd library to transparently display various textual monitors on a fixed position of the screen. If there should be multiple monitors running at the same time, user is expected to run multiple instances of osd_monitors with different parameters. It is written in pure C, runs under Linux (X Windows), and has very few dependencies and very low CPU and memory footprint.
Features
* Uses libxosd2 for achieving pseudo-transparency. Floats on top of all windows (is shaped and unmanaged), everything but the letters is transparent.
* User definable string format, font, position, outline, drop shadow.
* Intelligent unit display (automatically switches to kB/MB/…. units depending on value).
* User definable colors for different values (CPU utilization can show green/yellow/red depending on value).
* Can hide/show/toggle visibility upon signal receive. Define keyboard shortcuts in your favourite WM and toggle visibility when the monitors obscure some part of the screen you need to see.
* Compact, easy to modify GPLed C source code you can alter to suit your needs.
Code: Select all
# osd_monitors -h
USAGE: osd_monitors [-flag args]
-T, --type type of the monitor: clock(default), cpu, ...
-D, --device device (monitor type dependent). Must come after monitor type!
-F, --format format string (monitor dependent). Must come after monitor type!
-f, --font fully qualified font.
-c, --color color. (default: green)
-s, --shadow drop shadow offset. (default: 0)
-O, --outline-width outline width. (default: 0)
-C, --outline-color outline color. (default: black)
-L, --level-colors list of value:color pairs, for monitors where color can change with value
-t, --top locate at top of screen (default: bottom)
-v, --vcenter locate in vertical center of screen (default: bottom)
-b, --bottom locate at bottom of screen (default)
-r, --right locate at right of screen (default: left)
-m, --middle locate at middle of screen (default: left)
-l, --left locate at left of screen (default)
-o, --offset vertical offset in pixels. (default: 0)
-H, --hoffset horizontal offset in pixels. (default: 0)
-i, --interval interval (time between updates) in seconds
-h, --help this help message
Available monitors (for the --type option):
clock Simple clock, strftime(3) format. Device not used. Default format="%a %b %e %H:%M:%S %G".
cpu Cpu activity monitor. Default device="cpu0". Default format="CPU: %.0f%%".
ctxt Context switches per second monitor. Device not used. Default format="ctxt: %i switches/s".
runps Processes in the RUNNING state monitor. Device not used. Default format="procs: %.0f".
mem Used memory monitor. Device not used. Default format="Mem: %U%%, %uB/%tB".
swap Swap usage monitor. Device not used. Default format="Swap: %U%%, %uB/%tB".
swapact Swapping activity monitor. Device not used. Default format="swapact: %tB (%iB in/%oB out)".
disk Disk usage monitor. Device is some file on the disk I display usage for!. Default device="/". Default format="Disk: %U%%, %uB/%tB".
diskact Disk activity monitor. Default device="hda". Default format="diskact: %tB (%iB in/%oB out)".
net Network activity monitor. Default device="eth0". Default format="eth0: %tB (%iB in/%oB out)".