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.