hopffibration

title: hopffibration(6)

text:
# hopffibration(6)

## NAME
hopffibration - Draws the Hopf fibration of the 4d hypersphere

## SYNOPSIS
hopffibration [--display host:display.screen] [--install] [--visual visual] [--window] [--root] [--window-id number] [--delay usecs] [--fps] [--shadows] [--details coarse | medium | fine] [--base-space] [--anti-aliasing] [--perspective] [--orthographic]

## DESCRIPTION
The hopffibration program shows the Hopf fibration of the 4d hypersphere. The Hopf fibration is based on the Hopf map, a many-to-one continuous function from the 4d hypersphere (the 3-sphere) onto the the ordinary 3d sphere (the 2-sphere) such that each distinct point of the 2-sphere is mapped from a distinct great circle (a 1-sphere) of the 3-sphere. Hence, the inverse image of a point on the 2-sphere corresponds to a great circle on the 3-sphere. The 2-sphere is called the base space, each circle corresponding to a point on the 2-sphere is called a fiber, and the 3-sphere is called the total space.

The program displays the base space (the 2-sphere) as a semi-transparent gray sphere in the bottom right corner of the display. The points on the base space are displayed as small colored spheres. The fibers in the total space are displayed in the same color as the corresponding points on the base space.

The fibers in the total space are projected from 4d to 3d using stereographic projection and then compressing the infinite 3d space to a finite 3d ball to display the fibers compactly. All fibers except one fiber that passes through the north pole of the 3-sphere are thus projected to deformed circles in 3d. The program displays these deformed circles as closed tubes (topological tori). The single fiber that passes through the north pole of the 3-sphere is projected to an infinite line by the stereographic projection. This line passes through infinity in 3d and therefore topologically is a circle. Compressing this infinite line to a finite ball maps it to a straight line segment. The program displays this line segment as a cylinder. However, it should be thought of as a circle through infinity.

The fibers, base space, and base points are then projected to the screen either perspectively or orthographically.

The program displays various interesting configurations of base points and fibers. Look out for the following configurations:

•

Any two fibers form a Hopf link.

•

More generally, each fiber is linked with each other fiber exactly once.

•

Each circle on the 2-sphere creates a set of fibers that forms a Clifford torus on the 3-sphere (i.e., in 4d). Clifford tori are flat (in the same sense that the surface of a cylinder is flat).

•

If a circle on the 2-sphere is not a circle of latitude, the projection of the Clifford torus to 3d results in a (compressed) Dupin cyclide.

•

More generally, any closed curve on the 2-sphere creates a torus-like surface on the 3-sphere that is flat. These surfaces are called Hopf tori or Bianchi-Pinkall flat tori. Look for the wave-like curve on the 2-sphere to see a Hopf torus.

•

A circular arc on the 2-sphere creates a Hopf band on the 3-sphere. The Hopf band is a Seifert surface of the Hopf link that forms the boundaries of the Hopf band.

•

Two or more circles of latitude on the 2-sphere create two or more nested Clifford tori on the 3-sphere.

•

More generally, two or more disjoint circles on the 2-sphere create two or more linked Clifford tori on the 3-sphere.

•

A great circle through the north pole of the 2-sphere creates a parabolic ring cyclide (which is compressed to lie within the ball in the 3d projection). A parabolic ring cyclide divides the entire 3d space into two congruent parts that are interlocked, i.e., linked.

•

By turning a circle on the 2-sphere so that it passes through the north pole of the 2-sphere, the projection of the corresponding Clifford torus reverses its inside and outside in 3d.

•

The Clifford torus corresponding to a great circle on the 2-sphere divides the 3-sphere into two congruent solid tori that fill the entire 3-sphere. The two solid tori on the 3-sphere correspond to the two hemispheres into which the great circle divides the 2-sphere. The solid tori in the 3-sphere are attached to each other at the Clifford torus. The congruence of the solid tori is visible in a particularly striking manner if the great circle that creates the Clifford torus is rotated so that it passes through the north pole of the 2-sphere, thereby creating a parabolic ring cyclide via the projection of the Clifford torus to 3d (see above).

During the animations, two kinds of motions are used. Usually, the points on the base space are moved or rotated to particular configurations. This is apparent by the small spheres that represent the base points changing their position on the base space, which leads to a corresponding change of the configuration of the fibers. The base space itself, however, is not moved or rotated, i.e., its orientation remains fixed. Sometimes, only the projection of the fibers is rotated in 3d to show some interesting configurations more clearly, e.g., that a Hopf torus has a hole like a regular torus. In this case, the base space also maintains its orientation in space. Since a rotation in 3d does not change the configuration of the fibers, in this kind of animation, the points on the base space also remain fixed. Sometimes, both types of animations are combined, e.g., when the projection of one or more Clifford tori is rotated in 3d while the base points of the Clifford tori also rotate on the base space. In this case, the base space will only show the movement of the base points on the base space and not the 3d rotation of the projection of the fibers.

To enhance the 3d depth impression, the program displays the shadows of the fibers and base points by default. This is done by way of a two-pass rendering algorithm in which the geometry is rendered twice. Depending on the speed of the GPU, displaying shadows might slow down the rendering significantly. If this is the case, the rendering of shadows can be switched off, saving one render pass and thus speeding up the rendering.

Some of the animations render complex geometries with a very large number of polygons. This can cause the rendering to become slow on some types of GPU. To speed up the rendering process, the amount of details that are rendered can be controlled in three granularities (coarse, medium, and fine). Devices with relatively small screens and relatively low-powered GPUs, such as phones or tablets, should typically select coarse details. Standard GPUs should select medium details (the default). High-powered GPUs on large screens may benefit from fine details.

By default, the base space and base points are displayed as described above. If desired, the display of the base space and base points can be switched off so that only the fibers are displayed.

During the animation of the Hopf fibration, sometimes multiple fibers that are very close to each other are displayed. This can create disturbing aliasing artifacts that are especially noticeable when the fibers are moving or turning slowly. Therefore, by default, the rendering is performed using anti-aliasing. This typically has a negligible effect on the rendering speed. However, if shadows have already been switched off, coarse details have been selected, and the rendering is still slow, anti-aliasing also can be switched off to check whether it has a noticeable effect on the rendering speed.

This program was inspired by Niles Johnson's visualization of the Hopf fibration (https://nilesjohnson.net/hopf.html).

## OPTIONS
hopffibration accepts the following options:

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

--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 20000, or 1/50th second.

The following options determine whether shadows are displayed.

--shadows

Display the fibers, base space, and base points with shadows (default).

--no-shadows

Display the fibers, base space, and base points without shadows.

The following three options are mutually exclusive. They determine with what level of detail the fibers, base space, and base points are rendered.

--details coarse

Render the fibers, base space, and base points with a level of detail that is suitable for low-powered GPUs and small screens, e.g., phones or tablets.

--details medium

Render the fibers, base space, and base points with a level of detail that is suitable for regular GPUs (default).

--details fine

Render the fibers, base space, and base points with a level of detail that is suitable for high-powered GPUs and large screens.

The following options determine whether the base space and base points are displayed.

--base-space

Display the base space and base points (default).

--no-base-space

Do not display the base space and base points.

The following options determine whether anti-aliasing is used to display the fibers, base space, and base points.

--anti-aliasing

Display the fibers, base space, and base points with anti-aliasing (default).

--no-anti-aliasing

Display the fibers, base space, and base points without anti-aliasing.

The following two options are mutually exclusive. They determine how the fibers, base space, and base points are projected from 3d to 2d (i.e., to the screen).

--perspective

Project the fibers, base space, and base points from 3d to 2d using a perspective projection (default).

--orthographic

Project the fibers, base space, and base points from 3d to 2d using a orthographic projection.

--fps

Display the current frame rate, CPU load, and polygon count.

## INTERACTION
If you run this program in standalone mode, you can rotate the fibers by dragging the mouse while pressing the left mouse button.

## 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), hypertorus(1)

## FURTHER INFORMATION
•

https://en.wikipedia.org/wiki/Hopf_fibration

•

https://en.wikipedia.org/wiki/Hopf_link

•

https://en.wikipedia.org/wiki/Clifford_torus

•

