    *** Click FullScreen () in mode12/15/20/21 ***


  DimWit: A desk top screen saver
  ===============================

    **************************************************************
    *                                                            *
    *                    DimWit                                  *
    *                                                            *
    *   This program, the source, obect and data files are       *
    *             Copyright  Gordon Henderson                   *
    *                                                            *
    *  Permission is hereby granted to use, copy and distribute  *
    *  this software, as long as this notice remains intact and  *
    *          you pass on no less than what you received.       *
    *                                                            *
    * THIS SOFTWARE IS PROVIDED "AS IS"  WITHOUT WARRANTY OF ANY *
    * KIND. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF *
    *    THIS SOFTWARE IS WITH YOU. SHOULD THE PROGRAM PROVE     *
    *    DEFECTIVE, YOU ASSUME THE COST OF ALL THE NECESSARY     *
    *             SERVICING, REPAIR OR CORRECTION.               *
    *                                                            *
    **************************************************************


  This little utility enables you to forget about screen burn-in if
  you leave the Archimedies desktop unattended for a period of time.

  To use, simply double-click on the !DimWit icon. This will load
  DimWit and place the DimWit icon on the icon bar.

  The desktop will be replaced by a series of moving patterns with a
  Black backgound that will (help to) prevent any burn in.

  DimWit looks at the mouse and keyboard every second or so and if the
  mouse has moved, or you are pressing any key, then it resets it's
  time-out counter and goes back to sleep. It you havn't moved the
  mouse, or pressed any key for the time-out period, it takes over and
  saves your screen.

  You can manually force DimWit to activate by moving the mouse to the
  Bottom Left of the screen. DimWit will take over in a second or two.

  DimWit comes supplied with 3 screen saver programs. It runs each of
  these in turn for the time specified by the "Switch Time" in the
  menu. (See below). You can force DimWit to activate the next screen
  saver program by pressing the "Action" Key.

  You can write your own screen saver programs and incorporate them
  into DimWit. See below for more details.

  DimWit only functions when the desktop is active. If you press f12,
  or run a program that isn't desktop friendly, then DimWit will be
  unable to save the screen.

  Pressing any key (except the Action, Break or Reset keys!), or
  moving the mouse will (almost) instantly restore the desktop screen
  and it's contents. If you wake up DimWit by pressing a key, that key
  will be stored and typed once DimWit has restored the screen! (so if
  the last thing you were doing was editing, the key will be inserted
  into the edit buffer!)


  Icon menu options
  =================

    Info: (Pull Right)
      Display program information block with version and creation date.

    Hide icon:
      This causes the icon to be removed from the display. (DimWit
      will still be active, you just won't be able to use the menu to
      set timeout options, etc.).

      I don't really beleive that a utility like this should have an
      icon at all, but once you have set your own preferenctes for the
      time-out and switch time you can remove the icon from the
      display. You can bring the icon back at any time by pressing the
      "Action" Key. (You may need to keep it pressed for a second or
      two). You can start DimWit without the icon if desired, see the
      !Run file for details.

    Manual Dim:
      Clicking this toggles between automatic screen save or manual
      screen save. In manual mode, (the icon menu entry will be
      ticked), DimWit will only activate when you move the mouse to
      the Bottom Left of the screen. You may want to set this when
      running a compute-intensive program that is desktop friendly.
      (Eg. QRT, this lets you use the desktop while doing it's
      processing, but if you left it alone, DimWit would get in after
      it's time-out time and stop it. (It would continue as if nothing
      had happened when you woke up DimWit). If you were still using
      the desktop, then this would not be a problem. (But have you
      tried using the desktop when QRT is running ?)

    Delay Time: (Pull Right)
      Pull right on this entry to give a new menu with the availiable
      time-out times. The options available are 5, 10, 15, 20, 25 and
      30 minutes. The currently selected time-out is ticked. These
      options are stored in the "Config" file and will be reloaded the
      next time you start DimWit.

    Switch Time: (Pull Right)
      Pull Right on this entry to give a new menu with the time to
      wait before switching to a different screen-saver program. The
      options available are 1, 2, 5 and 10 minutes. The currently
      selected time is ticked. These options are stored in the
      "Config" file and will be reloaded the next time you start
      DimWit.

    Quit:
      Totally removes DimWit from memory.



  Adding a new DimWit saver program
  =================================

    1. Examine the current DimWit programs in the directory
           <DimWit$Dir>.DimWits
       to see how it's done and read the guidelines below.

    2. Write and debug your program (Or download it fro a buletin
       board if it's someone elses).

    3. Load the program "DimWit"

    4. Edit this program:

      * Insert a new LIBRARY instruction to load your code.

      * Add a line to call youe code initialisation routine. (If needed).

      * Edit the line that initialises "totalDimWits" (Add 1 to it).

      * Add a new line in the procedure PROC_launchNextDimWit to call
        your code

    5. Test it

    6. Upload it (Your code only) to the bulletin board that you got
       DimWit from and any other board that you know of that is DimWit
       can be downloaded from. (Share and Enjoy!)

    7. Send me some email.

  Guidelines for writing new DimWit programs
  ==========================================

  You shouldn't change screen mode. (You can probably get away with
  it, but I'm not sure what would happen if you were in a small memory
  mode in the desktop, then your saver changed to a mode that required
  more memory and there wasn't enough memory for it ...)

  The global varable wimpMode% will be set to the mode that the wimp
  was in when DimWit took over, so you can execute a

      MODE wimpMode%

  statement to re-initialise the current screen mode if you want to
  muck about with the pallets, etc ...

  At well defined intervals in your code, you need to call the
  function FN_wakeUp.  This returns TRUE or FALSE. When it returns
  TRUE, this indicates that you should ENDPROC as quickly as possible
  because the user (you!) have moved the mouse or typed something and
  you want you use your machine again! (You don't need to clear the
  screen or reset the mode as this is done by DimWit)

  If you want to prematurley terminate your saver (and let DimWit call
  the next one in the sequence) then you need to set the global
  variable

      returnToUser%

  to FALSE before executing your ENDPROC.

  Thats about it really, try not to make them too large or use massive
  ammounts of store. you may have to adjust the WimpSlot instruction
  in the !Run file if you do! (It's currently set to 64K and I think
  this is more than enough memory to allocate to a screen saver!)


  Comments, buggs and new DimWit savers can be sent to me,

    Gordon Henderson,
    29 Cobourg Road,
    Montpelier,
    Bristol, England
    BS6 5HT

    Arcade: gordon, user id #436

    eMail:  gordon@uk.co.meiko

  Enjoy!
