man bubbles () - 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]

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.
-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.
-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

DISTRIBUTION POLICY

This work is Copyright © 1995, 1996 by James Macnicol. Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation. No representations are made about the suitability of this software for any purpose. It is provided "as is" without express or implied warranty.

AUTHOR

James Macnicol <james.macnicol@mailexcite.com>