https://en.wikipedia.org/wiki/Seifert_surface

•

https://en.wikipedia.org/wiki/Dupin_cyclide

•

https://en.wikipedia.org/wiki/3-sphere

## COPYRIGHT
Copyright © 2025 by Carsten Steger. 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
Carsten Steger <carsten@mirsanmir.org>, 06-feb-2025.


hypertorus

package: xscreensaver-modules-gl

title: hypertorus(6)

summary: Draws a hypertorus that rotates in 4d

text:
# hypertorus(6)

## NAME
hypertorus - Draws a hypertorus that rotates in 4d

## SYNOPSIS
hypertorus [--display host:display.screen] [--install] [--visual visual] [--window] [--root] [--window-id number] [--delay usecs] [--fps] [--wireframe] [--surface] [--transparent] [--solid] [--bands] [--spirals-{1,2,4,8,16}] [--onesided] [--twosided] [--colorwheel] [--change-colors] [--perspective-3d] [--orthographic-3d] [--perspective-4d] [--orthographic-4d] [--speed-wx float] [--speed-wy float] [--speed-wz float] [--speed-xy float] [--speed-xz float] [--speed-yz float]

## DESCRIPTION
The hypertorus program shows the Clifford torus as it rotates in 4d. The Clifford torus is a torus lies on the "surface" of the hypersphere in 4d. The program projects the 4d torus to 3d using either a perspective or an orthographic projection. Of the two alternatives, the perspective projection looks much more appealing. In orthographic projections the torus degenerates into a doubly covered cylinder for some angles. The projected 3d torus can then be projected to the screen either perspectively or orthographically.

There are three display modes for the torus: mesh (wireframe), solid, or transparent. Furthermore, the appearance of the torus can be as a solid object or as a set of see-through bands or see-through spirals. Finally, the colors with with the torus is drawn can be set to one-sided, two-sided, or to a color wheel. The colors can be static or changing dynamically. In one-sided color mode, the torus is drawn with the same color on the inside and the outside. In two-sided color mode, the torus is drawn with red on the outside and green on the inside if static colors are used. If changing colors are used, dynamically varying complementary colors are used for the two sides. This mode enables you to see that the 3d projection of the torus turns inside-out as it rotates in 4d. The color wheel mode draws the torus with a fully saturated color wheel. If changing colors are used, the colors of the color wheel are varying dynamically. The color wheel mode gives a very nice effect when combined with the see-through bands or see-through spirals mode.

Finally, the rotation speed for each of the six planes around which the torus rotates can be chosen.

This program is inspired by Thomas Banchoff's book "Beyond the Third Dimension: Geometry, Computer Graphics, and Higher Dimensions", Scientific American Library, 1990.

## OPTIONS
hypertorus accepts the following options:

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

--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 25000, or 1/40th second.

The following three options are mutually exclusive. They determine how the torus is displayed.

--wireframe

Display the torus as a wireframe mesh.

--surface

Display the torus as a solid surface (default).

--transparent

Display the torus as a transparent surface.

The following seven options are mutually exclusive. They determine the appearance of the torus.

--solid

Display the torus as a solid object.

--bands

Display the torus as see-through bands (default).

--spirals-1, --spirals-2, --spirals-4, --spirals-8, --spirals-16

Display the torus as see-through spirals with the indicated number of spirals.

The following three options are mutually exclusive. They determine how to color the torus.

--onesided

Display the torus with a single color.

--twosided

Display the torus with two colors: one color on the outside and the complementary on the inside. For static colors, the colors are red and green.

--colorwheel

Display the torus with a fully saturated color wheel (default). If the torus is displayed as see-through bands, each band will be displayed with a different color. Likewise, if the torus is displayed as see-through spirals, each spiral will receive a different color.

The following options determine whether the colors with which the torus is displayed are static or are changing dynamically.

--change-colors

Change the colors with which the torus is displayed dynamically.

--no-change-colors

Use static colors to display the torus (default).

The following two options are mutually exclusive. They determine how the torus is projected from 3d to 2d (i.e., to the screen).

--perspective-3d

Project the torus from 3d to 2d using a perspective projection (default).

--orthographic-3d

Project the torus from 3d to 2d using an orthographic projection.

The following two options are mutually exclusive. They determine how the torus is projected from 4d to 3d.

--perspective-4d

Project the torus from 4d to 3d using a perspective projection (default).

--orthographic-4d

Project the torus from 4d to 3d using an orthographic projection.

The following six options determine the rotation speed of the torus around the six possible hyperplanes. The rotation speed is measured in degrees per frame. The speeds should be set to relatively small values, e.g., less than 4 in magnitude.

--speed-wx float

Rotation speed around the wx plane (default: 1.1).

--speed-wy float

Rotation speed around the wy plane (default: 1.3).

--speed-wz float

Rotation speed around the wz plane (default: 1.5).

--speed-xy float

Rotation speed around the xy plane (default: 1.7).

--speed-xz float

Rotation speed around the xz plane (default: 1.9).

--speed-yz float

Rotation speed around the yz plane (default: 2.1).

--fps

Display the current frame rate, CPU load, and polygon count.

## INTERACTION
If you run this program in standalone mode you can rotate the hypertorus by dragging the mouse while pressing the left mouse button. This rotates the hypertorus in 3d, i.e., around the wx, wy, and wz planes. If you press the shift key while dragging the mouse with the left button pressed the hypertorus is rotated in 4d, i.e., around the xy, xz, and yz planes. To examine the hypertorus at your leisure, it is best to set all speeds to 0. Otherwise, the hypertorus will rotate while the left mouse button is not pressed.

## 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)

## COPYRIGHT
Copyright © 2003-2020 by Carsten Steger. 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
Carsten Steger <carsten@mirsanmir.org>, 11-jan-2020.

branch: sisyphus


hypnowheel

title: hypnowheel(6)

text:
# hypnowheel(6)

## NAME
hypnowheel - draws overlapping, translucent spiral patterns

## SYNOPSIS
hypnowheel [--display host:display.screen] [--visual visual] [--window] [--root] [--window-id number] [--delay int] [--layers int] [--count int] [--twistiness float] [--speed float] [--wander] [--symmetric] [--fps]

## DESCRIPTION
Draws a series of overlapping, translucent spiral patterns. The tightness of their spirals fluctuates in and out.

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

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

--delay int

Delay between frames, in microseconds. Default 20000.

--layers int

How many different spirals to draw at once. Default 4.

--count int

How many arms each spiral should have. Default 11.

--twistiness float

How tightly wound the spirals can become, measured in rotations. Default 4.0 (four times around).

--speed ratio

Less than 1 for slower, greater than 1 for faster. Default 1.

--wander

If specified, then the centers of the spirals will wander around, rather than them all having the same origin.

--symmetric

If specified, then each pair of left-wrapping and right-wrapping spirals will be mirror images of each other.

--fps

Display the current frame rate, CPU load, and polygon count.

## 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)

## COPYRIGHT
Copyright © 2008 by Jamie Zawinski. 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
Jamie Zawinski.


jigglypuff

title: jigglypuff(6)

text:
# jigglypuff(6)

## NAME
jigglypuff - save your screen by tormenting your eyes.

## SYNOPSIS
jigglypuff [--display host:display.screen] [--visual visual] [--window] [--root] [--window-id number] [-delay number] [-cycles number] [-wireframe] [-fps] [-color colorspec] [-spooky] [-complexity n] [-speed n] [-spherism n] [-hold n] [-distance n] [-damping n]

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

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

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

--delay number

Per-frame delay, in microseconds. Default: 20000 (0.02 seconds.).

--wireframe

Render in wireframe instead of solid. Default: render solid.

--fps

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. Default: 0

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

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

-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

## 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)

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

## AUTHOR
By Keith Macleod


jigsaw

title: jigsaw(6)

summary: permute an image like a jigsaw puzzle

text:
# jigsaw(6)

## NAME
jigsaw - permute an image like a jigsaw puzzle

## SYNOPSIS
jigsaw [--display host:display.screen] [--delay usecs] [--speed ratio] [--complexity ratio] [--resolution int] [--thickness float] [--no-wobble] [--fps] [--visual visual] [--window] [--root] [--window-id number]

