SWIRLY README

Swirly is a neato SGI screen saver that uses color map animation to make 
complex swirly patterns. It creates a number of nodes at random locations and then creates waves, spokes, and spirals coming from each node. The combinations
of the patterns from each node creates lava-lamp like effects.

To run swirly, use
swirly [-s] [-c n] [-a n] [-r n] [#]

options:
	-s	Makes swirly run screen saver mode, i.e. full screen, no window
			border.
	#	Specifies the number of nodes to use. The default is 4.
	-c n	Make a color between n base colors (default 5)
	-a t	animation speed (0 = fastest, 10 = normal)
	-r t	Processing speed, slower means more time for other processes (0 = fastest <default>)

For Irix 4.x or 5.x systems, use the swirly.irix4 executable instead.

To use Swirly as a screen saver, type:
haven swirly -s &

Haven is the screen saver control program and will call swirly after 10 minutes
of keyboard and mouse inactivity. You can add a number after the '-s' option
to have more nodes than the default 4. Add this line to your .sgisession or
.login to always use it as a screen saver.

Or you can add Swirly to the list of screen saver control panel on the desktop 
tool chest (Desktop->Customize->Screen Savers) by creating a file called swirly
in /usr/lib/X11/savers/defaults/ (you must be root) with the following 
contents:

swirly.ssTitle: Swirly
swirly.ssDso: glsavers.so
swirly.ssKey: swirly
swirly.ssCommand: /usr/sbin/haven -n /usr/local/bin/swirly -s > /dev/null 2>&1&
swirly.ssCheckRead: /usr/lib/X11/savers/modules/haven.so
!!swirly.ssCheckWrite:
swirly.ssCheckExe: /usr/sbin/haven,/usr/local/bin/swirly
*swirly.label.labelString:   Swirly
*swirly.message.labelString: \nScreen locking\nis unavailable for\nGL screen savers.

This file is included in the tar distribution as 'swirly.ss'. Just change the 
path name to Swirly (/usr/local/bin/swirly) to where ever you have it, and 
move the file to /usr/lib/X11/savers/defaults/. Thanks to David Cortesi 
(http://reality.sgi.com/employees/cortesi_wpd/) for this info.


Known problems

Swirly works by doing GL color map animation, and this will animate the
palettes of other GL rendered windows since there is only on GL color map. This
will show up in programs like ical, gr_osview, gr_top, etc. In future versions
I'll make it so that it saves the color map and restores it when it's done.


Source Code

I've included the source code for those that are interested in making
modifications since I've had many requests to this effect. If you make
any improvements (converting to OpenGL, speed ups, new features) let
me know and I can include them in the distribution.

You should be able to compile with the included makefile on any IRIX
machine that has IrisGL libraries by typing 'make opt' for an
optimized version or 'make dbg' for a debug version.

Please do not distribute the source code or any programs derived from
it without my permission.


Check http://os.sri.com/people/nat/swirly.html for updates

Have fun!

Nat Bletter
nat@ai.sri.com
