The munch program preforms the munching squares hack until killed. It picks square size, position, and gravity randomly; configurable options are listed below.
munch accepts the following options:
Draw on a newly-created window. This is the default.
Draw on the root window.
If on a color display, pretend we're on a monochrome display.
Install a private colormap for the window.
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.
How long to wait before starting over. Default 5 seconds.
Use the XOR drawing function. (Default.)
Don't use the XOR drawing function.
Start drawing the square at weird starting points. (Default.)
Don't shift and start drawing the square at weird starting points.
to get the default host and display number.
Quoted from HAKMEM, for historical interest. As that document says,
ITEM 146: MUNCHING SQUARES
Another simple display program. It is thought that this was discovered by Jackson Wright on the RLE PDP-1 circa 1962.
ADDB 1,2 ROTC 2,-22 XOR 1,2 JRST .-4 2=X, 3=Y. Try things like 1001002 in data switches. This also does interesting things with operations other than XOR, and rotations other than -22. (Try IOR; AND; TSC; FADR; FDV(!); ROT -14, -9, -20, ...)
ITEM 147 (Schroeppel):
Munching squares is just views of the graph Y = X XOR T for consecutive values of T = time.
ITEM 148 (Cohen, Beeler):
A modification to munching squares which reveals them in frozen states through opening and closing curtains: insert FADR 2,1 before the XOR. Try data switches =