jigglypuff - save your screen by tormenting your eyes.
jigglypuff [-display host:display.screen] [-visual visual] [-window]
[-root] [-delay number] [-cycles number] [-wireframe] [-fps] [-color
colorspec] [-spooky] [-complexity n] [-speed n] [-spherism n] [-hold n]
[-distance n] [-damping n]
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.
Specify which visual to use. Legal values are the name of a
visual class, or the id number (decimal or hex) of a specific
-window Draw on a newly-created window. This is the default.
-root Draw on the root window.
Per-frame delay, in microseconds. Default: 20000 (0.02 sec-
Render in wireframe instead of solid. Default: render solid.
-fps | -no-fps
Display frames per second. Default: off.
-tetra | -no-tetra
Whether to start the shape in the form of a tetrahedron. The
default is to start as a sphere.
Available options for colorspec are: cycle, flowerbox, clown-
puke, chrome and #xxxxxx (i.e an (old-style) X color specifica-
tion.) Default: cycle
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. Default: 0
Valid options are 1, 2, and 3. Everything else is treated as
though it were 2, which is the default. This controls the num-
ber 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 complex-
ity, which can cause the shape to devolve into a 'flying sno-
Controls how fast the blob moves around the screen. Default:
-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 con-
trolled by the options 'spherism' and 'hold'; 'distance' speci-
fies the distance the vertices seek to keep from their neigh-
bors, with 500 corresponding to the size of the start tetrahe-
dron. 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: 200; hold: 800; distance: 100; damping: 500.
-random 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. Default: off
DISPLAY 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 (C) 2003 by Keith Macleod. Permission to use, copy, modify,
distribute, and sell this software and its documentation for any pur-
pose 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 repre-
sentations are made about the suitability of this software for any pur-
pose. It is provided "as is" without express or implied warranty.
By Keith Macleod
X Version 11 4.21 (01-Mar-2005) XScreenSaver(6x)