## DESCRIPTION
The jigsaw program loads an image, carves it up into a jigsaw puzzle, shuffles it, and then solves it.

The image that it manipulates will be grabbed from the portion of the screen underlying the window, or from the system's video input, or from a random file on disk, as indicated by the grabDesktopImages, grabVideoFrames, and chooseRandomImages options in the ~/.xscreensaver file; see xscreensaver-settings(1) for more details.

## OPTIONS
jigsaw accepts the following options:

--delay microseconds

How long to wait between animation frames; default 20000.

--speed ratio

Less than 1 for slower, greater than 1 for faster. Default 1.

--complexity ratio

Less than 1 for simpler puzzles (fewer pieces), greater than 1 for more complex puzzles (more pieces). Default 1.

--resolution ratio

Smoothness of the edges of the pieces. Less than 1 for rougher pieces (fewer polygons), greater than 1 for more smoother pieces (more polygons). Default 1.

--thickness float

Thickness of the puzzle pieces (relative to their width). Default 0.06.

--no-wobble

Keep the display stationary instead of very slowly wobbling back and forth.

--fps

Display the current frame rate, polygon count, and CPU load.

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

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

## 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), xscreensaver-settings(1), xscreensaver-getimage(6)

## COPYRIGHT
Copyright © 1997 by Jamie Zawinski. 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
Jamie Zawinski <jwz@jwz.org>, 25-Nov-97.


title: juggler3d(6)

summary: juggling man screen saver.

text:
# juggler3d(6)

## NAME
juggler3d - juggling man screen saver.

## SYNOPSIS
juggler3d [--display host:display.screen ] [--root ] [--window-id number] [--window ] [--mono ] [--install | --noinstall ] [--visual visual ] [--window-id id ] [--pattern pattern ] [--tail number ] [--real | --no-real ] [--describe | --no-describe ] [--balls | --no-balls ] [--clubs | --no-clubs ] [--torches | --no-torches ] [--knives | --no-knives ] [--rings | --no-rings ] [--bballs | --no-bballs ] [--count count ] [--cycles cycles ] [--delay delay ] [--ncolors ncolors ] [--fps]

## DESCRIPTION
Draws a stick-man juggling various collections of objects.

## OPTIONS
juggler3d accepts the following options:

--display host:display.screen

X11 display to use. Overrides DISPLAY environment variable.

--root

Draw on the root window.

--window-id number

Draw on the specified window.

--window

Draw on a newly-created X window. This is the default.

--mono

Draw in monochrome.

--install | --noinstall

Turn on/off installing colormap.

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

--window-id id

Draw on an already existing X window.

--pattern " pattern "

Specify juggling pattern in annotated site-swap notation. In site-swap notation, the "height" of each throw is given. E.g., "3" is the height needed to juggle a 3-Cascade. Note that these sequences need to be chosen carefully, to avoid collisions. Annotations indicate relative hand movements or tricks:

-

Inside throw (default)

+

Outside throw

=

Cross Throw

&

Cross Catch

x

Cross Throw and Catch

_

Bounce

--pattern "[ pattern ]"

Specify juggling pattern in annotated Adam notation. Adam notation is a little harder to visualize. Each integer n represents a cyclic permutation of (0...n). The equivalent site-swap value is determined by calculating how many of the permutations it takes to get back to the identity. The largest number used is the same as the number of objects in the pattern. The advantage of Adam notation is that these sequences do not need to be chosen carefully, since all possible sequences are juggle-able. Annotations are the same as in site-swap notation. For example, both of these describe a 3-Shower:

--pattern "+5 1"

--pattern "[+3 1]" For further examples, see the portfolio list in the source code.

--tail number

Minimum Trail Length. 0 - 100. Default: 1. Objects may override this, for example flaming torches always leave a trail.

--real|--no-real

Turn on/off real-time juggling. Deprecated. There should be no need to turn off real-time juggling, even on slow systems. Adjust speed using --count above.

--describe|--no-describe

Turn on/off pattern descriptions.

--balls|--no-balls

Turn on/off Balls.

--clubs|--no-clubs

Turn on/off Clubs.

--torches|--no-torches

Turn on/off Flaming Torches.

--knives|--no-knives

Turn on/off Knives.

--rings|--no-rings

Turn on/off Rings.

--bballs|--no-bballs

Turn on/off Bowling Balls.

--count number

Speed. 50 - 1000. Default: 200. This determines the expected time interval between a throw and the next catch, in milliseconds.

--cycles number

Performance Length. 50 - 1000. Default: 1000. Setting this smaller will force the juggler to switch patterns (and objects) more often.

--delay delay

Additional delay between frames, in microseconds. Default: 10000. Deprecated. Adjust speed using --count.

--ncolors ncolors

Maximum number of colors to use. Default: 32.

--fps

Display the current frame rate and CPU load.

## 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)

## COPYRIGHT
Copyright © 1996,2000,2002,2004 by Tim Auckland. 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
Tim Auckland.

Converted to OpenGL by Jamie Zawinski, 2009.


kaleidocycle

title: kaleidocycle(6)

summary: draws twistable rings of tetrahedra

text:
# kaleidocycle(6)

## NAME
kaleidocycle - draws twistable rings of tetrahedra

## SYNOPSIS
kaleidocycle [--display host:display.screen] [--window] [--root] [--window-id number] [--visual visual] [--delay microseconds] [--count number] [--speed number] [--wander] [--no-wander] [--spin axes] [--no-spin] [--wireframe] [--fps]

## DESCRIPTION
The kaleidocycle program draws a ring composed of tetrahedra connected at the edges that twists and rotates toroidally. Segments are occasionally inserted or removed.

## OPTIONS
kaleidocycle accepts the following options:

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

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

--count number

The initial number of segments. Default 16. Must be 8 or greater, and an even number.

--speed number

Adjust the animation speed. 0.5 for half as fast, 2.0 for twice as fast.

--wander

Move the text around the screen. This is the default.

--no-wander

Keep the text centered on the screen.

--spin

Which axes around which the text should spin. The default is "Z", meaning rotate the object the plane of the screen only.

--no-spin

Don't spin the text at all: the same as --spin "".

--wireframe

Render in wireframe instead of solid.

--fps

Display the current frame rate, CPU load, and polygon count.

## 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)

## COPYRIGHT
Copyright © 2001-2013 by Jamie Zawinski. 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
Jamie Zawinski <jwz@jwz.org>


kallisti

title: kallisti(6)

summary: the golden apple of discord.

text:
# kallisti(6)

## NAME
kallisti - the golden apple of discord.

## SYNOPSIS
kallisti [--display host:display.screen] [--visual visual] [--window] [--root] [--delay number] [--speed number] [--wander] [--spin 0] [--spin [XYZ]] [--spin Z] [--spin XY] [--spin XZ] [--spin YZ] [--spin XYZ] [--fps]

## DESCRIPTION
The golden apple of discord.

Greek goddess Eris was not invited to a wedding; her retort was to toss in a golden apple, inscribed: "to the fairest". Hera, Athena and Aphrodite squabbled over it; Zeus noped out, telling Paris of Troy to decide. They all cheated, but Aphrodite won by letting Paris abduct and marry Helen of Sparta. The Greeks objected to this, leading to the Trojan War.

Do you want to launch a thousand ships? Because this is how you launch a thousand ships.

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

--window

Draw on a newly-created window. This is the default.

--root

Draw on the root window.

--delay number

Per-frame delay, in microseconds. Default: 30000 (0.03 seconds).

--speed number

Animation speed. 2.0 means twice as fast, 0.5 means half as fast.

--wander | --no-wander

Whether the object should wander around the screen.

--spin 0

Don't rotate.

--spin [XYZ]

Around which axes should the object spin?

--spin X

Rotate around X axis.

--spin Y

Rotate around Y axis. Default.

--spin Z

Rotate around Z axis.

--spin XY

Rotate around X and Y axes.

--spin XZ

Rotate around X and Z axes.

--spin YZ

Rotate around Y and Z axes.

--spin XYZ

Rotate around all three axes.

--fps | --no-fps

Whether to show a frames-per-second display at the bottom of the screen.

## 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)

