1 XScreenSaver(1)

1 XScreenSaver(1)

mtype Home Page User Commands Index munchlist


XScreenSaver(1)                                   XScreenSaver(1)

NAME
       munch - munching squares screen hack

SYNOPSIS
       deco  [-display  host:display.screen]  [-foreground color]
       [-background color] [-window] [-root]  [-mono]  [-install]
       [-visual visual] [-delay seconds] [-xor] [-noxor] [-shift]
       [-noshift] [-logminwidth minimum width]

DESCRIPTION
       The munch program preforms the munching squares hack until
       killed.   It picks square size, position, and gravity ran-
       domly; 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 possi-
       ble combinations of X and T have come up.  It was  report-
       edly  discovered  by  Jackson  Wright  in  1962 and took 5
       instructions of PDP-6 code.

OPTIONS
       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
               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 seconds
               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.)

       -no-shift
               Don't shift and start drawing the square at  weird
               starting points.

X Version 11                17-Jun-97                           1

XScreenSaver(1)                                   XScreenSaver(1)

       -logminwidth minimum-width
               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.)

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_MAN-
               AGER property.

SEE ALSO
       X(1) xscreensaver(1) 
       http://www.inwap.com/pdp10/hbaker/hakmem/hakmem.html,
       http://www.comedia.com/Hot/jargon_3.0/JARGON_M/MUNCH-
       SQR.HTML

HISTORY
       Quoted from HAKMEM, for historical interest.  As that doc-
       ument  says,  "Unless  otherwise stated, all computer pro-
       grams are in PDP-6/10 assembly language."

       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.
                   DATAI 2
                   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 =
                   4000,,4    1000,,2002    2000,,4    0,,1002
               (Notation: <left half>,,<right half>)

X Version 11                17-Jun-97                           2

XScreenSaver(1)                                   XScreenSaver(1)
               Also try  the  FADR  after  the  XOR,  switches  =
               1001,,1.

COPYRIGHT
       Copyright  (C)  1997 by Tim Showalter.  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  Showalter  lt;tjs@andrew.cmu.edu,  17-Jun-97, based on
       what's in the Jargon File and stealing stuff from existing
       xscreensaver modules.

mtype Home Page User Commands Index munchlist