Your company here — click to reach over 10,000 unique daily visitors

twang - Man Page

pluck pieces of the screen


twang [--display host:display.screen] [--foreground color] [--background color] [--window] [--root] [--window-id number] [--mono] [--install] [--visual visual] [--shm] [--no-shm] [--delay usecs] [--duration secs] [--border-color color] [--border-width integer] [--event-chance fraction] [--friction fraction] [--springiness fraction] [--tile-size integer] [--transference fraction] [--fps]


Twang divides the screen into equal-sized tiles, and then plucks them in various ways. Tiles are affected by their neighbors, so waves of motion flow through the grid. This manpage describes v1.3 of the program.


twang accepts the following options:


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


Draw on the root window.

--window-id number

Draw on the specified window.


If on a color display, pretend we're on a monochrome display.


Install a private colormap for the window.

--visual visual

Which visual to use.  Legal values are the name of a visual class, or the id number (decimal or hex) of a specific visual.


Use the shared memory extension (or not, respectively), if available.  This may speed things up a bit, but probably won't make that much difference. If available, defaults to true, resource useSHM.

--delay microseconds

The interframe delay, in microseconds. Defaults to 10000, resource delay.

--duration seconds

How long to run before loading a new image.  Default 120 seconds.

--border-color color

Color of the border surrounding each tile. Defaults to blue, resource borderColor.

--border-width integer

Width of the border surrounding each tile. Defaults to 3, resource borderWidth.

--event-chance fraction

The chance, per iteration, for an event to occur (such as tweaking the orientation of a tile), in the range 0..1. Defaults to 0.01, resource eventChance.

--friction fraction

How much friction there is in the system, in the range 0..1.  This is the amount by which velocities are damped per iteration. Defaults to 0.05, resource friction.

--springiness fraction

How springy the tiles are, in the range 0..1.  This is the fraction of an orientation that gets turned into a velocity towards the center (resting point). Defaults to 0.1, resource  springiness.

--tile-size integer

Size (width and height) of each tile, not including the outer edge of the border. Defaults to 120, resource tileSize.

--transference fraction

How much a tile's neighbors affect it, in the range 0..1.  This is the fraction of an orientation of a neighbor that gets turned  into a velocity in the same direction Defaults to 0.025, resource  transference.


Display the current frame rate and CPU load.



to get the default host and display number.


to get the name of a resource file that overrides the global resources stored in the RESOURCE_MANAGER property.


The window ID to use with --root.

X Resources

There are resource equivalents for each option, noted above.


twang should have more interesting events.

Ways of speeding it up need to be investigated. It's kinda sluggish,

especially on hugeass displays.

See Also



Dan Bornstein <danfuzz@milk.com>.


6.09-1.fc41 (11-Jun-2024) X Version 11 XScreenSaver manual