ALLIN1(1)

NAME
allin1 - dockapp monitor of CPU, network, memory, battery, filesystem and Seti@home

SYNOPSIS
allin1 [ --help | -h ]
allin1 [ --version | -v ]
allin1 [ --config filename | -c filename ]

DESCRIPTION
Allin1 is a dock applet for Fluxbox and similar Window Managers. When run without any options it docks itself on the screen and shows (as graphic bars and histograms):

* memory usage: main, buffers, shared and cache
* swap usage
* power source, battery status and charge level
* cpu load: user, system and nice
* network interfaces status and load
* up to three filesystem "load" (i.e. percent used)
* Seti@home progress bar

The applet configuration and appearance is made through ASCII file. When the program starts, it looks for a user config in $HOME directory, stored in ~/.allin1.conf. If this file can't be found, the applet looks for /usr/share/allin1/allin1.conf file, then for /usr/local/share/allin1/allin1.conf file. So, the system-wide configuration can be located in /usr/share/allin1 if you install from sources, or in /usr/local/share/allin1 if you install from binary package. Also, every user can create his own config file.
User can also specify the config file the --config (or -c) option (see below).

OPTIONS

--version or -v
    Displays the program version, release date and exits

--help or -h
    Displays simple help and exits

--config file or -c file
    Uses file as config instead of the default one.

CONFIG FILE SYNTAX
The config file has a very simple syntax, very close to the normal .conf files you should know, with some little differencies.

•   Configuration is made by variables, with the normal syntax var = value , one variable per line.

•   There are three type of vars: integer, float and string.

•   Variables name are case insensitive, but the case of a string is preserved.

•   Integer variables can be in decimal, octal and hex base, using the same rules of C language: 376 is taken as decimal, 0376 is taken as octal, 0x376 is taken as hex.

•   A '#' char means start of comments, every char until end of line is ignored, except inside a string.

