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 for Linux that sits in the corner of your
desktop. Torsmo renders itself on the root window (on the desktop) or to
its own transparent window 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 things that might not exist: strdup(), strcasecmp(), strncasecmp(), optarg variable with getopt() and long long (not in C89). Crashes in file system statistics stuff when compiled with icc, I don't know exactly why.
You can disable 'drawing to own window' feature in case you don't need it by passing --disable-own-window to configure -script.
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 |
border_margin | Border margin in pixels |
border_width | Border width in pixels |
default_color | Default color and border color |
default_shade_color | Default shading color and border's shading color |
default_outline_color | Default outline color |
double_buffer | Use the Xdbe extension? (eliminates flicker) It is highly recommended to use own window with this one so double buffer won't be so big. |
draw_borders | Draw borders around text? |
draw_shades | Draw shades? |
draw_outline | Draw outlines? |
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 |
minimum_size | Minimum size of window |
own_window | Boolean, create own window to draw? |
pad_percents | Pad percentages to this many decimals (0 = no padding) |
stippled_borders | Border stippling (dashing) in pixels |
update_interval | Update interval in seconds |
uppercase | Boolean value, if true, text is rendered in upper case |
use_xft | Use Xft (anti-aliased font and stuff) |
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.
Argument | Description |
---|---|
-V | Prints version and exits |
-a ALIGNMENT | Text alignment on screen, {top,bottom}_{left,right} |
-b | Use double buffering (eliminates flicker) |
-c FILE | Config file to load instead of $HOME/.torsmorc |
-d | Daemonize, fork to background |
-f FONT | Font to use |
-h | Prints command line help and exits |
-o | Create own window to draw |
-t TEXT | Text to render, remember single quotes, like -t '$uptime' |
-u SECS | Update interval |
-w WIN_ID | Window id to draw |
-x X | X position |
-y Y | Y position |
Command line options override configurations defined in configuration file.
Variable | Arguments | Description |
---|---|---|
acpiacadapter | ACPI ac adapter state. | |
acpifan | ACPI fan state | |
acpitemp | ACPI temperature. | |
battery | (name) | Remaining capasity in ACPI or APM battery. ACPI battery name can be given as argument (default is BAT0). |
buffers | Amount of memory buffered | |
cached | Amount of memory cached | |
color | (color) | Change drawing color to color |
cpu | CPU usage in percents | |
cpubar | (height(,width)) | Bar that shows CPU usage, height is bar's height in pixels |
downspeed | net | Download speed in kilobytes |
downspeedf | net | Download speed in kilobytes with one decimal |
exec | shell command | Executes a shell command and displays the output in torsmo. warning: this takes a lot more resources than other variables. |
execi | interval, shell command | Same as exec but with specific interval. Interval can't be less than update_interval in configuration. |
fs_bar | (height), (fs) | Bar that shows how much space is used on a file system. height is the height in pixels. fs is any file on that file system. |
fs_free | (fs) | Free space on a file system available for users. |
fs_free_perc | (fs) | Free percentage of space on a file system available for users. |
fs_size | (fs) | File system size |
fs_used | (fs) | File system used space |
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 minute, 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 | |
outlinecolor | (color) | Change outline color |
pre_exec | shell command | Executes a shell command one time before torsmo displays anything and puts output as text. |
processes | Total processes (sleeping and 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 |
swap | Amount of swap in use | |
swapmax | Total amount of swap | |
swapperc | Percentage of swap in use | |
sysname | System name, Linux for example | |
time | (format) | Local time, see man strftime to get more information about format. Cf. utime. |
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 | |
uptime_short | Uptime in a shorter format | |
utime | (format) | Same as time, above, but shows UTC instead of local time. |
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).
Note that when displaying bytes, power is 1024 and not 1000 so 1M really means 1024*1024 bytes and not 1000*1000.
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 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.