## COPYRIGHT
Copyright © 2023 by Jamie Zawinski and Jared Williams. 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
Code by Jamie Zawinski; model by Jared Williams.


klein

title: klein(6)

summary: Draws a 4d Klein bottle.

text:
# klein(6)

## NAME
klein - Draws a 4d Klein bottle.

## SYNOPSIS
klein [--display host:display.screen] [--install] [--visual visual] [--window] [--root] [--window-id number] [--delay usecs] [--fps] [--klein-bottle bottle-name] [-figure-8] [-pinched-torus] [-lawson] [--mode display-mode] [--wireframe] [--surface] [--transparent] [--appearance appearance] [--solid] [--bands] [--colors color-scheme] [--onesided] [--twosided] [--rainbow] [--depth] [--change-colors] [--view-mode view-mode] [--walk] [--turn] [--walk-turn] [--orientation-marks] [--projection-3d mode] [--perspective-3d] [--orthographic-3d] [--projection-4d mode] [--perspective-4d] [--orthographic-4d] [--speed-wx float] [--speed-wy float] [--speed-wz float] [--speed-xy float] [--speed-xz float] [--speed-yz float] [--walk-direction float] [--walk-speed float]

## DESCRIPTION
The klein program shows three different Klein bottles in 4d: the figure-8 Klein bottle, the pinched torus Klein bottle, or the Lawson Klein bottle. You can walk on the Klein bottle, see it turn in 4d, or walk on it while it turns in 4d. The figure-8 Klein bottle is well known in its 3d form. The 4d form used in this program is an extension of the 3d form to 4d that does not intersect itself in 4d (which can be seen in the depth colors mode when using static colors). The pinched torus Klein bottle also does not intersect itself in 4d (which can be seen in the depth colors mode when using static colors). The Lawson Klein bottle, on the other hand, does intersect itself in 4d. Its primary use is that it has a nice appearance for walking and for turning in 3d.

The Klein bottle is a non-orientable surface. To make this apparent, the two-sided color mode can be used. Alternatively, orientation markers (curling arrows) can be drawn as a texture map on the surface of the Klein bottle. While walking on the Klein bottle, you will notice that the orientation of the curling arrows changes (which it must because the Klein bottle is non-orientable).

The program projects the 4d Klein bottle to 3d using either a perspective or an orthographic projection. Which of the two alternatives looks more appealing depends on the viewing mode and the Klein bottle. For example, the Lawson Klein bottle looks nicest when projected perspectively. The figure-8 Klein bottle, on the other hand, looks nicer while walking when projected orthographically from 4d. For the pinched torus Klein bottle, both projection modes give equally acceptable projections.

The projected Klein bottle can then be projected to the screen either perspectively or orthographically. When using the walking modes, perspective projection to the screen should be used.

There are three display modes for the Klein bottle: mesh (wireframe), solid, or transparent. Furthermore, the appearance of the Klein bottle can be as a solid object or as a set of see-through bands. Finally, the colors with with the Klein bottle is drawn can be set to one-sided, two-sided, rainbow, or depth. In one-sided mode, the Klein bottle is drawn with the same color on both "sides." In two-sided mode (using static colors), the Klein bottle is drawn with red on one "side" and green on the "other side." Of course, the Klein bottle only has one side, so the color jumps from red to green along a curve on the surface of the Klein bottle. This mode enables you to see that the Klein bottle is non-orientable. If changing colors are used in two-sided mode, changing complementary colors are used on the respective "sides." The rainbow color mode (using static colors) draws the Klein bottle with a color wheel of fully saturated rainbow colors. If changing colors are used, the color wheel's colors change dynamically. The rainbow color mode gives a very nice effect when combined with the see-through bands mode or with the orientation markers drawn. The depth color mode draws the Klein bottle with colors that are chosen according to the 4d "depth" of the points. If static colors are used, this mode enables you to see that the figure-8 and pinched torus Klein bottles do not intersect themselves in 4d, while the Lawson Klein bottle does intersect itself.

The rotation speed for each of the six planes around which the Klein bottle rotates can be chosen. For the walk-and-turn mode, only the rotation speeds around the true 4d planes are used (the xy, xz, and yz planes).

Furthermore, in the walking modes the walking direction in the 2d base square of the Klein bottle and the walking speed can be chosen.

This program is somewhat inspired by Thomas Banchoff's book "Beyond the Third Dimension: Geometry, Computer Graphics, and Higher Dimensions", Scientific American Library, 1990.

## OPTIONS
klein accepts the following options:

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

--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 10000, or 1/100th second.

--fps

Display the current frame rate, CPU load, and polygon count.

The following three options are mutually exclusive. They determine which Klein bottle is displayed.

--klein-bottle random

Display a random Klein bottle (default).

--klein-bottle figure-8 (Shortcut: --figure-8)

Display the figure-8 Klein bottle.

--klein-bottle pinched-torus (Shortcut: --pinched-torus)

Display the pinched torus Klein bottle.

--klein-bottle lawson (Shortcut: --lawson)

Display the Lawson Klein bottle.

The following four options are mutually exclusive. They determine how the Klein bottle is displayed.

--mode random

Display the Klein bottle in a random display mode (default).

--mode wireframe (Shortcut: --wireframe)

Display the Klein bottle as a wireframe mesh.

--mode surface (Shortcut: --surface)

Display the Klein bottle as a solid surface.

--mode transparent (Shortcut: --transparent)

Display the Klein bottle as a transparent surface.

The following three options are mutually exclusive. They determine the appearance of the Klein bottle.

--appearance random

Display the Klein bottle with a random appearance (default).

--appearance solid (Shortcut: --solid)

Display the Klein bottle as a solid object.

--appearance bands (Shortcut: --bands)

Display the Klein bottle as see-through bands.

The following five options are mutually exclusive. They determine how to color the Klein bottle.

--colors random

Display the Klein bottle with a random color scheme (default).

--colors one-sided (Shortcut: --onesided)

Display the Klein bottle with a single color.

--colors two-sided (Shortcut: --twosided)

Display the Klein bottle with two colors: one color one "side" and the complementary color on the "other side." For static colors, the colors are red and green.

--colors rainbow (Shortcut: --rainbow)

Display the Klein bottle with fully saturated rainbow colors. If the Klein bottle is displayed as see-through bands, each band will be displayed with a different color.

--colors depth (Shortcut: --depth)

Display the Klein bottle with colors chosen depending on the 4d "depth" of the points.

The following options determine whether the colors with which the Klein bottle is displayed are static or are changing dynamically.

--change-colors

Change the colors with which the Klein bottle is displayed dynamically.

--no-change-colors

Use static colors to display the Klein bottle (default).

The following four options are mutually exclusive. They determine how to view the Klein bottle.

--view-mode random

View the Klein bottle in a random view mode (default).

--view-mode walk (Shortcut: --walk)

View the Klein bottle as if walking on its surface.

--view-mode turn (Shortcut: --turn)

View the Klein bottle while it turns in 4d.

--view-mode walk-turn (Shortcut: --walk-turn)

View the Klein bottle as if walking on its surface. Additionally, the Klein bottle turns around the true 4d planes (the xy, xz, and yz planes).

The following options determine whether orientation marks are shown on the Klein bottle.

--orientation-marks

Display orientation marks on the Klein bottle.

--no-orientation-marks

Don't display orientation marks on the Klein bottle (default).

The following three options are mutually exclusive. They determine how the Klein bottle is projected from 3d to 2d (i.e., to the screen).

--projection-3d random

Project the Klein bottle from 3d to 2d using a random projection mode (default).

--projection-3d perspective (Shortcut: --perspective-3d)

Project the Klein bottle from 3d to 2d using a perspective projection.

--projection-3d orthographic (Shortcut: --orthographic-3d)

Project the Klein bottle from 3d to 2d using an orthographic projection.

The following three options are mutually exclusive. They determine how the Klein bottle is projected from 4d to 3d.

--projection-4d random

Project the Klein bottle from 4d to 3d using a random projection mode (default).

--projection-4d perspective (Shortcut: --perspective-4d)

Project the Klein bottle from 4d to 3d using a perspective projection.

--projection-4d orthographic (Shortcut: --orthographic-4d)