•   Strings MUST be enclosed in double quotes (")

  General variables
These variables applies to general applet appearance.

bgcolor (string)
    Background color of gauges and graphs. Must be a valid X color name (see the showrgb command and the XParseColor manpage). If omitted, the color "gray10" is used.
    EXAMPLES
    bgcolor = "navy"
    bgcolor = "rgb:00/00/80"
    bgcolor = "#000080" (deprecated)
    All these sets the background on navy blue. Please note that very dark colors are better.

border (integer)
    Size of border and space between graphs and gauges, in pixel. Default value is 2. Can be from 1 to 4 pixels. Other values looks ugly.

  RAM/SWAP Gauges
This gauge shows the status of the RAM and SWAP space in a single window through two histograms, one for main RAM and one for swap space.

ram (integer)
    Flag that enables RAM/SWAP monitor. Any value other than 0 enables monitor. Default is enabled. If disabled it isn't displayed and don't check memory status.

ram_used (string)
    Sets the color of used RAM. Must be a valid X color name. Default is "red".

ram_buff (string)
    Sets the color of RAM used as buffer. Must be a valid X color name. Default is "yellow".

ram_share (string)
    Sets the color of used shared memory. Must be a valid X color name. Default is "lightblue".

ram_cache (string)
    Sets the color of RAM used as disk/file cache. Must be a valid X color name. Default is "orange".

swap_used (string)
    Sets the color of used swap space. Must be a valid X color name. Default is "yellow".

  Battery Icon and Gauge
This gauge shows the battery status (if there is one) and the charge level. It collects status data from APM, and if no APM status can be retrieved (or if APM is unsupported) the applet tries to read battery status from ACPI, but this feature is untested and must be considered EXPERIMENTAL.

battery (integer)
    Flag that enables battery monitor. Any value other than 0 enables monitor. Default is disabled. If disabled, it isn't displayed and don't check battery status (See BUGS section for more).

battnorm (string)
    Sets the color of battery histogram when the charge status is considered normal. Must be a valid X color name. Default is "green".

battlow (string)
    Sets the color of battery histogram when the charge status is considered low/critical. Must be a valid X color name. Default is "red".

percent_low (integer)
    Sets the value below that the battery charge will be considered low. Must be an integer from 0 to 100. Default is 20.

batt_acpi_info (string)
    The absolute full pathname to the ACPI battery info. Default set to /proc/acpi/battery/BAT0/info. If you have two batteries, change BAT0 to BATnum to monitor other battery.

batt_acpi_status (string)
    The absolute full pathname to the ACPI battery status. Default set to /proc/acpi/battery/BAT0/state. Make sure that both batt_acpi_info and batt_acpi_status point to the same battery, or the monitor gets wrong.

  CPU load Graph
This gauge shows the CPU load (or the total CPU load if you have two or more CPUs in your Linux box). It appears like a graph, moving from left to right, where is recorded the CPU load, in user, system and nice time. The graph is updated 5 time per second.

cpu (integer)
    Flag that enables CPU monitor. Any value other than 0 enables monitor. Default is enabled. If disabled, it isn't displayed and don't check CPU status.

cpu_mode (integer)
    Flag for gauge mode. If equal to zero, the gauge shows as histogram, if equal to one the gauge shows as moving graph. Default is moving graph.

cpu_size (integer)
    Vertical size of cpu graph in pixel units. Default is 18 pixel. Used only in graph mode.

cpu_user (string)
    Sets the color for user CPU load. Must be a valid X color name. Default is "green".

cpu_nice (string)
    Sets the color for nice CPU load. Must be a valid X color name. Default is "yellow".

cpu_sys (string)
    Sets the color for system CPU load. Must be a valid X color name. Default is "orange".

  PPP interface monitor
This gauge shows PPP interface status and traffic through an icon and a dual histogram. The icon is lighted when the interface is "up" and dimmed otherwise. The histograms shows the traffic incoming and outgoing from interface. The graph is updated 5 time per second, and the scale upper limit can be adjusted, and also the scale can be linear or logarithmic.
NOTE: from version 0.4.6 of the applet, the behavior changed, and now you can specify the name of the interface. If you have two ethernet interfaces and you want to monitor them separately, you can specify the complete name of the interface as it appears in the /proc/net/dev file. This means that if you specify "eth1" as interface name, you can monitor the second ethernet in the PPP monitor. The name for the control variables are only for commodity. To fall back to previous behavior, specify "eth" and the monitor selects "eth0", "eth1" and with "ppp" selects "ppp0", "ppp1" and so on, using a substring search. In this case, the applet reports the TOTAL traffic flowing through active interfaces. For example, if you have two analog serial modem, one on interface ppp1 and one on ppp2, both active, and you use "ppp" as interface name, the applet collect data from both. So, when both interfaces are at maximum load, the histogram scale upper limit must be at least 115000*2 bps (the maximum speed of serial interface), or 230000 bps.

ppp (integer)
    Flag that enables PPP monitor. Any value other than 0 enables monitor. Default is enabled. If disabled, it isn't displayed and don't check interface status.

pppicon (integer)
    Permits choice of icon that shows if interface is up or down. Default is 0 that means modem icon. Other available icons are:

    0   modem icon (default for ppp interface monitor) dimmed on interface down

    1   NIC icon (default for ethernet interface monitor, see below) dimmed on interface down

    2   red LED, dimmed on interface down

    3   green LED, dimmed on interface down

    4   UP / DN letters

    5   an antenna with waves, dimmend antenna on interface down, suitable for wlan (wireless) interfaces

pppname (string)
    The name of the interface that the monitor have to display. It can be any, not only ppp. Interface names are case sensitive, and selection made with substring search in the file /proc/net/dev. Look in that file for interface names. Default is "ppp".

pppspeed (integer)
    Sets upper limit for the histogram. The value is in kbit per second. So if you have a serial analog modem, the correct value is 115, stands for 115200 bps.

ppp_log (integer)
    Flag that puts the PPP histogram scale in logarithmic mode if not equal to 0. Default is linear scale (equal to 0).

ppp_act (integer)
    Flag that enables interface activity monitor as little leds in the left of histograms, green for output, red for input, if not zero. Default is enabled.

ppp_in_color (string)
    Sets the color for incoming PPP traffic. Must be a valid X color name. Default is "red3".

ppp_out_color (string)
    Sets the color for outgoing PPP traffic. Must be a valid X color name. Default is "green3".

  ETH interface monitor
This gauge shows ethernet interface status and traffic in the same way of PPP monitor. The histograms shows the traffic incoming and outgoing from interface. The graph is updated 5 time per second, and the scale upper limit can be adjusted, and also the scale can be linear or logarithmic.
NOTE: from version 0.4.6 the behavior of the monitor is changed, see the PPP monitor section. As the PPP monitor, if you select with substring two or more ethernet interfaces the applet reports the TOTAL traffic flowing through the active interfaces.

eth (integer)
    Flag that enables ethernet monitor. Any value other than 0 enables monitor. Default is enabled. If disabled, it isn't displayed and don't check interface status.

ethicon (integer)
    Permits choice of icon that shows if interface is up or down. Default is 1 that means netwotk card (NIC) icon. For other available icons see pppicon.

ethname (string)
    The name of the interface that the monitor have to display. It can be any, not only eth. Interface names are case sensitive, and selection made with substring search in the file /proc/net/dev. Look in that file for interface names. Default is "eth".

ethspeed (integer)
    Sets upper limit for the histogram. The value is in kbit per second. So if you have a standard 100BaseT ethernet, the correct value is 100000, stands for 100Mbit.

eth_log (integer)
    Flag that puts the ethernet histogram scale in logarithmic mode if not equal to 0. Default is logarithmic scale (equal to 1).

eth_act (integer)
    Flag that enables interface activity monitor as little leds in the left of histograms, green for output, red for input, if not zero. Default is enabled.

eth_in_color (string)
    Sets the color for incoming ethernet traffic. Must be a valid X color name. Default is "red3".

eth_out_color (string)
    Sets the color for outgoing ethernet traffic. Must be a valid X color name. Default is "green3".

  Filesystem space monitor
This gauge shows used space on up to three filesystems. When the used space is more than a user defined percentual, the histogram color change to warn user. The size of the monitor is automatically adapted to the number of filesystems to check.
The filesystems monitor is enabled if at least one path is configured, otherwise is disabled.

path1 (string)

path2 (string)

path3 (string)
    The three path pointing to the filesystems to check. The paths must be absolute and must be defined from path1 to path3 in sequence. If no path is defined, the monitor is disabled and don't check filesystems at all.
    EXAMPLE
    path1 = "/"
    path3 = "/usr"
    path2 = "/home"
    right definition of paths. Else:
    path2 = "/home"
    path3 = "/var"
    wrong definition, because you leave path1 undefined.

fslow1 (integer)

fslow2 (integer)

fslow3 (integer)
    Defines the percent of space left below that it is considered low. It's defined separately for each filesystem, and if it is omitted the default is 15%.

fsnorm (string)
    Sets the color for normal condition. Must be a valid X color name. Default is "green2".

fscrit (string)
    Sets the color for low space condition, i. e. when the free space on a filesystem goes below to the fslown parameter. Must be a valid X color name. Default is "red2".

  Seti@home progress bar
It shows the completed work on a set of data (a.k.a. Work Unit) from Seti server. At the moment no other check or different status are displayed.

setipath (string)
    The full pathname to the status file (state.sah). The pathname can be absolute (i.e. /opt/setiathome/state.sah) or relative to the user home (user john with home in /home/john, Seti@home application in ~/seti/ can specify only seti/state.sah, or the full pathname: /home/john/seti/state.sah). Default to seti/state.sah, relative to home.

seticolor (string)
    Sets the color for progress bar. Must be a valid X color name. Default is "gold".

BUGS

o   In some notebook, at the moment of querying APM status, there is a momentary lock of the computer. Also you may found a drift of the system clock (not the RTC), and a system load of 1-2% from the applet. It seems to be an APM problem, because the same momentary lock can be obtained simply inspecting the /proc/apm file with a cat. Other battery control applets shows the same problem. As far as I know, seem to be an APM or a BIOS problem. If you experience problems disable battery monitor in .conf file. In one case, a Sharp notebook, simply doing a cat of /proc/apm causes an hang.

o   In some window managers (i.e. WindowMaker) the applet size is forced to square area. In that case, if you enable all the monitors in the applet, the lower area of the applet may be clipped to the predefined applets size (normally 64x64 pixels). FluxBox window manager works fine with any applet size.

o   If you don't want battery status monitoring (or if don't have a battery), or your kernel don't support APM, nor ACPI, disable battery monitor using .conf file, putting variable 'battery' equal to 0. This disable both display and query of battery status.
    Now Allin1 no more needs libapm, and builds in systems without libapm. If you use old version of Allin1 (v 0.3.2 or older) you cannot build if you don't have such library and related include file (apm.h). If you build successfully Allin1 and you disable battery monitor, the applet work fine in kernel without APM support.

