TORSMO - Tyopoyta ORvelo System MOnitor (version 0.17) Copyright (c) 2004, Hannu Saransaari and Lauri Hakkarainen All rights reserved. This program is licensed under BSD license, read COPYING WHAT IS TORSMO 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: * kernel version * uptime * network interface information * memory and swap usage * hostname * machine, i686 for example * system name, Linux for example * temperatures from i2c-sensors COMPILING 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. CONFIGURING 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. Configuration file confs 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 Use the Xdbe extension? (eliminates flicker) It is double_buffer 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. Command line options 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. Variables in text 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 Same as exec but with specific command 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. KNOWN PROBLEMS 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.