Reference

bubbles(1x)

frying pan / soft drink simulation

NAME

bubbles - frying pan / soft drink simulation

SYNOPSIS

bubbles [-display host:display.screen] [-foreground color] [-background color] [-window] [-root] [-mono] [-install] [-visual visual] [-simple] [-broken] [-3D] [-file filename] [-directory directoryname]

DESCRIPTION

Bubbles sprays lots of little random bubbles all over the window which then grow until they reach their maximum size and go pop. The inspiration for this was watching little globules of oil on the bottom of a frying pan and it also looks a little like bubbles in fizzy soft drink. The default mode uses fancy ray-traced bubbles but there is also a mode which just draws circles in case the default mode is too taxing on your hardware.

OPTIONS

Depending on how your bubbles was compiled, it accepts the following options:

-foreground

Colour of circles if -simple mode is selected.

-background

Colour of window background.

-window

Draw on a newly-created window. This is the default.

-root

Draw on the root window.

-mono

If on a color display, pretend we're on a monochrome display.

-install

Install a private colormap for the window.

-visual visual

Specify which visual to use. Legal values are the name of a visual class, or the id number (decimal or hex) of a specific visual.

-delay microseconds

How much of a delay should be introduced between steps of the animation. Default 1, or about 1 microsecond. Actually, this is the delay between each group of 15 new bubbles since such a delay between each step results in a very slow animation rate.

-nodelay

Same as -delay 0.

-simple

Don't use the default fancy pixmap bubbles. Just draw circles instead. This may give more bearable performance if your hardware wasn't made for this sort of thing.

-broken

Don't hide bubbles when they pop. This was a bug during development but the results were actually quite attractive. (This option is only available if you have the XPM library available and the imake generated Makefile has defined HAVE_XPM).

-3D

Normally, the simulation is done completely in two dimensions. When a bubble swallows up another bubble, the areas of each are added to get the area of the resulting bubble. This option changes the algorithm to instead add volume (imagining each to be a sphere in 3D space). The whole thing looks more realistic but I find it attracts attention to the flickering of each bubble as they are move and are redrawn. Your mileage may vary.

-file filename

Use the pixmap definitions in the given file, instead of the default (if one is compiled in). This is ignored if -simple is specified. If the file is compressed (either with compress or gzip), it is decompressed before use. (This option only works if you have XPM compiled into your binary and you have compiled with BUBBLES_IO set in bubbles.h. This is not the default).

-directory directoryname

Similar to -file except the file is taken randomly from the contents of the specified directory. (Again, this option is only available if you have XPM and BUBBLES_IO was set when compiling. See above).

-quiet

Don't print messages explaining why one or several command line options were ignored. This is disabled by default.

NOTES

If you find the pace of things too slow, remember that there is a delay even though you specify no -delay option. Try using -nodelay although beware of the effects of irritation of other users if you're on a shared system as you bleed their CPU time away.

Some tools to assist in creation of new bubbles are included in the source distribution. These can either be loaded with the -file or -directory options (if available) or they can be used in place of the distributed default bubble (bubble_default.c). You might like to copy these scripts to a permanent location and use them. Read bubbles.README.

Rendered bubbles are not supported on monochrome displays. I'm not convinced that small bubbles, even dithered properly are going to look like anything more than a jumble of random dots.

BUGS

There is a delay before something appears on the screen when using rendered bubbles. The XPM library seems to take a long time to make pixmaps out of raw data. This can be irritating on slower systems.

The movement of the bubbles looks jerky if an incomplete set of bubbles is used.

The hide/display algorithm could do with some work to avoid flickering when -nodelay is set.

ENVIRONMENT

DISPLAY

to get the default host and display number.

XENVIRONMENT

to get the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property.

SEE ALSO

X(1), xscreensaver(1)

DISTRIBUTION POLICY

This work is Copyright © 1995, 1996 by James Macnicol. Distribution is allowed under the terms of the GNU General Public License. Look at the sources for the legalese.

AUTHOR

James Macnicol <[email protected]>.