Ported from X10R4 to X11R3 by Jonathan Roger Greenblatt (jonnyg@rover.umd.edu) 8/10/89 Ported by VMS by Kevin Ashley (K.Ashley@ncdlab.ulcc.ac.uk) April 1990 Original Author of the X10 version is Unknown. XAquarium =========== XAquarium is an X Windows application which creates a full-screen background window complete with color fish and translucent bubbles. This program is not to be confused with the older 'xfish' which featured small monochrome fish on a monochrome background. On the contrary. XAquarium features highly detailed fish in living color, translucent bubbles, and a full color background. With that confusion removed, the program will be referred to as 'XFish' from this point forward. Scientific Note: Research has shown that a moving aquarium background creates a soothing and relaxing atmosphere, thereby reducing the stresses associated with day-to-day workstation usage. A corresponding increase in productivity should result, although this is yet to be shown. XFish Creation -------------- The package includes five files ... * XAQ.README (this file) * BUILD.COM (DCL file for buold * xfish.c (application code) * xfishy.c (fairly large file containing pixmaps and bitmaps) * pseudo_root.c (gets around DECwindows root window problem) After unpacking the shell archive, running 'build' is all that is required to compile XFish. XFish Usage ----------- Set up a foreign symbol to point to the file: $ XAQ*UARIUM :== $DEVICE:[dir]xaquarium.exe usage: xaq [-b limit][-c color][-f limit][-i mult][-r rate][-s][host:display] XFish is designed to run efficiently on defaults alone, but like any good X program, command line options are provided ... * -b specifies the bubble limit (default = 32) * -c specifies the background color (default = MediumAquamarine) * -f specifies the fish limit (default = 2, for historical reasons) * -i specifies the increment multipler (default = 1.0) * -r specifies the update rate (default = 1.0 seconds) * -s activates secure mode, raising the window for use with xsecure * host:display is the standard X server specifier as well as ~/.Xdefault options for all of the above ... * xfish.BubbleLimit: 32 * xfish.Color: MediumAquamarine * xfish.FishLimit: 2 * xfish.IncMult: 1.0 * xfish.Rate: 1.0 * xfish.Secure: No A few notes on XFish performance ... * Bubbles are something of a CPU drain. Overall performance can be improved by using low bubble limits. If the bubbles appear to be flashing, try fewer bubbles, or turn off bubbles using -b0. * Off-screen display memory is used for fish if available. This results in astonishing performance gains. For this reason, fish are not much of a CPU drain, and higher fish limits can easily be used. * Changing the update rate is the most effective way to control impact on system performance. The default of 1 second results in less than a 10% CPU usage on a single user 350. Higher values may be desirable on more burdened system. * A zero update rate using -r0 creates some great looking displays. Try 'xfish -r0 -f0' and 'xfish -r0 -b0 -f8' (the latter really shows off the capabilities of the Topcat board, and is simply astounding on the Catseye board). * [Note for VMS:] If you decrease the update rate, you should decrease the increment in parallel if you want the fish to move at the same speed, but more smoothly. I find a value of .1 for both to be good on a VAXstation 3520, for example. * Decreasing the increment multiplier, using -i 0.1 for example, is especially useful in conjunction with a zero update rate. If you prefer '911 Turbo' fish, use a multiplier of greater than one. * The aquarium window obscures most of the root window. A one pixel border is provided around the window to allow quick access to the root window. An alternative, which proves very useful with the secure option, is to iconize the aquarium (until ready to xsecBure). * Sending SIGUSR1 (16) to the XFish process (using 'kill -16 ') will toggle the raise-lower mode. Using this technique, xsecure can be started without the need to restart XFish. XFish Enhancements ------------------ XFish was intended to be run as a background window, and as such it was designed to minimize CPU impact. Although enhancement requests will be cheerfully accepted, it is unlikely that features will be added to the detriment of overall performance. On the other hand, any recommendations which could benefit overall performance will be utilized.