XScreenSaver(1)

NAME
bubbles - frying pan / soft drink simulation

SYNOPSIS
bubbles [--display host:display.screen] [--foreground color] [--background color] [--window] [--root] [--window-id number][--mono] [--install] [--visual visual] [--simple] [--broken] [-3D] [--rise|--drop] [-trails] [--fps]

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.

--window-id number
    Draw on the specified 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 800, or about 800 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.

--rise | --drop

--trails

--fps
    Display the current frame rate and CPU load.

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.

XSCREENSAVER_WINDOW
    The window ID to use with --root.

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>