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
X(1), xscreensaver(1)
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>