Salmon Development History

3.0.3 -> 3.0.4
    Improved volume control function for NetBSD and OpenBSD, minor fixes,

3.0.2 -> 3.0.3
    Volume control function, improved locate for external commands
    and other functional fixes.

3.0.1 -> 3.0.2
    Integrate logbeep sound, minor fixes.

3.0.0 -> 3.0.1
    Fix to allow backslash as other than line continuation in cfg files,
    change thermal zone limit to >= 0, trap instant restart when child
    process error exits, one or four panel calendar function, update
    help function, -logbeep to make a noise at message logging.

2.3.4 -> 3.0.0
    Complete rewrite:
    Convert to long options, unique per line color for most line types,
    logging of power and temperature state changes, use shift number keys
    to toggle logging, print output for config files, per line temperature
    scale option for thermal zones, ./configure --with-detach option to
    un/mount file systems, per line memory and swap as percent, "goto :label"
    to shorten config files, four panels in one window mode, simplified
    configuration, reduced resource usage and network traffic, host specific
    wait time for ICMP_ECHOREPLY packets, reset wall clock at startup,
    execute user commands at low power or high temperature shutdown, write
    all notice, warning and error messages to .../salmon.log, foreground
    color change signals shutdown, talking clock, user set interval for
    resetting alarms, command line interface to change options/arguments
    while running.

2.3.2 -> 2.3.4
    Restrict redraw to currently visible window, pixmap and tile backgrounds
    and psuedo transparency, limit maximum size to one screen height, non
    preset alarm code, unique colors for labels, still another ECHOREPLY fix,
    set name as XTextProperty only, fix Makefile.in to stop wasting global
    config file, allow forcing adjtime(2) at start, multi line backslash
    continuation in config files, multiple environment variable expansion
    in config files, remove check for optional label indicator (: \t) when
    using personal salmon.cfg, allow passing of parameters to click event
    commands, execute command at timer/alarm timeout, explicitly specify
    global (:label) or personal (~label) config file for click commands,
    execute afterstep internal functions with -C option, reduce command
    size limit from 1024 to 64 bytes, --with-commands configuration option
    to (dis)allow user button press and timer commands, restrict argument
    separator to comma in all except time formats which are restricted to
    space, fix idiot key press exit code, improve clarity and accuracy of
    help and error messages, default to $TMPDIR as resize directory if
    resolved, replace resize command with graphics sequence, trap argument
    truncation of user input, remove spurious q from options string, allow
    window manager to determine position placement by default, pass hex
    values as 0xf... or 0XF... in config files, reduce permissions to real
    $UID except when required, resolve differences in starting and stopping
    shutdown on the supported OS's (see ERATA), change wording of license
    to OSI recognized format.

2.3.0 -> 2.3.2
    Adjust function, syncronize network clocks, modify elapsed time pointer
    functions for more consistent button behavior, modify Initialize() to
    work in all tested hardware/OS/X11 combinations, improved trapping and
    reporting of command line errors, fallback call to apm(8) if sysctl(3)
    fails to read power info on OpenBSD, allow backslash line continuation
    in config files, log adjust and restart activity, restrict adjust and
    restart responses to the LAN, another ECHOREPLY fix.

2.2.0 -> 2.3.0
    Expanded timer/alarm function, button 1 to cancel, button 3 to reset,
    button 2 to set new time to expire, use clicks or number keys to enter
    new time, preload one or more timers to start at button 3 event, click
    daily reset alarms to advance twenty-four hours, unique sound files for
    each timer/alarm, limited button functions in elapsed timers, less likely
    to reset time without intent, dedicated moon phase calculator, button 1
    advance to the next quarter, button 3 to the previous quarter, button 2
    back to current phase, remote control function, use salmon on one computer
    to restart salmon on another, improved ECHOREPLY checking, reduced
    interference when two or more salmon are pinging hosts, restrict AUDIO
    and SUID functions to local machine, improved error and syntax checking
    while reading commands from a file or the command line, simplified access
    to personal config file $HOME/etc/salmon.cfg, ^q or ^w to exit, removed
    SUID kvm() calls to get swap info for FreeBSD, reintegrate and update
    GNU/Linux port.

