Really Slick XScreenSavers
==========================

1. Description
--------------

Really Slick XScreenSavers (rsxs) is an X11 port of the Really Slick
Screensavers collection by Terry Welsh (http://www.reallyslick.com/).

This collection of screensavers is designed to integrate with Jamie Zawinski's
XScreenSaver package. Alternatively, the screensavers can be run as
stand-alone applications.

rsxs contains the following eye-candy:

* rs-cyclone:    Tornadoes on your monitor.
* rs-euphoria:   Don't look at this if you suffer from motion sickness!
* rs-fieldlines: A simulation of the electric field lines between charged
                 particles.
* rs-flocks:     3D swarms of colorful bugs.
* rs-flux:       A particle system based on strange attractor equations.
* rs-helios:     Exploding particles and smooth Helion surfaces.
* rs-hyperspace: Soar through wormholes in liquid spacetime.
* rs-lattice:    Fly through an infinite lattice of interlocking rings.
* rs-plasma:     Psychadelic gooey plasma goodness.
* rs-skyrocket:  The mother of all fireworks screensavers.
* rs-solarwinds: A mesmerising color and movement particle effect.

2. Requirements
---------------

To build rsxs you will need:

* A C++ compiler and standard C++ library (including STL).

* An accelerated graphics card.

* An X server with GLX extensions. To test for this, run `xdpyinfo' and look
  for GLX in the list of extensions.

  You will also want direct rendering enabled, otherwise the screensavers will
  run _extremely_ slowly. To find out if this is enabled, use `glxinfo' (it
  should say "direct rendering: Yes".)

* X development headers and libraries. If you've got them, `configure' should
  find them.

* OpenGL development headers and libraries. The names of these vary from
  system to system. If `configure' doesn't find them, please email me with your
  system type and the correct names via the bug-reporting address below.

rsxs also has the following _optional_ requirements:

* XScreenSaver -- preferably version 4, though it should work fine on earlier
  versions. `configure' will try to determine the correct paths to install
  files. If XScreenSaver isn't found, the screensavers will simply be installed
  in the standard binary directory (usually /usr/local/bin), just like any
  other program.

* libpng development headers and libraries. `configure' should have no trouble
  finding these if you've got them, as the filenames are standardised.

  If you do not have libpng (or choose to disable it through a `configure'
  option), the screensavers that load textures at run-time will not be built
  or installed.

* OpenAL development headers and libraries. Only one screensaver (rs-skyrocket)
  has a dependency on these; if they are missing then sound will be disabled.
  OpenAL can be obtained from http://www.openal.org.

* libvorbisfile development headers and libraries. The rs-skyrocket
  screensaver, when built with OpenAL sound support, requires this to load
  OGG audio files. Again, if these are not available then sound will be
  disabled.

  libvorbisfile is part of the OGG Vorbis libraries, available at
  http://www.xiph.org.

3. Installation
---------------

In general, the standard

$ ./configure
$ make
  <switch to root>
# make install

will do what you want. To get any currently running xscreensaver daemon to
see the new screensavers you will need to restart it:

$ xscreensaver-command -restart

The configure script accepts a large range of command-line options. These are
described in the accompanying INSTALL document -- please read this if you wish
to disable specific screensavers or disable one of the optional packages
described above.

4. Usage
--------

Each of the rs-* screensavers can be run independently. Providing no arguments
will run them with default parameters in a window. Each screensaver can also
accept the following arguments:

  --root                           Draw on the root window
  --geometry GEOM                  Draw on a window of the specified geometry
                                     (WxH+X+Y)
  --fullscreen                     Draw on a maximized window

For more information on the parameters an rsxs screensaver takes, run it with
the --help option.

5. Bugs
-------

Probably. Please mail reports to <foonly@users.sourceforge.net> and include:

* What the bug does
* What you did to make the bug appear
* Whether it is reproducable or not

If the program dumped a core file, please also include a backtrace.

6. Legal Stuff
--------------

rsxs is released under the terms and conditions of the GNU General Public
License version 2. Please read the COPYING file carefully.

-- Michael Chapman <foonly@users.sourceforge.net>
