Making waves with xdesktopwaves

Wave Rider


If even the most imaginative desktop background is starting to bore you, it's time for a change. xdesktopwaves allows you to change your desktop into a waterscape. You can add rain and storms or just drag your mouse to liven things up.

By Andrea Müller

Desktopia

Only you can decide how your desktop looks. With deskTOPia we regularly take you on a journey into the land of window managers and desktop environments, presenting useful and the colorful viewers and pretty toys.

Water attracts millions of holiday makers to the seaside, lakes, or rivers every year. Now, Oliver Hamann has developed a desktop tool to bring the wet look to the desktop. Oliver's xdesktopwaves [1] program floods your desktop and makes waves when you drag your mouse and move windows. The program gives you a variety of options that allow users to add effects such as rain and storms or to change the color of the water. There is no need to do without your favorite wallpaper - the waterscape that xdesktopwaves gives you is transparent.

Do-It-Yourself

The application is available from the project homepage. There are no ready-to-run packages, so you will need to build the program from the source code. All you need is the gcc compiler and the developer packages for the graphical system. Many distributions call the required package XFree86-devel or xorg-devel. Unpack the xdesktopwaves-1.3.tar.gz archive and change to the directory that this step creates, xdesktopwaves-1.3. Then enter make to compile the program. Become root, and then type make install to copy the program file to /usr/X11R6/bin and the manpage to /usr/X11R6/man/man1.

If you would prefer to place the application in your /usr/local directory, simply modify the Makefile before you compile by changing the BINDIR and MAN1DIR lines as follows:

BINDIR  = /usr/local/bin
MAN1DIR = /usr/local/man/man1

As an alternative, you could simply launch the program in the source directory by typing ./xdesktopwaves.

Land Under

xdesktopwaves draws waves in a window that sits on top of the root window. This approach will not work at first on KDE, as the KDE desktop environment actually draws a window on top of the root window and thus hides the root window. To flood your KDE desktop despite this, you need to launch the Control Center and enable the Desktop | Behavior | Allow programs in desktop window option (Figure 1).

Figure 1: To use xdesktopwaves with KDE, change the Allow programs in desktop window setting in Control Panel.

The xdesktopwaves command launches the program with its defaults (Figure 2). This tells the program to use the first of ten predefined color schemes and draw medium quality waves. The application supports ten quality levels. The quality levels specify how realistic the waves will look when you drag your mouse or move a window. The top value makes for really genuine looking wave motion. Of course, this authenticity comes at the cost of a higher CPU load. The easiest way to see the difference between the quality levels is to launch the lowest level first by typing xdesktopwaves -q 0, and then type xdesktopwaves -q 9 to switch to the highest level.

Figure 2: Drag the mouse or move a window to make waves on your desktop.

The -c option, and a value between 0 and 9, selects one of the predefined color schemes. xdesktopwaves -c 1 will give you deep blue water, whereas xdesktopwaves -c 6 applies a Caribbean style green to your desktop. -c 5 gives you a really neat effect of crystal clear water on the desktop. -c 8 gives you a deep red, which will probably remind you more of an accident down at the chemical works than your last vacation.


Root window: The mother of all windows. The root window does not have a frame and can't be moved. Most window managers display the wallpaper in the root window, but KDE places another kdesktop window on top of the root window.

Fine Tuning

If you are unhappy with the selection of default color schemes, you can design a scheme of your own. The options -wc, -sc, and -lc each followed by a color name, allow you to set up the color scheme. The showrgb | less command gives you valid color names, listing them along with their RGB values. The color name that follows -wc sets the color of the water; -sc defines the color of the sky, and -lc the color of light reflections. You need to drag your mouse, and make waves, to see the last two colors. While you are experimenting with the parameters, you might like to launch xdesktopwaves in a window of its own, rather than in background mode. To do so, specify the -w parameter when you launch the program.

The desktop background can be a nuisance if you are trying to get the color scheme right, but you can specify the -o parameter to disable transparency. To be kind to your CPU, you might like to specify the -i (for idle) parameter to tell the program not to consume CPU cycles if there is no activity on the desktop.

You can even specify which events will make waves by setting the appropriate parameters. For example, -nwm disables waves caused by moving your mouse across the desktop; and -nww means you can move windows without getting seasick. To remove the need to exit the program by pressing [Ctrl]+[C] at the console where you launched it, you can run the xdesktopwaves -e command instead.

Storm Warning

If all this calm water is sending you to sleep, you can specify the -st parameter with a number between 1 and 10 to liven things up. The -st parameter starts with a light breeze (1) and then builds up to gale force 10 to bring you a really big splash. -rn, again followed by a value between 1 and 10, adds some rain to the desktop. Whereas xdesktopwaves -rn 2 just gives you a light shower, specifying -rn 10 will hit your desktop with a cloud burst. You can combine these parameters: for example, xdesktopwaves -rn 10 -st 6 (Figure 3) gives you a really nice effect.

Figure 3: The parameters "-rn" and "-st" give you rain and storms.

If you enjoy a moving background, xdesktopwaves may be exactly what you are looking for. As the program does not run in the root window, you can even combine xdesktopwaves with other background applications such as xpenguins. For the aquatically minded, xfishtank [2], which converts your desktop into an aquarium, is another possible choice for a lively, liquid desktop.

INFO
[1] xdesktopwaves: http://xdesktopwaves.sourceforge.net/
[2] xfishtank: http://www.tuxfinder.com/packages?defaultname=xfishtank