
                               xdesktopwaves 1.0

               Simulation of water waves on the X Windows desktop

                        Copyright (C) 2004 Oliver Hamann


                  For license please refer to the file COPYING


xdesktopwaves is a cellular automata setting the background of your X Windows
desktop under water. Windows and mouse are like ships on the sea. Each movement
of these ends up in moving water waves. You can even have rain and/or storm
stirring up the water.

If you want to read more about xdesktopwaves before installation, type:

   man -l xdesktopwaves.1

or go to the homepage:

   http://xdesktopwaves.sourceforge.net/


INSTALLATION
============

In seldom cases you may have to edit the Makefile. An example would be to
compile with another compiler than gcc, or to change the include, library
and install directories. Or maybe you want to add a compiler flag like
-mcpu=athlon-xp or -mcpu=pentium4.

For compiling xdesktopwaves simply type:

   make

If you get errors from the assembler, try the following command. It disables
SSE2 assembly:

   make XDW_MAX_OPTIMIZATION=1

If you get errors from the assembler again, you will probably even have to
disable MMX:

   make XDW_MAX_OPTIMIZATION=0

Hint: There is no need to disable optimization for lack of support by the CPU.
That is checked by the program at run-time.

After compilation was successful, be root and install xdesktopwaves with:

   make install

Now read the manual:

   man xdesktopwaves

You don't like to read the manual? Okay, try some of these commands:

   xdesktopwaves
   xdesktopwaves -colortheme 9 -verbose
   xdesktopwaves -quality 3 -colortheme 1 -root -stippled
   xdesktopwaves -quality 6 -colortheme 5 -window -opaque -wavesbyrain
   xdesktopwaves -quality 4 -colortheme 3 -wavesbystorm

If you want to create menu entries in your desktop environment, window manager
or wherever: For starting, create an entry containing a command like the
examples above. For stopping, create an entry containing this command:

   xdesktopwaves -end


BUGS & FANTASIES
================

- If running with -wmbackdrop, mouse clicks mostly are not forwarded to the
  desktop (possibly just at every second scan-line in shaped mode). I'm afraid
  that the only solution would be to extend the standard of "Extended Window
  Manager Hints", so that an application can tell the window manager not to
  interpret any input on the window.

- Shaped windows are not shaped on the water.

- Screen saver mode is still missing.

- In high quality mode, and if client and server are on the same machine, it
  could make sense to paint with XShmPutImage instead of XFillRectangles.

- All the simulated physics could be more configurable (raindrops per second
  and so on).

- A graphical user interface for modifying the settings is more and more
  desirable.

- What about an inter-client communication interface so that other programs
  can generate waves?

- There could be an option for setting a background pixmap (stipple mode only).

- Another idea is to have an option for setting a bitmap which defines a
  land/water mask. Would be nice in combination with an appropriate background
  pixmap.

- Finally xdesktopwaves might be developed towards a real-time ray tracer:
  Reflect an environment pixmap (trees, clouds...). Illuminate a sea bottom
  pixmap by refraction of sunbeams. Refract rays from eye to sea bottom. Do the
  same with animated animal pixmaps in one or more layers. Unfortunately these
  things probably would not look good with the interlaced shaping of the output
  window. But maybe there could be a shore area, in which the desktop icons are
  still visible.
