munch - munching squares screen hack
munch [-display host:display.screen] [-foreground color] [-background
color] [-window] [-root] [-mono] [-install] [-visual visual] [-delay
seconds] [-xor] [-noxor] [-shift] [-noshift] [-logminwidth minimum
The munch program preforms the munching squares hack until killed. It
picks square size, position, and gravity randomly; configurable options
are listed below.
The munching squares hack cosists of drawing Y = X XOR T for a range of
X and T over and over until all the possible combinations of X and T
have come up. It was reportedly discovered by Jackson Wright in 1962
and took 5 instructions of PDP-6 code.
munch accepts the following options:
-window Draw on a newly-created window. This is the default.
-root Draw on the root window.
-mono 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
How long to wait before starting over. Default 5 seconds.
-xor Use the XOR drawing function. (Default.)
-no-xor Don’t use the XOR drawing function.
-shift Start drawing the square at weird starting points. (Default.)
Don’t shift and start drawing the square at weird starting
The logarithm (base 2) of the minimum with of a square (must be
a power of 2, or some parts of the square aren’t.)
DISPLAY to get the default host and display number.
to get the name of a resource file that overrides the global
resources stored in the RESOURCE_MANAGER property.
X(1), xscreensaver(1), http://www.inwap.com/pdp10/hbaker/hakmem/hak-
Quoted from HAKMEM, for historical interest. As that document says,
"Unless otherwise stated, all computer programs are in PDP-6/10 assem-
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.
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 =
4000,,4 1000,,2002 2000,,4 0,,1002
(Notation: <left half>,,<right half>)
Also try the FADR after the XOR, switches = 1001,,1.
Copyright © 1997 by Tim Showalter. Permission to use, copy, modify,
distribute, and sell this software and its documentation for any pur-
pose is hereby granted without fee, provided that the above copyright
notice appear in all copies and that both that copyright notice and
this permission notice appear in supporting documentation. No repre-
sentations are made about the suitability of this software for any pur-
pose. It is provided "as is" without express or implied warranty.
Tim Showalter <email@example.com>, 17-Jun-97, based on what’s in the
Jargon File and stealing stuff from existing xscreensaver modules.
X Version 11 17-Jun-97 XScreenSaver(1)
Man(1) output converted with