P E N I X
WINGE(1)                   USER COMMANDS                     WINGE(1)
PENIX             OPERATING SYSTEM DOCUMENTATION                PENIX


NAME

     WinGE - Window-like Graphic Environment


SYNOPSIS

     WinGE [ - ] abdfghmnrstvwDMTZ [ percent ] [ task-limit ]
                                   [script]


DESCRIPTION

     WinGE  (version 9.1b)  is  the  current incarnation of a product
     that began  its  life as a WIMP interface, known as XXX-windows.
     It was designed to run on cheap, low-end graphic terminals as an
     alternative  to  the Penix command-line interface.  The original
     images and specifications  were  thought  to  be somewhat on the
     `scatological'  side and were withdrawn  (although i gather that
     some of the more, uh, innovative icon designs are available from
     a certain  x-rated GIF archive site).   This document deals with
     the  WinGE  initialisation routines,  files and support routines
     and peculiarities of the Windowing System.

     Basics:

     The  screen  shows  currently-running  tasks  as  small  graphic
     symbols  known  as  icons^H^H^H^H^H  `stamps'.   They are ranged
     along the top left-hand side of the screen, to the right, making
     the  screen  look  somewhat  like  international  air-mail.  Any
     console-directed  messages  are  displayed  in  areas  known  as
     windows^H^H^H^H^H^H^H `louvres', which open and shut as messages
     appear.   Control  of  the  tasks is maintained by twiddling the
     tiny graphic danglements attached  to  the bottom of the window,
     resembling latches,  security screen locks  and  venetian  blind
     cords.   The control point for external devices  (mice, tablets,
     data gloves,  joysticks,  guru-boards  etc)  is  the Flyswatter,
     which is used to  move `stamps' and `louvres'  about the screen.
     The graphic data for all images is stored in /WinGE/danglements,
     in ASCII format,  and  can be altered easily with the wi editor.
     The system disposal, /dev/ttybowl, is represented by a free-form
     porcelain sculpture in the bottom right-hand corner.   Files can
     be deleted,  and  tasks halted  by  dragging  their `stamps'  or
     `louvres'  with the flyswatter into the ttybowl  and pulling the
     tiny chain attached  to  it.   Users of early revisions of WinGE
     reported that  some `louvres' required more than one flush,  and
     some  even  stuck in the ttybowl,  requiring use  of the PLUNGER
     goelem-task.   To counter this,  an  additional `stamp' has been
     added for 9.1, /dev/dispose-all.  This `stamp' has tiny animated
     serrated teeth  which  make  short work of anything stuffed down
     it.   Just be careful not to get the flyswatter stuck in it,  or
     the system will hang.   If you swat a task-stamp five times with
     the Flyswatter, a louvre appears with detailed information about
     that task.   Note: this window will not fit down /dev/ttybowl or
     /dev/dispose-all;  it  is  digitally  bio-degradeable  and  will
     decay over a period of half an hour.


FUNCTIONS

     a    Terminal is a Commodore-Amiga

     b    Draw  big  icons  (for the  visually  impaired).  This will
          source images for `stamps' from /WinGE/biggies/.

     c    Crash-limit (specified in percentage).   If you are running
          a task which  is  not processor-retention-pure, it will not
          finish  cleanly,  and will  leave its `stamp' on the screen
          until  the  system  is  re-shoed.   This  can be avoided by
          specifying  a  percentage of CPU, which if the system falls
          below this level, the task will be assumed to have finished
          and the WinGE session will then safely crash.

     d    Terminal is an MS-DOS-based machine (monochrome)

     f    Fake the presence of a mouse with numeric keypad.   On some
          earlier systems,  such as the MS-DOS and Vic-20s, mice were
          problematical   to   add   without   considerable  hardware
          modifications.   This option  will allow the numeric keypad
          to  simulate  mouse-movements;  the  arrow  keys indicating
          direction, and the numeric `0' and `enter' representing the
          mouse buttons.   This is an idea we stole,  lock, stock and
          barrel, from the Macintosh, and we don't care.

     g    Garfield  Cuteness  option.   Images  for  `stamps' will be
          taken  from  /WinGE/garfieldies.   Cute, but not terminally
          so.

     h    Draw  HUGE  icons,  for  the  terminally  cute.  Images for
          `stamps'  will be taken from /WinGE/ziggies,  and have been
          known to cover three-quarters of the screen, using the most
          garish shades of blue,  pink  and  green  that the terminal
          will allow.   Most of them  are  animated,  using about 300
          Kilobytes of graphic information and some of them have been
          known to permanently alter the blood-sugar level  of anyone
          using the system.  Diabetics beware.

     l    Task-limit.    Sets  a   lower  limit  for  the  number  of
          concurrent  tasks to be run.   If the number of tasks falls
          below  this,  WinGE  will  automatically  start  one  up at
          random,  selecting  from  the  list  of  available tasks in
          /WinGE/thumb_twiddle.  This is to scotch, once and for all,
          any claims that  WinGE doesn't concurrently multitask.  The
          default number of tasks is four.

     m    Terminal is a Macintosh (monochrome)

     n    No-idea.  This  assumes  that WinGE  has not been installed
          correctly,  and sets about creating the default environment
          for  WinGE,   including  all  of  the  graphic  information
          directories,  filling  the  stamp-data files with randomly-
          generated  ascii  characters  (which often look better than
          the supplied defaults).

     r    Randomise  colours  on  startup.   This option isn't really
          necessary,  as  the  default  colours  which you specify in
          /WinGE/.snivel rarely match up with what people expect them
          to look like.  Life is like that, sometimes.

     s    Specify  alternative  to  default  startup script, which is
          /WInGE/.snivel.

     t    Terminal is an Atari (monochrome)

     v    Terminal is a Commodore Vic-20 (default)

     w    Wobble  option  (for  hangovers).   This is also useful for
          preventing  pixel-burn-in on monitors if the display is not
          particularly  active over a long period of time.   It moves
          the  entire bit-mapped display  a  random  number of pixels
          (between 0 and 8)  to  the  left;  waits  a  random  period
          between 0  and  4 seconds,  then shifts  a random number of
          pixels  to the right.   This effect has been known to cause
          nausea and vomiting in hung-over operators,  so use it with
          caution.

     D    Terminal is an MS-DOS-based machine (colour)

     M    Terminal is a Macintosh (colour)

     T    Terminal is an Atari (colour)

     Z    Zoom  option.     When  active,  this  option  presents the
          bitmapped  image  as  ten to one hundred percent larger, by
          pressing function keys F1 to F10.   This option was provded
          purely  for those fanatics  who  aren't happy until all the
          `stamps' and `louvres' are lined up perfectly.