Project the Klein bottle from 4d to 3d using an orthographic projection.

The following six options determine the rotation speed of the Klein bottle around the six possible hyperplanes. The rotation speed is measured in degrees per frame. The speeds should be set to relatively small values, e.g., less than 4 in magnitude. In walk mode, all speeds are ignored. In walk-and-turn mode, the 3d rotation speeds are ignored (i.e., the wx, wy, and wz speeds). In walk-and-turn mode, smaller speeds must be used than in the turn mode to achieve a nice visualization. Therefore, in walk-and-turn mode the speeds you have selected are divided by 5 internally.

--speed-wx float

Rotation speed around the wx plane (default: 1.1).

--speed-wy float

Rotation speed around the wy plane (default: 1.3).

--speed-wz float

Rotation speed around the wz plane (default: 1.5).

--speed-xy float

Rotation speed around the xy plane (default: 1.7).

--speed-xz float

Rotation speed around the xz plane (default: 1.9).

--speed-yz float

Rotation speed around the yz plane (default: 2.1).

The following two options determine the walking speed and direction.

--walk-direction float

The walking direction is measured as an angle in degrees in the 2d square that forms the coordinate system of the surface of the Klein bottle (default: 7.0).

--walk-speed float

The walking speed is measured in percent of some sensible maximum speed (default: 20.0).

## INTERACTION
If you run this program in standalone mode in its turn mode, you can rotate the Klein bottle by dragging the mouse while pressing the left mouse button. This rotates the Klein bottle in 3D, i.e., around the wx, wy, and wz planes. If you press the shift key while dragging the mouse with the left button pressed the Klein bottle is rotated in 4D, i.e., around the xy, xz, and yz planes. To examine the Klein bottle at your leisure, it is best to set all speeds to 0. Otherwise, the Klein bottle will rotate while the left mouse button is not pressed. This kind of interaction is not available in the two walk modes.

## 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)

## COPYRIGHT
Copyright © 2005-2020 by Carsten Steger. 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
Carsten Steger <carsten@mirsanmir.org>, 11-jan-2020.


lament

title: lament(6)

summary: animates the Lament Configuration

text:
# lament(6)

## NAME
lament - animates the Lament Configuration

## SYNOPSIS
lament [--display host:display.screen] [--window] [--root] [--window-id number][--install] [--visual visual] [--delay microseconds] [--fps] [--texture] [--no-texture] [--wireframe]

## DESCRIPTION
The lament program draws an animation of a particular puzzle box repeatedly solving itself.

## OPTIONS
lament accepts the following options:

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

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

--texture

Use texture maps. This is the default.

--no-texture

Do not use texture maps. This is boring and wrong.

--wireframe

Only draw outlines.

--delay microseconds

How long to pause between frames. Default is 20000, or 0.02 second.

--fps

Display the current frame rate, CPU load, and polygon count.

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

## BUGS
This hack is glacially slow on machines lacking hardware texture support.

Occasionally opens doors, admitting theologians of the Order of the Gash.

## SEE ALSO
X(1), xscreensaver(1)

## COPYRIGHT
Copyright © 1998 by Jamie Zawinski. 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
Jamie Zawinski <jwz@jwz.org>, 25-Jul-98.


lavalite

title: lavalite(6)

summary: 3D OpenGL simulation of a Lavalite.

text:
# lavalite(6)

## NAME
lavalite - 3D OpenGL simulation of a Lavalite.

## SYNOPSIS
lavalite [--display host:display.screen] [--window] [--root] [--window-id number] [--visual visual] [--delay microseconds] [--fps] [--style style ] [--spin xyz ] [--no-spin ] [--speed float ] [--resolution integer ] [--count integer ] [--no-smooth ] [--wireframe ] [--impatient ] [--lava-color color ] [--fluid-color color ] [--base-color color ] [--table-color color ] [--fluid-texture filename ] [--base-texture filename ] [--table-texture filename ]

## DESCRIPTION
The lavalite program displays a 3D simulation of the famous lamp of the same name. It requires a fast computer with fast OpenGL support.

## OPTIONS
lavalite accepts the following options:

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

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

--style style

Specify which model of lamp to draw. Available models are: Classic, Giant, Cone, and Rocket. Default: random.

--spin xyz

Around which axes the model should auto-spin. Defaults to "Z", meaning it rotates horizontally, but otherwise pitch or roll.

--no-spin

Same as --spin ''.

--speed float

A number controlling the frequency at which new blobs launch: you can think of this as being related to the the heat of the lightbulb in the base. Default: 0.003.

--delay usecs

The delay between steps of the animation; default is 30000 (0.03 second.)

--resolution integer

The size of the grid from which the mesh is created that is used to polygonize the blobs. higher values will give very smooth looking blobs, at the expense of speed. Default: 40. The options "-resolution 10 -no-smooth" look kind of interesting.

--fps

Display the current frame rate, CPU load, and polygon count.

--count integer

The maximum number of blobs that can be in motion at once. Default: 3.

--no-smooth

Turn off smoothing: the objects in the scene will be facetted.

--wireframe

Render all objects in wireframe instead of as solids.

--impatient

Provide this option if you are. This will pre-warm the lamp, so when it starts up, the first frame will show a blob already halfway up the lamp.

--lava-color color

Specifies the color of the blobbies. Default: red.

--fluid-color color

Specifies the color of the fluid that the blobbies float in. Default: light blue.

--base-color color

Specifies the color of the lamp base, and the cap on top of the bottle. Default: very dark gray.

--table-color color

Specifies the color of the table that the lamp is sitting on. Default: black (meaning it is invisible.)

--fluid-texture filename

An image file to wrap around the glass. Note that on most systems, GL textures must have dimensions that are a power of two.

Note also that colors and textures are both applied: so, if you apply a texture and it isn't showing up, try specifying the corresponding color as "white". Otherwise, the combination of the two might be too dark to see.

--base-texture filename

An image file to wrap around the base of the lamp, and the cap on top of the bottle.

--table-texture texture

An image file to spread across the table that the lamp is sitting on.

## 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),

https://www.mathmos.com/

https://web.archive.org/web/20010418035116/https%3A//www.lavarnd.org/

## COPYRIGHT
Copyright © 2002 by Jamie Zawinski. 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.

LAVA LITE® and the configuration of the LAVA® brand motion lamp are registered trademarks of Haggerty Enterprises, Inc. The configuration of the globe and base of the motion lamp are registered trademarks of Haggerty Enterprises, Inc. in the U.S.A. and in other countries around the world.

## AUTHOR
Jamie Zawinski <jwz@jwz.org>


lockward

title: lockward(6)

summary: Rotating spinning color-cycling things

text:
# lockward(6)

## NAME
lockward - Rotating spinning color-cycling things

## SYNOPSIS
lockward [--display displayspec] [--root] [--window-id number] [--window] [--visual arg] [--window-id arg] [--delay usec] [--pair] [--fps] [--blink | --no-blink] [--rotateidle-min msec] [--rotateidle-max msec] [--blinkidle-min msec] [--blinkidle-max msec] [--blinkdwell-min msec] [--blinkdwell-max msec]

## DESCRIPTION
lockward draws a spinning, rotating set of notched wheels overlaid with some flashing effects, using OpenGL. It's a sort of cross between the wards in a combination lock and those old information displays that animated via polarized light.

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

--window

Draw on a newly-created window (default).

--root

Draw on the root window.

--window-id number

Draw on the specified window.

--delay microseconds

Per-frame delay, in microseconds. Default: 20000 (50 frames/sec).

--blink | --no-blink

Enables/disables the blinking effects. Default: Enabled.

--fps

Display the current frame rate, CPU load, and polygon count.

--rotateidle-min milliseconds

--rotateidle-max milliseconds

The minimum and maximum time each spinner will sit idle, in milliseconds. Defaults: Min 1000, max 6000.

--blinkidle-min milliseconds

--blinkidle-max milliseconds

The minimum and maximum time between blinking effects, in milliseconds. Defaults: Min 1000, max 9000.

--blinkdwell-min milliseconds

--blinkdwell-max milliseconds

The minimum and maximum dwell time for the blinking effects, in milliseconds. This affects how quickly the blinks actually happen. Defaults: Min 100, max 600.