o   ACPI is poorly supported, because I don't own a notebook ACPI-compliant, so, (only) if you have troubles with battery monitor and you have ACPI enabled, please be patient, and send me a copy of your /proc/acpi files.

o   If you found a bug, or want a feature to be added, feel free to contact me at my Sorceforge project page, using Tracker.

AUTHOR
Mario Pascucci <ilpettegolo (a) yahoo it>

Contributions

aking.pda (a) 163 com
    discovers a bug in the cpu load computing

Andrew Randles
    discovers a flaw in the APM code with Gentoo distribution

Kevin Geiss
    discovers incompatibilities between Allin1 and 2.6 series kernels.

arand2 (a) users sourceforge net
    patch to user change the vertical size of cpu graph.

Pawel J. Maczewski
    makefile enhancements, DEB and TGZ binary packages build, first version man page, lots of ideas

Mariusz Dabrowski
    Some tests with ACPI and a patch

Nicola Canepa
    english grammar help

FILES
$HOME/.allin1.conf
/usr/share/allin1/allin1.conf
/usr/local/share/allin1/allin1.conf

SEE ALSO
The Author's Homepage:
http://ilpettegolo.altervista.org/
http://www.geocities.com/ilpettegolo/ (mirror)

Project's homepage on Freshmeat.net:
http://freshmeat.net/projects/allin1

Project's homepage on sourceforge.net:
http://sourceforge.net/projects/allinone