2.1.0 -> 2.2.0
    Stop watch function, one to six elapsed time displays, minor cosmetic and
    functional changes to code and documentation, provide separate tar balls for
    source and data files, update salmon web site, http://grania.freeshell.org

2.0.0 -> 2.1.0
    Simplified timer and alarm setting, optional 24 hour alarm reset, positional
    pointer event on lines, set one to six commands at pointer event, expanded
    capacity of literal text to match pointer events, send ICMP ECHO REQUEST
    packets to hosts to display access status.

2.pre -> 2.0.0
    Functional autoconf, configure and Makefile, "check" test script that
    will build and run salmon through several options without the need to
    install, user definable battery state to reach before executing shutdown,
    up to six definable thermal zones with optionally settable warning and
    shut down temperatures, improved network and device monitoring, updated
    man page and README, set up to ten timers with audible alarm for year,
    month, day, hour, minute and second and display time remaining for up
    to six of them.  It's no longer ported to Linux, but it still does the
    phase of the moon.

1.3.0 -> 2.pre
    Complete rewrite:
    Proper full window function, proper geometry (-P) placement, definable
    full window size in multiples of 64x64, user definable times using
    strftime formats, user definable colors for device, mount and network
    states, auto shutdown at low power (if suid), license changed from GPL
    to BSD, many new functions including graphical moon phase.

1.3.0
    Not distributed.

1.2.1 -> 1.2.2
    Changes to the Linux read_meminfo() function so that salmon
    displays zero for some memory values when run on versions
    greater than 2.4.xx.  When running on FreeBSD, salmon now calls
    kvm_open() and drops sgid privileges immediately.

1.2.0 -> 1.2.1
    The fifteen minute load average line option has been changed from
    l(oad) to f(ifteen).  The local and universal times may now be
    independently displayed in twelve hour format.  Use -t(welve) for
    local time and -T(welve) for universal time.  The local and universal
    dates now display by default as [abbreviated day name, abbreviated
    month name  date].  Use -y(ear) or -Y(ear) to display them as
    [abbreviated month name  date, year].  Several of the information
    lines have improved formatting routines, a few of the global variables
    have been de-globalized and a few unnecessary variables were eliminated.
    The #if defined(__FreeBSD__) test in read_mem.c has been reduced to
    a single instance to improve legibility of the code.

1.0.0 -> 1.2.0
    It is no longer necessary to run salmon sgid kmem on FreeBSD.
    Swap information will display 0 when running without access to
    /dev/kmem.  The name of the application as given to the X server can
    be specified with the new "-n" option. This allows using two or more
    instances of salmon with different names in some versions of the
    Afterstep Wharf that would otherwise not allow it.  The foreground
    pixmap has been expanded to include the first 127 characters of the
    ASCII set.  The name used for the fifteen minute load average has
    been changed from the previous "ten" to more closely reflect objective
    reality.  The line option switch to display Universal time has been
    changed from "g" to "T" and a new option "D" to display the date based
    on Universal rather than local time has been added.  New options "o"
    and "v" to display the OS type and the OS or kernel version have been
    added.  Salmon will display from one to six lines of information, and
    the lines will automatically be spaced evenly in the window.  The "."
    option to leave a blank line is no longer recognized.  Salmon can be
    run in daemon mode with the -z option.  This is useful for monitoring
    a remote file, print or web server without the need to be logged on.
    The moon phase now shows the quarters by name from approximately six
    hours before until six hours after the event.  At other times, the
    phase is shown to .1% with an arrow pointing up or down.

0.0.0 -> 1.0.0
    Hmm, maybe someone should work on that strftime(3) bug.

* * o * *