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