## ENVIRONMENT
DISPLAY

Default host and display number.

XENVIRONMENT

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)

## AUTHORS
Leo L. Schwab <ewhac@best.com>


logarithmiccircles

title: logarithmiccircles(6)

summary: screen saver.

text:
# logarithmiccircles(6)

## NAME
logarithmiccircles - screen saver.

## SYNOPSIS
logarithmiccircles [--display host:display.screen] [--visual visual] [--window] [--root] [--delay number] [--speed number] [--scale number] [--fps]

## DESCRIPTION
Zooming black and white circles.

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

--window

Draw on a newly-created window. This is the default.

--root

Draw on the root window.

--delay number

Per-frame delay, in microseconds. Default: 20000 (0.02 seconds).

--speed number

Animation speed. 2.0 means twice as fast, 0.5 means half as fast.

--scale number

Frame buffer resolution. 0.5 means halve the resolution for better performance but lower quality output. Default 1.0, full quality.

--fps | --no-fps

Whether to show a frames-per-second display at the bottom of the screen.

## 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), https://www.shadertoy.com/view/mljcWR

## COPYRIGHT
Copyright © 2023 by mrange. 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
mrange.


mapscroller

title: mapscroller(6)

text:
# mapscroller(6)

## NAME
mapscroller - a slowly-scrolling map of a random place on Earth.

## SYNOPSIS
mapscroller [--display host:display.screen] [--visual visual] [--window] [--root] [--window-id number] [--delay number] [--speed number] [--duration seconds] [--map-level number] [--url-template URL] [--origin location] [--no-titles] [--no-arrow] [--fps]

## DESCRIPTION
A slowly-scrolling map of a random place on Earth. The map images are loaded from openstreetmap.org, or any compatible service.

The Earth is very big, and full of Things.

As you ponder these maps, remember that traffic always expands to fill all available lanes, every car is a policy failure, and the concept of "jaywalking" was invented for profit by auto industry lobbyists in the 1920s.

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

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

--delay number

Per-frame delay, in microseconds. Default: 30000 (0.03 seconds).

--speed number

Scrolling speed. 2.0 means twice as fast, 0.5 means half as fast.

--duration seconds

When in one of the random modes, re-select the map position every N seconds. Default 20 minutes.

--map-level number

Larger numbers are zoomed in more. 5 - 18, default 15.

--url-template URL

The map tile server to use. Default: Open Street Map. You can find others here: https://wiki.openstreetmap.org/wiki/Tiles#Servers

--origin location

"Random" means a fully random location somewhere on Earth, excluding the oceans. "Random-city" means to select from a built-in list of several hundred major cities. This is the default.

A location can be specified as a latitude/longitude pair (floats) or as the name of one of the built-in cities (case insensitive).

Use --origin help to see the full list.

--titles | --no-titles

Whether to show the current coordinates and nearest city in the upper left. Default true.

--arrow | --no-arrow

Whether to show a directional arrow in the middle of the screen. Default true.

--fps | --no-fps

Whether to show a frames-per-second display at the bottom of the screen.

## FILES
The map tile images are loaded from the network and cached on disk. Up to 20MB of them are retained. Depending on your operating system, the cache directory will be one of:

```
        $HOME/.cache/xscreensaver/mapscroller/

        $HOME/tmp/.xscreensaver-mapscroller/

        $HOME/.xscreensaver-mapscroller.cache/

        $HOME/Library/Caches/org.jwz.xscreensaver.mapscroller/
```

## BUGS
Some parts of the world are boring.

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

HTTP_PROXY, HTTPS_PROXY, http_proxy, or https_proxy

to get the default proxy host and port.

## SEE ALSO
X(1), xscreensaver(1), https://www.openstreetmap.org/

## COPYRIGHT
Copyright © 2022 by Jamie Zawinski. 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.

OpenStreetMap map data is © OpenStreetMap contributors under the Open Database License.

## AUTHOR
Jamie Zawinski.


title: maze3d(6)

summary: A 3D maze.

text:
# maze3d(6)

## NAME
maze3d - A 3D maze.

## SYNOPSIS
maze3d [--display host:display.screen] [--visual visual] [--window] [--root] [--window-id number] [--speed float] [--delay number] [--fps] [--rows number] [--columns number] [--overlay] [--wall-texture texture] [--floor-texture texture] [--ceiling-texture texture] [--drop-acid] [--drop-acid-walls] [--drop-acid-floor] [--drop-acid-ceiling] [--inverters number] [--rats number]

## DESCRIPTION
A recreation of the 3D Maze screensaver from Windows 95.

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

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

--speed number

Speed of the dungeon crawl. 2 is twice as fast, 0.5 is half as fast.

--delay number

Per-frame delay, in microseconds. Default: 20000 (0.02 seconds).

--fps | --no-fps

Display the current frame rate and CPU load.

--rows number

The number of rows in the maze. Default: 12.

--columns number

The number of columns in the maze. Default: 12.

--overlay

Overlays a minimap of the maze on the screen.

--wall-texture texture

Sets the wall texture. texture can be a path to an image file, or it can be one of the built-in textures (see TEXTURES below).

--floor-texture texture

Sets the floor texture. texture can be a path to an image file, or it can be one of the built-in textures (see TEXTURES below).

--ceiling-texture texture

Sets the ceiling texture. texture can be a path to an image file, or it can be one of the built-in textures (see TEXTURES below).

--drop-acid-walls

Continuously shifts the hue of the wall texture. (This looks like an LSD trip, hence the name.)

--drop-acid-floor

Continuously shifts the hue of the floor texture.

--drop-acid-ceiling

Continuously shifts the hue of the ceiling texture.

--drop-acid

Turns on all three.

--inverters number

Sets the number of inverters (the spinny grey things that flip the camera upside-down) in the maze. Default: 10.

--rats number

Sets the number of rats, or rather "Bobs", in the maze. Default: 1.

## TEXTURES
The wall, ceiling, and floor textures can be set to one of the following:

brick-wall

A brick wall. This is the default wall texture.

wood-floor

A wooden floor. This is the default floor texture.

ceiling-tiles

Ceiling tiles. This is the default ceiling texture.

You can also specify a path to an image file, instead of using one of the built-in textures.

## 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)

## COPYRIGHT
Copyright © 2018 by sudoer@riseup.net. 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.


menger

title: menger(6)

summary: 3D menger gasket fractal.

text:
# menger(6)

## NAME
menger - 3D menger gasket fractal.

## SYNOPSIS
menger [--display host:display.screen] [--visual visual] [--window] [--root] [--window-id number] [--delay number] [--speed number] [--depth number] [--no-wander] [--no-spin] [--spin [XYZ]] [--wireframe] [--fps]

## DESCRIPTION
This draws the three-dimensional variant of the recursive Menger Gasket, a cube-based fractal object analogous to the Sierpinski Tetrahedron.

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

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

--delay number

Per-frame delay, in microseconds. Default: 30000 (0.03 seconds.).

--speed number

Number of frames before changing shape. Default: 150.

--depth number

Max depth to descend. Default: 3. You probably don't have enough memory for 6.

--wander | --no-wander

Whether the object should wander around the screen.

--spin [XYZ]

Around which axes should the object spin?

--no-spin

None.

--wireframe

Render in wireframe instead of solid.

--fps

Display the current frame rate, CPU load, and polygon count.

## 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)

## COPYRIGHT
Copyright © 2002 by Jamie Zawinski. 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
Jamie Zawinski.


mirrorblob

title: mirrorblob(6)

text:
# mirrorblob(6)

## NAME
mirrorblob - Draws a wobbly blob that distorts the image behind it.

## SYNOPSIS
mirrorblob [--display host:display.screen] [--visual visual] [--window] [--root] [--window-id number] [--wire] [--delay number] [--fog] [--walls] [--colour] [--texture] [--offset-texture] [--blend] [--antialias] [--resolution number] [--bumps number] [--fade-time number] [--hold-time number] [--zoom number] [--fps]

## DESCRIPTION
Draws a wobbling blob, making use of alpha blending, fog, textures, and lighting, plus a ``frames per second'' meter so that you can tell how fast your graphics card is... Requires OpenGL.

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

