Additional Information


Since GNU/Linux doesn't have a functional sysctl(3) call, much of the
data in refresh.c is obtained by reading files in the /proc and /sys
directories.  /proc is predictable to a point but what's to be found
in the subdirectories and /sys is not.  The -powerstate argument
requires additional data in the form of:

-powerstate_setting=pathTo/acOnLine,pathTo/batt^full,pathTo/batt^now

beginning at /sys/class/power_supply/.  Those files frequently have
underscores in their names.  Since the underscore is the strsep(3)
token used in defining line options, carets must be used instead.
These files may not contain valid information as some hardware
manufactures use the TRUE=0, FALSE=1 convention and others use the
reverse.  Inverting the case of the B=pathTo/OnLine file argument by
appending a - (dash) to the end of the acOnLine file name inverts the
order.

GNU/Linux will also hang when searching for a -remotehost argument if
an inaccessable name server is listed in /etc/resolv.conf.  Comment
out any nameserver lines that are currently not accessible.

To use audio signals, you must either define an alternate audio driver
(-audiocmd) or chmod 666 /dev/dsp, /dev/dsp0 etc which will be reset
at reboot.  You could also add the line "/bin/chmod 666 /dev/whatever"
to /etc/???/rc.local.

To use shutdown and detach effectively requires changes to the ownership
and mode of root executables as follows:

    FreeBSD and PCBSD work as installed:
    NetBSD and OpenBSD require:
	chown root:wheel /sbin/shutdown /sbin/mount /sbin/umount
	chmod 4555 /sbin/shutdown /sbin/mount /sbin/umount
    Slackware GNU/Linux requires:
	chmod 4555 /sbin/shutdown /usr/bin/pkill
	detach always returns "only root can do that"
	and 3.x kernel versions ignore shutdown except
	when run by root

An alternate method is to start salmon as a remote execute server at
boot.  This server would have a real UID of zero so any child process
would also.  If the AC line is brought back up or salmon with -clickoff
is clicked a second time before shutdown times out, shutdown will be
pkill'ed.  This applies to thermal shutdown also.

The OpenBSD port has no share or buffer information so -line=share or
-line=buffer will always display zero.

When first started, all hosts that are resolved using the -line=remotehost
option are also shown as responding.  That will stabilize after ten packets
are sent to a host that doesn't respond, which will then show resolved, not
responding.  Thereafter, the host will be pinged again every few minutes.
The time required to reach a stable state can be shortened by setting time
to wait to only slightly more than the longest time required for an
ICMP_ECHOREPLY to return from the host being monitored,  This is done by
adding the wait time in seconds to the remote host name, -line=remotehost,TTW.
This only sets wait time in the struct that keeps track of the packets that
are sent.  Setting TTL in the ICMP_ECHO packets must be done with sysctl(8).

The first six included sound files, 001.au through 006.au, are simple
beeps executed through whatever executable will make noise with them.
The rest are made with flite, http://cmuflite.org and converted to
ogg.  The -audiocmd option allows resetting the command be used,
-audiocmd "ogg123 -q", -audiodev changes the device.  Once reset,
the original six sound files will probably just make a racket.  Sound
files must be numbered from 001 to 999 and have .au as the extension.
The files numbered 007.au through 034.au require a command line ogg
vorbis reader such as ogg123.  They are:

    007.au	"The power has gone off."
    008.au	"It's warm in here."
    009.au	"I'm shutting down."
    010.au	"A timer has expired."
    011.au	"Timer one has expired."
      to	    to
    022.au	"Timer twelve has exired."
	    and
    023.au	"Alarm one has expired."
      to	    to
    034.au	"Alarm twelve has expired."

The pixmaps used as alternate backgrounds are 320x320 pixel gzipped
xpm files.  They should be named b02.gz to b99.gz, and placed in
$PREFIX/share/salmon.  Option -pixmap 1 is for psuedo transparency and
the file named b01.gz in salmon-back.tar.bz2 is the clip mask for
moon phase graphics.  When used in a Wharf, setting -pixmap 1 will use
the *WharfPixmap as the background.  The tiles are 64x64 pixels,
are named t01.gz to t99.gz and are selected by using a negative
number, -pixmap -1 etc.

All notice, warning and error messages are written to ../salmon.log.
If something doesn't seem to be working, check the log file.  Use
-logbeep for an audible message when any message is written.  This
may require resetting permissions on /dev/whatever.  Check salmon.h
for the default BEEPER.
* * o * *