Section: XScreenSaver manual (6)
Updated: 5.40 (12-Aug-2018)
jigglypuff - save your screen by tormenting your eyes.
This draws all manners of obscene, spastic, puffy, vaguely ball-shaped
objects orbiting lazily about the screen, with a dizzying array of
mostly pointless options.
- -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.
Draw on a newly-created window. This is the default.
Draw on the root window.
- -delay number
Per-frame delay, in microseconds. Default: 20000 (0.02 seconds.).
Render in wireframe instead of solid. Default: render solid.
Display the current frame rate, CPU load, and polygon count.
- -tetra | -no-tetra
Whether to start the shape in the form of a tetrahedron. The default
is to start as a sphere.
- -color colorspec
Available options for colorspec are: cycle, flowerbox, clownpuke, chrome
and #xxxxxx (i.e an (old-style) X color specification.) Default: cycle
- -spooky n
This option controls a kind of interesting effect obtained by
using unnormalized normal vectors (how's that for an oxymoron?) in OpenGL.
A value of zero disables the effect. Other values vary the lengths of
the normals proportionally.
Okay, so it's not very spooky. Sue me.
- -complexity n
Valid options are 1, 2, and 3. Everything else is treated as though it
were 2, which is the default. This controls the number of polygons in
the 'thing'. A value of 1 yields 1024, and the values go up in powers
of 4. (i.e. 4096, 16384.)
note: There is an inherent lack of stability
at lower complexity, which can cause the shape to devolve into a 'flying
- -speed n
Controls how fast the blob moves around the screen. Default: 500.
- -spherism, -hold, -distance, -damping
These options control the 'jigglyness'. The best way to explain these is
to explain how jigglypuff works. Basically, the shape is a tetrahedron
whose faces are subdivided into a number of triangles, forming a mesh.
Each of the vertices of the mesh has two different forces applied to it:
one proportional to its distance from the surface of a sphere, and one
proportional to the difference of the distance to each of its neighbors
in the mesh to a given ideal distance. In short, one tries to move the
points into the configuration of a sphere, and the other tries to push
them back into a tetrahedron. The catch is that the points have inertia,
so they always overshoot their target, and hence they oscillate. The
magnitudes of the two forces is controlled by the options 'spherism' and
'hold'; 'distance' specifies the distance the vertices seek to keep from
their neighbors, with 500 corresponding to the size of the start tetrahedron.
e.g. if you were to give the options '-tetra -spherism 0 -distance 500', you
would end up with a stable tetrahedron. The 'damping' option can help to
keep the blob from collapsing or flying apart. The option specifies the
speed at which damping starts, hence lower values mean more damping.
Defaults: spherism: 75; hold: 800; distance: 100; damping: 500.
Probably the only parameter you'l ever need. Overrides almost all of the
parameters with random values. The values affected are: speed, spherism,
hold, distance, damping, spooky, color, wireframe and tetra.
to get the default host and display number.
to get the name of a resource file that overrides the global resources
stored in the RESOURCE_MANAGER property.
Copyright © 2003 by Keith Macleod. 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.
By Keith Macleod