EXAMPLES

     To start the Window-like Graphic Environment:

          %-) WinGE -cfhlswDZ 85 2 /WinGE/mine/.snivel

     This will  start WinGE  with a minimum of two tasks, halting the
     system  if processor useage falls below 85 percent,  starting up
     with /WinGE/mine/.snivel.


FILES

     /WinGE/danglements               default files for graphic images

     /dev/ttybowl                     system task terminator, represented
                                      by stamp image

     /dev/dispose-all                 more powerful version of the above

     /WinGE/biggies                   directory   for  large-stamp image
                                      data

     /WinGE/Garfieldies               directory for cute stamp images

     /WinGE/Ziggies                   directory  for obscenely cute stamp
                                      images

     /WinGE/thumb_twiddle             list  of  available  tasks  to fill
                                      cpu-idle time

     /WinGE/.snivel                   default WinGE startup-script file


SEE ALSO

     WHINE(1), WinGE_init(1), stuffio(2), WinGE_configure(1),
     roflgo(3), WinGE_terminate(3), WinGE_kill(2), tickle(2),
     argh_i_think_i'm_going_insane(2)


BUGS

     There is  a  fault in the WinGE_init process that cause WinGE to
     hang between processing one line  and the next of .snivel.  This
     usually occurs  if  the line contains  references to  processor-
     retention-pure  tasks,  or  tasks  which  do  not  have matching
     stamp-images in /WinGE/danglements.   To counter this, the first
     line of .snivel should run WHINE (WinGE_init Halt Initialisation
     at Next Entrypoint)  as  a  GOELEM  task.   This  will terminate
     WinGE_init  five  seconds after initialisation is complete.   If
     initialisation  proceeds  without  error,  the  first  thing the
     operator should do is locate the WHINE GOELEM stamp and push its
     head  down /dev/ttybowl,  flushing it from the system.  This can
     be automated with the following .snivel script:

     #-> do_quietly /executeables/WHINE -delay 5 -i `GOELEM'

              ...

              (other WinGE initialisation commands)

              ...

     #-> do FLUSH /executeables/WHINE -swirly
     #-> do FLUSH /executeables/WHINE -swirly
     #-> do FLUSH /executeables/WHINE -swirly
     #-> do FLUSH /executeables/WHINE -swirly

     (four times, just in case)

     If the file  /WinGE/thumb_twiddle is  missing or empty,  and the
     task limit falls  below  the number specified with the l option,
     the default task to run is WinGE_init.   This actually becomes a
     sort of loop,  as the default settings for the new WinGE session
     are taken from the current task-table,  and thus specify a task-
     limit which must be filled,  so WinGE immediately runs four more
     tasks,  which,  if /WinGE/thumb_twiddle is not present,  will be
     four new WinGE sessions, and so on.  This can lead to the system
     gradually slowing to a stop.

     There is no way to symbolically follow selective links.

     The random numbers  generated  with  the  `w'  option  reveal a
     Markoff Chain,  to  the effect that the screen gradually  moves
     further left than right.   If left unchecked, the entire bitmap
     will shift off the screen and  onto the terminal  next to yours,
     and  then  onwards  down  the  room  until  it  reaches the last
     terminal in line, after which the image leaks out of the side of
     the screen and onto the carpet.

     The  n  option  is  slower than the n option  in any other Penix
     function so far.

     -----
     Sunburne Computer, Inc.    28 August 1992