NAME
xdesktopwaves - simulation of water waves on the X Windows desktop
SYNOPSIS
xdesktopwaves [option]...
DESCRIPTION
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 (-rain 0-10, -storm
0-10).
In shaped mode, which is enabled by default, xdesktopwaves usually
works good together with other desktop background programs like
xfishtank, xpenguins, xsnow and xearth. They are all under water.
xdesktopwaves has many options. The most important ones are -quality
0-9 and -colortheme 0-9. The first one is for adjusting the balance
between display quality and system load. And the other option is for
selecting a set of colors for visualization. Choose a color theme
suitable for your background picture. There are even options for fine-
tuning.
Window Managers
If you are using the KDE window manager, please enable "Allow programs
in desktop window" in the KDE desktop configuration (right-click on the
desktop and choose "Configure Desktop"). Otherwise xdesktopwaves may
not be visible. If you are using Enlightenment 0.16 with "Multiple
Desktops" instead of "Virtual Desktops", xdesktopwaves appears always
on the first desktop. A solution is -wmbackdrop, but read the comments
on that option. With most other window managers xdesktopwaves should
work without difficulties. If not, try -root, -wmbackdrop or -window,
and/or -opaque.
If supported by the window manager, you should decide to enable opaque
moving and resizing of windows ("display content in moving windows" or
something like that), instead of displaying just a frame. This may
result in very dynamic wave effects - try to pile up a big wave by
moving a window slowly. But: unfortunately some window managers seem
to be very CPU-intensive while moving a window opaque. In that case
xdesktopwaves does not perform very smooth.
Starting and stopping
For a first try, open a shell and type xdesktopwaves followed by
desired options. Example:
xdesktopwaves -quality 4 -colortheme 3
Just press CTRL-C for stopping.
Now, 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 example above. And for stopping, create an entry
containing this command:
xdesktopwaves -end
Hint: Whenever xdesktopwaves is starting, it automatically tells other
instances of xdesktopwaves to terminate. So there cannot be more than
one instance.
xdesktopwaves every day?
Depending on the quality settings, xdesktopwaves can be very CPU-
intensive. To get along with this, the program goes into an idle mode
if there are no waves on the water or if the output window is obscured.
The cellular automata stops computing in that mode. Additionally, you
can give a lower priority to the xdesktopwaves process (see -nice).
If you want to have xdesktopwaves automatically started when starting X
Windows, insert the start command in the file $HOME/.xinitrc (see
startx(1)). But don’t forget to append & to the command. This way,
xdesktopwaves is started before the window manager (may or may not
work, depending on the type of window manager).
GENERAL OPTIONS
-h or -help
Print a short help and exit.
-V or -version
Print version and exit.
-v or -verbose
Print some information about what’s going on.
-vv or -veryverbose
Print much information (for debugging).
-d name or -display name
Connect to the display named name.
-e or -end
Exit after terminating a possibly already existing instance of
xdesktopwaves.
WINDOW CREATION OPTIONS
-r or -root
Do not create any window, draw the waves to the (virtual) root
window. This option implies -stippled if not -opaque.
-b or -backdrop (default)
Create an override-redirect backdrop window on the (virtual)
root window.
-wmb or -wmbackdrop
Create a backdrop window using the extended window manager
hints. This is not supported by every window manager. And if
it is, there’s still the problem that it may not be possible to
activate icons or menus on the desktop background (possibly just
at every second scan-line in shaped mode).
-w or -window
Create an ordinary normal window. For some window managers
you’ll even have to give -opaque.
TRANSPARENCY OPTIONS
-o or -opaque
Have no transparency at all.
-t or -stippled
Have faked transparency. This lets the desktop background
picture shine through. Other desktop background programs and
desktop icons may not be visible. The window of xdesktopwaves
inherits the background from the root window, and the waves are
drawn in stippled mode. This option implies -nodoublebuffer.
-s or -shaped (default)
Have better transparency. Everything behind xdesktopwaves
shines through. The window of xdesktopwaves is shaped by every
second scan-line, using the XShape extension. This option is
ignored if -root, otherwise this option implies -doublebuffer.
-wmo percent or -wmopacity percent
Have best transparency. This is still highly experimental! It
sets the window property _NET_WM_WINDOW_OPACITY, which is a hint
for the window manager respectively composite manager to render
the window with alpha blending. This option is ignored if
-root.
PERFORMANCE OPTIONS
-q number or -quality number (default: 5)
Set overall quality of the waves. number can be 0 to 9. The
higher the quality, the higher the CPU/network load. This
option is a comfortable alternative for -framerate,
-simsperframe, -eventsperframe, -resdivision, -cellsize and
-maxcolors.
-fr rate or -framerate rate
Set maximum frame rate in hertz. This option is overridden by
-quality.
-sf count or -simsperframe count
Set number of simulation steps per frame. Hereby you can adapt
the speed of the waves. This option is overridden by -quality.
-ef count or -eventsperframe count
Set number of event processings per frame. This can improve the
trails of fast moving objects (mouse and windows), but it can
even incur a sensible higher CPU load, because of a worse cache
utilization. Maximum is the number of simulation steps per
frame. This option is overridden by -quality.
-rd rdx rdy or -resdivision rdx rdy
Set overall division of resolution in x and y direction. These
values have dramatic influence on the CPU usage on both sides,
the client and the server. This option is overridden by
-quality.
-cs cw ch or -cellsize cw ch
Set width and height of the cells of water. These values have
dramatic influence on the CPU usage on the client side. The
water surface is made of rectangular cells. This is a kind of
an image, where each pixel is a cell. For each frame, that
image is scaled up to the screen size in two steps. In the
first step it is scaled by (cw, ch) with bi-linear
interpolation, and in the second step it is scaled by (rdx, rdy)
without interpolation. This option is overridden by -quality.
-mc count or -maxcolors count
Set maximum number of colors for drawing the waves. The higher
the color count, the more rectangles may be sent to the X
server. count can be 2 to 128. This option is overridden by
-quality.
-db or -doublebuffer (default)
Draw with double buffering. This option is ignored if
-stippled.
-ndb or -nodoublebuffer
Draw without double buffering. This option is ignored if
-shaped.
-n increment or -nice increment (default: 0)
Increment nice value of the xdesktopwaves process. The higher
the nice value, the lower the process priority. A typical value
for increment is 10.
-i or -idle (default)
Go idle if there are no waves or if the output window is
obscured. This can spare CPU cycles.
-ni or -noidle
Never go idle.
-mo number or -maxoptimization number (default: 2)
Set maximum optimization by CPU instruction set. If compiled
with GCC for x86 (32 or 64-bit), 1 means MMX and 2 means SSE2.
0 means to have no special optimization.
COLOR OPTIONS
-c number or -colortheme number (default: 0)
Select a color theme. number can be 0 to 9. Just try them
through. This option is a comfortable alternative for
-watercolor, -skycolor and -lightcolor.
-wc color or -watercolor color
Set color of water. This option is overridden by -colortheme.
-sc color or -skycolor color
Set color of sky reflections. This option is overridden by
-colortheme.
-lc color or -lightcolor color
Set color of light reflections. This option is overridden by
-colortheme.
PHYSICS OPTIONS
-wm or -wavesbymouse (default)
Produce waves by mouse pointer movements.
-nwm or -nowavesbymouse
Ignore the mouse.
-ww or -wavesbywindows (default)
Produce waves by client windows.
-nww or -nowavesbywindows
Ignore client windows.
-rn intensity or -rain intensity (default: 0)
Simulate raindrops falling on the water. intensity can be 0 (no
rain) to 10 (cloudburst).
-st intensity or -storm intensity (default: 0)
Simulate a storm blowing on the water. intensity can be 0 (no
wind) to 10 (strong storm).
-vs value or -viscosity value (default: 3)
Set viscosity of the fluid. value can be 1 to 5. The higher
the viscosity, the shorter the lifetime of waves.
-si intensity or -skyintensity intensity (default: 5)
Set intensity of sky reflections. intensity can be 1 to 10.
-li intensity or -lightintensity intensity (default: 5)
Set intensity of light reflections. intensity can be 1 to 10.
-lal degrees or -lightaltitude degrees (default: 30)
Set altitude of the source of light. degrees can be 0 to 90.
-laz degrees or -lightazimuth degrees (default: -35)
Set azimuth of the source of light. degrees can be -360 to 360.
EXAMPLES
xdesktopwaves -quality 6 -colortheme 1 -verbose
Increased quality. Blue color theme. Print information about
settings and performance.
xdesktopwaves -q 6 -c 1 -v
Short cut of the previous example.
xdesktopwaves -c 2 -rn 8 -r -o
Dark night with flashy lights. It’s raining. Draw to the root
window without any transparency.
SEE ALSO
xfishtank, xpenguins(1), xearth(1), xsnow(1), xlife(1x), xsetroot(1),
startx(1)
HOMEPAGE
http://xdesktopwaves.sourceforge.net/
AUTHOR
Oliver Hamann (olha@users.sourceforge.net)
COPYRIGHT
xdesktopwaves is copyrighted (C) 2004 by Oliver Hamann
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA