Copyright (c) 2004, Hannu Saransaari and Lauri Hakkarainen
All rights reserved.
This program is licensed under BSD license, read COPYING
Torsmo is a system monitor that sits in the corner of your desktop. Torsmo
renders itself on the root window (on the desktop) without any special eyecandy.
Torsmo can show lots of info about your system, including:
To compile and run torsmo:
./configure make ./torsmo
Torsmo doesn't probably compile with other compilers than gcc and icc. It doesn't compile with C89 compiler and not even with pure C99. It uses few functions that might not exist: strdup(), strcasecmp(), strncasecmp(), optarg variable with getopt() and long long (not in C89). Doesn't work with c++ compiler because of anonymous structs.
Default configuration file is $HOME/.torsmorc (can be changed from torsmo.c among other things). See torsmorc.sample. You might want to copy it to $HOME/.torsmorc and then start modifying it.
Conf | Meaning |
---|---|
alignment | Aligned position on screen, may be top_left, top_right, bottom_left, bottom_right |
background | Boolean value, if true, torsmo will be forked to background when started |
default_color | Default color and border color |
default_shadecolor | Default shading color and border's shading color |
draw_borders | Draw borders around text? |
draw_shades | Draw shades? |
font | Font name in X, xfontsel can be used to get a nice font |
gap_x | Gap between right or left border of screen |
gap_y | Gap between top or bottom border of screen |
no_buffers | Substract (file system) buffers from used memory? |
mail_spool | Mail spool for mail checking |
own_window | Boolean, create own window to draw? |
stippled_borders | Border stippling (dashing) in pixels |
update_interval | Update interval in seconds |
uppercase | Boolean value, if true, text is rendered in upper case |
text | After this begins text to be formatted on screen |
Boolean variable without value in text means yes. Value may be also yes,
true or any negative or positive integer meaning yes. No, false or
zero meaning no.
There may be some variables in text. Variable is
given either in format $variable or in ${variable}. Latter allows
characters right after the variable and must be used in some stuff
because of arguments.
Variable | Arguments | Description |
---|---|---|
acpitemp | ACPI temperature. I don't have ACPI thing so this is very much untested. | |
battery | Remaining capasity in ACPI (BAT1) or APM battery. I don't have ACPI nor APM things so this is very much untested. | |
cpu | CPU usage in percents | |
cpubar | (height) | Bar that shows CPU usage, height is bar's height in pixels |
color | (color) | Change drawing color to color |
downspeed | net | Download speed in kilobytes |
downspeedf | net | Download speed in kilobytes with one decimal |
exec | shell command | Execute a shell command, warning: this takes a lot more resources than other variables. I'd recommend coding wanted behaviour in C and posting a patch :-). |
hr | (height) | Horizontal line, height is the height in pixels |
i2c | (dev) type n | I2C sensor from sysfs (Linux 2.6). dev may be omitted if you have only one I2C device. type is either in (or vol) meaning voltage, fan meaning fan or temp meaning temperature. n is number of the sensor. See /sys/bus/i2c/devices/ on your local computer. |
kernel | Kernel version | |
loadavg | (1) (2) (3) | System load average, 1 is for past 1 minutes, 2 for past 5 minutes and 3 for past 15 minutes. |
machine | Machine, i686 for example | |
mails | Mail count in mail spool. You can use program like fetchmail to get mails from some server using your favourite protocol. See also new_mails. | |
mem | Amount of memory in use | |
membar | (height) | Bar that shows amount of memory in use |
memmax | Total amount of memory | |
memperc | Percentage of memory in use | |
new_mails | Unread mail count in mail spool. | |
nodename | Hostname | |
processes | Processes (sleeping or running) | |
running_processes | Running processes (not sleeping), requires Linux 2.6 | |
shadecolor | (color) | Change shading color |
stippled_hr | (space) (height) | Stippled (dashed) horizontal line |
swapbar | (height) | Bar that shows amount of swap in use |
swapmax | Total amount of swap | |
swapperc | Percentage of swap in use | |
swap | Amount of swap in use | |
sysname | System name, Linux for example | |
temp1 | Temperature #1 from i2c-sensors, same as ${i2c temp 1} | |
temp2 | Temperature #2 from i2c-sensors, same as ${i2c temp 2} | |
time | (format) | Local time, see man strftime to get more information about format |
totaldown | net | Total download, overflows at 4 GB on Linux with 32-bit arch and there doesn't seem to be a way to know how many times it has already done that before torsmo has started. |
totalup | net | Total upload, this one too, may overflow |
updates | Number of updates (for debugging) | |
upspeed | net | Upload speed in kilobytes |
upspeedf | net | Upload speed in kilobytes with one decimal |
uptime | Uptime |
Colors are parsed using XParseColor(), there might be a list of them: /usr/X11R6/lib/X11/rgb.txt. Color can be also in #rrggbb format (hex).
Drawing to root or some other desktop window directly doesn't work with all window managers. Especially doesn't work well with Gnome and it has been reported that it doesn't work with KDE either. Nautilus can be disabled from drawing to desktop with program gconf-editor. Uncheck show_desktop in /apps/nautilus/preferences/. There is -w switch in torsmo to set some window specific window id. You might find xwininfo -tree useful to find the window to draw to. You can also use -o argument which makes torsmo to create its own window.