--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. --wire Render in wireframe instead of solid.

--delay number

Per-frame delay, in microseconds. Default: 10000 (0.01 seconds.).

--fog | --no-fog

Whether to enable fog.

--walls | --no-walls

Add walls for blob to hit.

--colour | --no-colour

Draw coloured blob. If also textured, the texture will have color mixed in.

--texture | --no-texture

Whether to wrap a texture image on the blob.

--offset_texture | --no-offset_texture

Whether to ofset the texture calculations to only use a region of the image

under the blob. This works well with a semi-transparent blob.

--blend | --no-blend

Whether to draw a transparent blob. (see also offset_texture above)

--antialias | --no-antialias

Whether to antialias lines.

--resolution number

Resolution of the tessellation used to calculate and draw the blob. Larger

numbers give a smoother blob but increase calculation times exponentially.

--bumps number

Number of bumps used to distort the blob.

--hold-time number

Time until loading a new image.

--fade-time number

Time taken to transition between images.

--zoom number

Size multiplier for blob.

--fps

Display the current frame rate, CPU load, and polygon count.

## 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)

## COPYRIGHT
Copyright © 2003 by Jon Dowdall. 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
Jon Dowdall.


moebius

title: moebius(6)

summary: Escher's Moebuis Strip II, with ants.

text:
# moebius(6)

## NAME
moebius - Escher's Moebuis Strip II, with ants.

## SYNOPSIS
moebius [--display host:display.screen] [--visual visual] [--window] [--root] [--window-id number] [-delay number] [-solidmoebius] [-wireframe] [-noants] [-fps]

## DESCRIPTION
Another M. C. Escher hack by Marcelo Vianna, this one draws ``Moebius Strip II,'' a GL image of ants walking along the surface of a moebius strip.

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

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

--delay number

Per-frame delay, in microseconds. Default: 20000 (0.02 seconds.).

--solidmoebius

Solid Floor.

--wireframe

Render in wireframe instead of solid.

--noants | --no-noants

Draw Ants. Boolean.

--fps

Display the current frame rate, CPU load, and polygon count.

## 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)

## COPYRIGHT
Copyright © 2002 by Marcelo Vianna. 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
Marcelo Vianna.


moebiusgears

title: moebiusgears(6)

text:
# moebiusgears(6)

## NAME
moebiusgears - draw a moebius strip of interlocking gears.

## SYNOPSIS
moebiusgears [--display host:display.screen] [--window] [--root] [--window-id number][--install] [--visual visual] [--delay usecs] [--speed float] [--no-spin] [--no-wander] [--no-roll] [-count integer] [-teeth integer] [-wireframe] [-fps]

## DESCRIPTION
The moebiusgears program draws a closed, interlinked chain of rotating gears. The layout of the gears follows the path of a moebius strip.

## OPTIONS
moebiusgears accepts the following options:

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

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

The delay between frames of the animation, in microseconds. Default: 30000 (0.03 seconds.)

--speed float

Larger numbers mean run faster. Default: 1.0.

--no-spin

Don't rotate the object.

--no-wander

Don't wander the object around the screen.

--no-roll

Don't slowly roll the moebius strip inside out.

--count integer

How many gears to draw. Default: 17. Minimum 11, must be odd.

--teeth integer

How many teeth to draw on each draw. Default: 15. Minimum 7, must be odd.

--wireframe

Render in wireframe instead of solid.

--fps

Display the current frame rate, CPU load, and polygon count.

## 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)

## COPYRIGHT
Copyright © 2007 by Jamie Zawinski. 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
Jamie Zawinski.


molecule

title: molecule(6)

summary: draws 3D molecular structures

text:
# molecule(6)

## NAME
molecule - draws 3D molecular structures

## SYNOPSIS
molecule [--display host:display.screen] [--window] [--root] [--window-id number] [--visual visual] [--delay microseconds] [--wander] [--no-wander] [--spin axes] [--no-spin] [--timeout seconds] [--labels] [--no-labels] [--titles] [--no-titles] [--atoms] [--no-atoms] [--bonds] [--no-bonds] [--shells] [--no-shells] [--molecule file-or-directory] [--verbose] [--wireframe] [--fps]

## DESCRIPTION
The molecule program draws several different representations of molecules. Some common molecules are built in, and it can read PDB (Protein Data Base) files as input.

## OPTIONS
molecule accepts the following options:

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

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

--fps

Display the current frame rate, CPU load, and polygon count.

--verbose

Print debugging info on stderr about files being loaded, etc.

--wander

Move the molecules around the screen.

--no-wander

Keep the molecule centered on the screen. This is the default.

--spin

Which axes around which the molecule should spin. The default is "XYZ", meaning rotate it freely in space. "--spin Z" would rotate the molecule in the plane of the screen while not rotating it into or out of the screen; etc.

--no-spin

Don't spin it at all: the same as --spin "".

--labels

Draw labels on the atoms (or the spot where the atoms would be.) This is the default.

--no-labels

Do not draw labels on the atoms.

--titles

Print the name of the molecule and its chemical formula at the top of the screen.

--no-titles

Do not print the molecule name.

--atoms

Represent the atoms as shaded spheres of appropriate sizes. This is the default.

--no-atoms

Do not draw spheres for the atoms: only draw bond lines.

--bonds

Represent the atomic bonds as solid tubes of appropriate thicknesses. This is the default.

--no-bonds

Do not draw the bonds: instead, make the spheres for the atoms be larger, for a "space-filling" representation of the molecule.

--shells

Draw transparent electron shells around the atoms. This only works if bonds are also being drawn.

--no-shells

Do not draw electron shells. This is the default.

--shell-alpha

When drawing shells, how transparent to make them. Default 0.4.

--wireframe

Draw a wireframe rendition of the molecule: this will consist only of single-pixel lines for the bonds, and text labels where the atoms go. This will be very fast.

--timeout seconds

When using the built-in data set, change to a new molecule every this-many seconds. Default is 20 seconds.

--molecule file-or-directory

