xmatrix — simulates the computer displays from the movie


xmatrix [-display host:display.screen] [-window] [-root] [-install] [-visual visual] [-delay usecs] [-density percentage] [-top | -bottom | -both] [-small | -large] [-trace] [-mode mode] [-phone number] [-fps]


The xmatrix program draws the 2D "digital rain" effect, as seen on the computer monitors in the Wachowski brothers' film, "The Matrix".

Also see glmatrix(6x) for a 3D rendering of the similar effect that appeared in the title sequence of the movie.


xmatrix accepts the following options:
Draw on a newly-created window. This is the default.
Draw on the root window.
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 steps of the animation, in microseconds: default 10000.
-density percentage
The approximate percentage of the screen that should be filled with characters at any given time. Default 75%.

When running in a window, typing + will increase the density and typing - will decrease it. Typing 0 will momentarily drain the screen.

-top | -bottom | -both
If -top is specified, the characters will only drop in from the top of the screen as sliding columns of characters. If -bottom is specified, then instead of sliding columns, the characters will appear as columns that grow downwards and are erased from above. If -both is specified, then a mixture of both styles will be used. The default is -both.

When running in a window, typing [ will switch to top-mode, typing ] will switch to bottom-mode, and typing \ will switch to both-mode.

-small | -large
These options specify the sizes of the characters. The default is -large.
-mode trace
Start off with a representation of a phone number being traced. When the number is finally found, display The Matrix as usual. This is the default.
-phone number
The phone number to trace, if -trace is specified.
-mode crack
Start off by shutting down the power grid.
-mode binary
Instead of displaying Matrix glyphs, only display ones and zeros.
-mode hexadecimal
Instead of displaying Matrix glyphs, display hexadecimal digits.
-mode dna
Instead of displaying Matrix glyphs, display genetic code (guanine, adenine, thymine, and cytosine.)
-mode ascii
Instead of displaying Matrix glyphs, display random ASCII characters.
-mode pipe
Instead of displaying random characters, display the output of a subprocess, as ASCII.
-program sh-command
The command to run to generate the text to display. This option may be any string acceptable to /bin/sh. The program will be run at the end of a pty or pipe, and any characters that it prints to stdout will be placed in the feeders for xmatrix. If the program exits, it will be launched again after xmatrix has processed all the text it produced.

For example:

xmatrix -program 'echo Hello World'
xmatrix -ascii -program 'ps -eo comm | rev'
xmatrix -program 'od -txC -w6 /dev/random'
xmatrix -program 'cat /dev/random'


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.


Jamie Zawinski <jwz@jwz.org>, 25-Apr-99.