Instead of using the built-in molecules, read one from the given file. This file must be in PDB (Protein Data Base) format. (Note that it's not uncommon for PDB files to contain only the atoms, with no (or little) information about the atomic bonds.) This can also be a directory, in which case, all of the .pdb files in that directory will be loaded. A new one will be displayed at random every few seconds (as per the --timeout option.)

When the molecule is too large (bigger than about 30 angstroms from side to side), the --label option will be automatically turned off, because otherwise, the labels would overlap and completely obscure the display.

When the molecule is around 150 angstroms from side to side, wireframe mode will be turned on (because otherwise it would be too slow.)

## 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)

Documentation on the PDB file format:

https://web.archive.org/web/20070108054535/https%3A//www.wwpdb.org/docs.html

https://web.archive.org/web/19990819134547/https%3A//www.rcsb.org/pdb/docs/format/pdbguide2.2/guide2.2_frame.html

A good source of PDB files:

https://www.umass.edu/microbio/rasmol/whereget.htm

## COPYRIGHT
Copyright © 2001-2005 by Jamie Zawinski. 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
Jamie Zawinski <jwz@jwz.org>


title: morph3d(6)

summary: 3d morphing objects.

text:
# morph3d(6)

## NAME
morph3d - 3d morphing objects.

## SYNOPSIS
morph3d [--display host:display.screen] [--visual visual] [--window] [--root] [--window-id number] [--count number] [--delay number] [--fps]

## DESCRIPTION
Another 3d shape-changing GL hack. It has the same shiny-plastic feel as Superquadrics, as many computer-generated objects do...

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

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

--count number

0 - 20. Default: 0.

--delay number

Per-frame delay, in microseconds. Default: 40000 (0.04 seconds.).

--fps

Display the current frame rate, CPU load, and polygon count.

## 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)

## COPYRIGHT
Copyright © 2002 by Marcelo Vianna. 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
Marcelo Vianna.


nakagin

title: nakagin(6)

summary: Nakagin Capsule Tower screen saver.

text:
# nakagin(6)

## NAME
nakagin - Nakagin Capsule Tower screen saver.

## SYNOPSIS
nakagin [--display host:display.screen] [--visual visual] [--window] [--root] [--window-id number] [--delay number] [--speed number] [--no-spin] [--wander] [--no-tilt] [--wireframe] [--fps]

## DESCRIPTION
The Nakagin Capsule Tower was demolished in 2022, but this version will continue to grow forever.

Constructed in 1972, the building was composed of small prefabricated rooms attached to the two central towers. The capsules were intended to be mass produced and replaceable. Utilities and fittings were installed before the capsules were shipped to the site.

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

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

--delay number

Per-frame delay, in microseconds. Default: 30000 (0.03 seconds).

--speed number

Animation speed. 2.0 means twice as fast, 0.5 means half as fast.

--spin | --no-spin

Whether the building should slowly rotate.

--wander | --no-wander

Whether the building should wander around the screen.

--tilt | --no-tilt

Whether the observer should look up and down.

--wireframe | --no-wireframe

Render in wireframe instead of solid.

--fps | --no-fps

Whether to show a frames-per-second display at the bottom of the screen.

## 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
https://en.wikipedia.org/wiki/Nakagin_Capsule_Tower,

X(1), xscreensaver(1)

## COPYRIGHT
Copyright © 2022 by Jamie Zawinski. 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
Jamie Zawinski.


neongravity

title: neongravity(6)

summary: screen saver.

text:
# neongravity(6)

## NAME
neongravity - screen saver.

## SYNOPSIS
neongravity [--display host:display.screen] [--visual visual] [--window] [--root] [--delay number] [--speed number] [--scale number] [--fps]

## DESCRIPTION
The stylish interior of a torus.

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

--window

Draw on a newly-created window. This is the default.

--root

Draw on the root window.

--delay number

Per-frame delay, in microseconds. Default: 20000 (0.02 seconds).

--speed number

Animation speed. 2.0 means twice as fast, 0.5 means half as fast.

--scale number

Frame buffer resolution. 0.5 means halve the resolution for better performance but lower quality output. Default 1.0, full quality.

--fps | --no-fps

Whether to show a frames-per-second display at the bottom of the screen.

## 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), https://www.shadertoy.com/view/43G3Wc

## COPYRIGHT
Copyright © 2023 by mrange. 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
mrange.


neontriangulator

title: neontriangulator(6)

summary: screen saver.

text:
# neontriangulator(6)

## NAME
neontriangulator - screen saver.

## SYNOPSIS
neontriangulator [--display host:display.screen] [--visual visual] [--window] [--root] [--delay number] [--speed number] [--scale number] [--fps]

## DESCRIPTION
Neon triangles zoom.

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

--window

Draw on a newly-created window. This is the default.

--root

Draw on the root window.

--delay number

Per-frame delay, in microseconds. Default: 20000 (0.02 seconds).

--speed number

Animation speed. 2.0 means twice as fast, 0.5 means half as fast.

--scale number

Frame buffer resolution. 0.5 means halve the resolution for better performance but lower quality output. Default 1.0, full quality.

--fps | --no-fps

Whether to show a frames-per-second display at the bottom of the screen.

## 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), https://www.shadertoy.com/view/tXGGRD

## COPYRIGHT
Copyright © 2021 by mrange. 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
mrange.


noof

title: noof(6)

summary: draw rotatey patterns

text:
# noof(6)

## NAME
noof - draw rotatey patterns

## SYNOPSIS
noof [--display host:display.screen] [--visual visual] [--window] [--root] [--window-id number] [--delay number] [--fps]

## DESCRIPTION
Draws some rotatey patterns, using OpenGL.

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

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

--delay number

Per-frame delay, in microseconds. Default: 10000 (0.01 seconds.).

--fps

Display the current frame rate, CPU load, and polygon count.

## 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)

## COPYRIGHT
Copyright © 2004 by Mark Kilgard. 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
Mark Kilgard <mjk@nvidia.com>


noxfire

title: noxfire(6)

summary: screen saver.

text:
# noxfire(6)

## NAME
noxfire - screen saver.

## SYNOPSIS
noxfire [--display host:display.screen] [--visual visual] [--window] [--root] [--delay number] [--speed number] [--scale number] [--fps]

## DESCRIPTION
I fell in to a burning ring of fire; I went down, down, down and the flames went higher.

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

--window

Draw on a newly-created window. This is the default.

--root

Draw on the root window.

--delay number

Per-frame delay, in microseconds. Default: 20000 (0.02 seconds).

--speed number

Animation speed. 2.0 means twice as fast, 0.5 means half as fast.

--scale number

Resolution. 0.1 - 1.0. Default: 1.0.

--fps | --no-fps

Whether to show a frames-per-second display at the bottom of the screen.

## 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), https://www.shadertoy.com/view/wfG3Dz

## COPYRIGHT
Copyright © 2025 by Matt Vianueva. 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
Matt Vianueva <diatribes@gmail.com>.


papercube

title: papercube(6)

summary: how to fold a glueless paper cube.

text:
# papercube(6)

## NAME
papercube - how to fold a glueless paper cube.

## SYNOPSIS
papercube [--display host:display.screen] [--visual visual] [--window] [--root] [--delay number] [--no-wander] [--spin 0] [--spin [XYZ]] [--spin Y] [--spin Z] [--spin XY] [--spin XZ] [--spin YZ] [--speed number] [--fps] [--wireframe]

## DESCRIPTION
Draws a paper template that folds to make a cube.

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

--window

Draw on a newly-created window. This is the default.

--root

Draw on the root window.

--delay number

Per-frame delay, in microseconds. Default: 30000 (0.03 seconds).

--wander | --no-wander

Whether the object should wander around the screen.

--spin 0

Don't rotate.

--spin [XYZ]

Around which axes should the object spin?

--spin Y

Rotate around Y axis. Default.

--spin Z

Rotate around Z axis.

--spin XY

Rotate around X and Y axes.

--spin XZ

Rotate around X and Z axes.

--spin YZ

Rotate around Y and Z axes.

--speed number

Animation speed. 2.0 means twice as fast, 0.5 means half as fast.

--fps | --no-fps

Whether to show a frames-per-second display at the bottom of the screen.

--wireframe | --no-wireframe

Render in wireframe instead of solid.

## 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)

## COPYRIGHT
Copyright © 2023 by Ireneusz Szpilewski. 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
Ireneusz Szpilewski and Jamie Zawinski.


photopile

title: photopile(6)

text:
# photopile(6)

## NAME
photopile - displays multiple images in a periodically shuffled pile

## SYNOPSIS
photopile [--display host:display.screen] [--visual visual] [--window] [--root] [--window-id number] [--count int] [--scale factor] [--maxTilt degrees] [--titles | --no-titles] [--polaroid | --no-polaroid] [--shadows | --no-shadows] [--font font] [--speed ratio] [--duration seconds] [--fps] [--debug] [--wireframe]

## DESCRIPTION
Loads several random images, and displays them as if lying in a random pile. The pile is periodically reshuffled, with new images coming in and old ones being thrown out.

This program requires a good video card capable of supporting large textures.

To specify the directory that images are loaded from, run xscreensaver-settings(1) and click on the "Advanced" tab.

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

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

--count int

How many images to display. Default 7.

--scale factor

Size of images in relation to the size of the window. Default 0.4.

--maxTilt degrees

Maximum deviation from vertical. Default 50 degrees.

--duration seconds

Every duration seconds, one of the images will be replaced with a new one. Default 5 seconds.

--speed ratio

Speed up or slow down the animation. 0.5 means half as fast as the default; 2.0 means twice as fast.

--delay number

Per-frame delay, in microseconds. Default: 10000 (0.01 seconds.).

--titles | --no-titles

Whether to display the file names of the images beneath them. Default: yes.

--polaroid | --no-polaroid

Whether to simulate images taken by an instant camera. Default: yes.

--shadows | --no-shadows

Whether to draw images with drop shadows. Default: no.

--font font-name

The font to use for the initial loading screen and for image titles.

--fps

Display the current frame rate, CPU load, and polygon count.

--debug

Prints debugging info to stderr.

--wireframe

Another debug mode.

## 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-settings(1) xscreensaver-getimage(6) xscreensaver(1) carousel(6) glslideshow(6)

## COPYRIGHT
Copyright © 2005 by Jamie Zawinski. Copyright © 2008 by Jens Kilian.

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