@DATABASE MCP.guide English
@$VER: MCP.guide 2002 1.37 «English»
@AUTHOR "Dieter Groppé"
@REMARK Updated from German Guide by Richard 'Techrat' Mulder <snowweasel@tarline.ee> on 06-02-2002
@FONT XHelvetica.font 13
@WORDWRAP
@width 96
@INDEX fet_features

@NODE "Main" "Documentation for MCP v1.37"

    @{B} Master Control Program v1.37 @{UB}@{UI}

          © 1994 - 1999 by @{UB}@{UI} @{" ALiENDESiGN " LINK "aliendesign"}
          © 2001 - 2002 by @{UB} @{"Dieter Groppé " link "author" 0}
          @{" Document " LINK "historyguide"} last changed:  06 Feb 2002

     @{" Introduction " LINK "introduction"}                   What is MCP and what does it do?

     @{" Features " LINK "fet_features"}                       The reason MCP is so popular.

     @{" Requirements " LINK "requirements"}                 What MCP needs to run.
     @{" Installation " LINK "installation"}                     How to get going?
     @{" Versions " link "over" 0}                       Different versions of MCP ?

     @{" Starting " link "start" 0}                         Starting MCP
     @{" Support Programs " LINK "supportprograms"}          Supportprograms that come with MCP

     @{" Registration " LINK "registration"}                    It's Free, so do it!
     @{" How to get MCP " LINK "howtoget"}             24 hour support!
     @{" Legal Department " LINK "liability"}           We are not to blame!

     @{" Contact us/Bugreports " LINK "contactus"}     New Ideas, Bug Reports, Getting Involved
     @{" Thanks " LINK "thanks"}                          People who helped.
@ENDNODE

@node "author" "Autor"
Since Version 1.34 (October 2001:)

       Dieter Groppé

       Cologne/Germany

       EMAIL: MCP@dgroppe.de

       WWW:   www.dgroppe.de
@endnode
@NODE "fet_features" "Features"

 Global      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

                              @{" Save | Use | Test | Cancel " LINK "fet_saveusetest"}

     If you want to use a feature you have to set it on, even for the features that have a separate page or window.


@{b}Features without Patches@{ub}

 @{" Activate on Workbenchtitle " LINK "fet_wbtitleactive"}
 @{" Alert-History " LINK "fet_alerthistory"}
 @{" AssignPrefs " LINK "fet_assignprefs"}
 @{" CapsShift " LINK "fet_capsshift"}
 @{" Default PubScreen " LINK "fet_defpubscreen"}
 @{" DOS-WildStar " LINK "fet_wildstar"}
 @{" HotKeys " LINK "fet_hotkeys"}
 @{" MapUmlauts " LINK "fet_mapumlauts"}
 @{" Mount HappyENV " LINK "fet_happyenv"}
 @{" Mouse-Speeder " LINK "fet_mousespeeder"}
 @{" NoCapslock " LINK "fet_nocapslock"}
 @{" Pointer Blanker " LINK "fet_pointerblank"}
 @{" Power Saver " LINK "fet_powersave"}
 @{" Processor " LINK "fet_processor"}
 @{" PubModes " LINK "fet_pubmodes"}
 @{" Replace Topaz " LINK "fet_notapaz"}
 @{" Screen Activation " LINK "fet_screensact"}
 @{" Screen Blanker " LINK "fet_screenblanker"}
 @{" Screen Dimmer " LINK "fet_screendimmer"}
 @{" ScreensMenu " LINK "fet_screensmenu"}
 @{" Set Quantum " LINK "fet_setquantum"}
 @{" Snap " LINK "fet_snap"}
 @{" SUN Options " LINK "fet_sunoptions"}
 @{" TrackDisk Prefs " LINK "fet_changetd"}
 @{" Wait Validate " LINK "fet_waitvalidate"}


@{b}Features with Patches@{ub}

 @{" AlertTimeOut " LINK "fet_alerttimeout"}
 @{" AppChange " LINK "fet_appchange"}
 @{" AssignWedge " LINK "fet_assignwedge"}
 @{" AutoMount " LINK "fet_automount"}
 @{" BorderBlank " LINK "fet_borderblank"}
 @{" CacheFont " LINK "fet_cachefont"}
 @{" Change WorkbenchTitle " LINK "fet_wbtitle"}
 @{" CopyMemQuick " LINK "fet_copymemquick"}
 @{" CrunchPatch " LINK "fet_crunchpatch"}
 @{" CycleToMenu " LINK "fet_cycletomenu"}
 @{" Font Search " LINK "fet_fontsearch"}
 @{" Force HiRes Pointer " LINK "fet_hirespointer"}
 @{" Force NewLook-Menus " LINK "fet_forcenewlook"}
 @{" FrameIHack " LINK "fet_frameihack"}
 @{" Harddisk Prefs " LINK "fet_hdprefs"}
 @{" Library Search " LINK "fet_libsearch"}
 @{" Lock Patch " LINK "fet_lockpatch"}
 @{" Memory Patch " LINK "fet_memorypatch"}
 @{" New GadTools " LINK "fet_newgadtools"}
 @{" New ToolTypes " LINK "fet_tooltypes"}
 @{" NewEdit " LINK "fet_newedit"}
 @{" No DisplayBeep " LINK "fet_displaybeep"}
 @{" No IconBorder " LINK "fet_noiconborder"}
 @{" NoGuru " LINK "fet_noguru"}
 @{" PatchMath " LINK "fet_patchmath"}
 @{" PatchOpenWB " LINK "fet_patchopenwb"}
 @{" PatchRGB32 " LINK "fet_patchrgb32"}
 @{" QuickDraw " LINK "fet_quickdraw"}
 @{" QuickLayers " LINK "fet_quicklayers"}
 @{" RAMPatch " LINK "fet_rampatch"}
 @{" ReqTools Patch " LINK "fet_rtpatch"}
 @{" Requester Timeout " LINK "fet_reqtimeout"}
 @{" ScreenManager " LINK "fet_promotor"}
 @{" ShapeShifter Patch " LINK "fet_shapeshifter"}
 @{" Solid WindowMoving " LINK "fet_movewindow"}
 @{" Solid WindowSizing " LINK "fet_sizewindow"}
 @{" SysIHack " LINK "fet_sysihack"}
 @{" Title Clock " LINK "fet_wbclock"}
 @{" ToolAlias " LINK "fet_toolalias"}
 @{" WBAbout " LINK "fet_wbabout"}
 @{" WBGauge " LINK "fet_wbgauge"}
@ENDNODE

@NODE "fixjump" "FixJump"

                                @{B}FixJump V1.0@{UB}

                      (C) Copyright 1997 by ALiENDESiGN

@{U}Introduction@{UU}:
     This program will fix all problems with jumping bootpictures.

@{U}Installation@{UU}:
    Start it before your bootpicture program and after the needed monitors in your startup-sequence. It's not allowed to open a screen before the FixJump command and, therefore, it's recommended to start the needed monitors, then call 'FixJump' and then start the Picviewer.

    For Example:
        ...

        Devs:Monitors/Multiscan
        C:FixJump
        C:OpenAWS
        .... all other calls follow here

@{U}How does it work@{UU}:
     It will set the right overscan values in all started monitors. It only loads the overscan.prefs out of the ENVARC:.



@{U}Author@{UU}:

                             Stefan Sommerfeld
                               Kaulbachstr. 3
                               14612 Falkensee
                                   Germany

                          Phone: +49-[0]3322-202452
                         E-Mail: zerocom@cs.tu-berlin.de

@ENDNODE

@NODE "historyguide" "History of Guidefile"

@{B}History of Guidefile@{UB}

23.10.2001  First changes in the German guide
           -changed Author and Copyright
           -Aliendesign logo removed
           -Missing parts translated and completed from the English guide
           -Misc. completions

10.11.2001 Updated English guide from German.
14.12.2001 Updated English guide from the German version 1.36
02.02.2002 added new stuff to guide and updated it from german




@{I}MCP Program history can be found in MCP-History.guide.@{UI}

@ENDNODE
@node "over" "MCP versions"
 There are currently 8 different versions of MCP.

   MCP             - 68000   Version of MCP
   MCP020          - 68020+  Version of MCP
   MCPcommodity    - 68000er C-Version limited function MCP
   MCPCommodity020 - 60020+  C-Version limited function MCP

The installscript will install the right version of MCP and MCPcommodity your processor.
MCPcommodity is normally not used

Of all these versions there is a special Aminet version because of legal reasons.

The 68020 version is optimised for 68020 or higher, it will use optimised code for the recognised processor, also  for 060.
@endnode

@NODE "installation" "Installation"

@{U}Automatic method:@{UU}

    The easiest way of installing MCP is via the supplied Installer-Script. The script is written in such a way that nothing will be overwritten! Please remove all programs which have the same or nearly the same functions as MCP, since they could cause Problems. After the successful installation you must insert the MCP-call to the startup-sequence. This call should be early in the script to use all functions.

@{bg shine} z.B. Startup-Sequence:@{bg back}

        C:SetPatch QUIET
        C:PatchControl
        [...]
        C:Copy ENVARC: RAM:ENV ALL QUIET NOREQ
        C:Assign ENV: RAM:ENV
        C:MCP
        ... all the following commands are placed here !

 Please do not change the Hunks in the MCP !!! (e.g. with Hunkmerge from Imploder)

                            *** OR ***

@{I}NOTE:  The Install script runs ConvertAP and ConvertAM automatically.@{UI}

@{U}Manual method:@{UU}

    Copy the appropriate MCP program (68000/68020+) to your "C:" directory.
    Copy the @{"PatchControl" link "supportprograms"} program to your "C:" directory.
    Copy the "mcpsupport.library" into your "LIBS:" directory.
    Copy the "mcpgfx.library" into your "LIBS:" directory.
    Copy the "MCPPrefs" program into your "Prefs" directory.
    Copy the contents of "ENVARC:" into their respected places.
    Copy "GuruHistory" and "MCP.gurudat" to your "S:" directory.
          (be sure to set the paths for these files in the
           MCPPrefs program)
    Copy the documentation to your preferred location.
    Add the following lines to your "Startup-Sequence" file:


       C:SetPatch QUIET
       C:PatchControl
       [...]
       C:Copy ENVARC: RAM:ENV ALL QUIET NOREQ
       C:Assign ENV: RAM:ENV
       C:MCP
       ...all the following commands are placed here !


Note: If you are using Arq,please also read @{"Start" Link "start" 0} .

@ENDNODE

@node "start" "Starting MCP"
@{u}Start@{uu}:

MCP can be started from Workbench or CLI. When started from Workbench no additional parameters are needed
When started from CLI there is a possibility to add the parameter (not case dependant)

NOLMB - surpresses the looking for mousebutton joystickbutton or capslock button

Starting MCP should normally be done very early in the startup-sequence (see @{"installation" link "installation" 0} ).

MCP works like this when started:

 - test to verify the right processor for the programversion
 - test to verify whether MCP is already running
 - The way it was started is tested (WB or CLI)
 - when started from CLI, the Parameter is read (if present)
 - when started from cli and the parameter NOLMB was not present, the mousebutton,
   joystickbutton or capslockbutton are read
 - MCP detaches from the main task
 - ENV: is searched for, if this not available c:ENV-Handler or L:HappyENV-Handler
   are searched for and started
 - MCP detaches from main task
 - the configuration file is read and tested
 - MCP initialises its Routines





@{B}Important:@{UB}

1)  If you are using ARQ and you want to have both ARQ and the @{"Assignwedge" LINK "fet_assignwedge"} operating, you must start MCP like this:

           c:Patchcontrol #?ARQ
           c:MCP
               .
               .
           RUN >NIL: ARQ

2)  If you have switched on the function @{"No IconBorder" LINK "fet_noiconborder"} and it doesn't work then an other program patches this call. In the most cases it's a monitor driver (for example Piccolo) and then you should type the following text behind @{"PatchControl" link "supportprograms"}:

           c:Patchcontrol #?Piccolo   (or an other monitor driver)

       or  c:Patchcontrol #?ARQ #?Piccolo


This function is integrated directly into the OS since version 3.5 and not much of a problem anymore.
@ENDNODE


@node "supportprograms" "Support Programs"


   @{fg shine}PatchControl:@{fg text}  This program gives the possibility to securely remove System-Patches without requiring a reboot or causing a crash. MCP uses this program to remove patches.


   @{fg shine}ConvertAP:@{fg text}  This program converts all Assigns from the program "AssignmentPrefs" to the MCP format. After starting this program, all assigns will be copied to MCP and you can use MCP instead of "AssignmentPrefs".


   @{fg shine}ConvertAM:@{fg text}  This program converts all Assigns from the program "AssignmentManager" to the MCP format. After starting this program, all assigns will be copied to MCP and you can use MCP instead of "AssignmentManager".


   @{fg shine}FixJump:@{fg text}  This program stops the annoying jumping of the screen if you show a boot picture and the startup-sequence starts IPrefs. This program is no part of MCP. You can get more information on the @{"FixJump" link "fixjump"} page in this guide..


   @{fg shine}MCPAssigns:@{fg text}  This program makes all MCP-Assigns from the MCP config file. This file will be automatically searched in ENV:MCP2/. Useful is this program if you have a startup-sequence without MCP.


   @{fg shine}ShowPatches:@{fg text}  This program shows all patches which are made after the start of PatchControl and which are currently active.
   This command has 2 parameters:
   TASK    allows the output of a certain task
   LIBRARY limits the list of libraries

   both parameters are allowed together and are processed as logical AND
   Wildcards are not allowed

   e.g. Showpatches TASK MCP LIBRARY diskfont

   will show "MCP V1.37" and also the "diskfont.library"


@{i}Note:  The install script automatically runs ConvertAP and ConvertAM.@{ui}
@endnode

@NODE "introduction" "Introduction"

    Some time ago, in July 1994, a new project began: a Workbench-Utility incorporating a diverse set of features, features which nobody had ever dared to put into one small package. First, only a few, small features were implemented; but then, MCP became more powerful. Now it's time for the whole world to enjoy MCP. The routines are compatible and usable on (hopefully) all Amiga machines. Try MCP and you will see that you can't live without it!

    At the designing stage, we ardently renounced the support of Kickstart 1.x, since every serious Amiga user is working on Kickstart 2.x or 3.x. We would be happy if MCP is used often, and we promise to continue to develop MCP.

    MCP was coded in 100% Assembler to optimise your Amiga operating-environment. It will greatly unburden your startup-sequence by @{"replacing" LINK "replacing"} many of those single-package utilities. Furthermore, the code of MCP is mostly implemented in a more professional and CPU-efficient way. This is one of the first public releases of MCP. There are probably some bugs in it, and we hope that many of you will help us to remove them so that MCP can be the best all-encompassing utility available.

    In October 2001 I took over the project after exactly 2 years of inactivity. There are surely some errors left to fix and I hope to get much support so MCP can become the best control program.
@{B}Some of the features of MCP:@{UB}

  · Moving & Sizing of solid windows (Fully SystemConform)
  · CrunchPatch (Let programs load crunched files!)
  · MouseAccelerator
  · AssignWedge
  · Automatic Screen Activation
  · Requester Timeout
  · Exchange AppIcons
  · WBTitle-Clock
  · CacheFont
  · Assign-Manager
  · ReqToolsPatch
  · MousePointer-Blanker
  · new Workbench-Titlebar
  · ToolAlias (changing the Default Tool in the icons)
  · Drive NoClick
  · Screenblanker
  · NoGuru (Prevents some resets)
  · DOS star (@{FG Shine}*@{FG Text} instead of @{FG Shine}#?@{FG Text})
  · Hotkeys
  For the full list go to @{" Features " LINK "fet_features"}
@ENDNODE

@NODE "replacing" "Replacing"

For those users of MagicCX we want you to refer to the following advantages:

  · it's FreeWare !
  · it doesn't use as much memory (in comparison to the functionality)
  · it offers extraordinary characteristics, which can't be found in MagicCX
@ENDNODE

@NODE "liability" "Liability"

@{FG Shine}@{BG Shadow}With the usage of MCP you agree to the following:@{FG Text}@{BG Back}

    THERE IS NO LIABILITY TO THIS PROGRAM-PACKAGE,IN REFERENCE TO THE
    ASSERTED LAWS. THE COPYRIGHT OWNERS, AND/OR A  THIRD PARTY, PLACE
    THIS PROGRAM PACKAGE AT YOUR DISPOSAL "AS  IS" (EXCEPT WHERE THIS
    IS FIXED ANYWHERE ELSE IN A WRITTEN WAY) WITHOUT ANY GUARANTEE IN
    ANY  FORM (INDIRECT OR DIRECT FORM). THE FULL RISK OF QUALITY AND
    FUNCTIONALITY  OF THIS PROGRAM IS AT YOUR OWN. IF THE PROGRAM HAS
    A BUG, YOU HAVE TO PAY  ALL COSTS  OF THE NECESSARY SERVICE-WORKS
    AND REPAIRS FOR YOURSELF.

    UNDER  NO  CIRCUMSTANCES,  THE  COPYRIGHT OWNERS OR A THIRD PARTY
    DISTRIBUTING THIS PROGRAM PACKAGE, AS ALLOWED, JUST  BEFORE,  CAN
    NOT  BE  HELD  RESPONSIBLE  FOR  ANY  DAMAGE CAUSED IN ANY USUAL,
    SPECIAL, OR ACCIDENTAL WAY OR BY THE PROGRAM PACKAGE (SURROUNDING
    BUT NOT RESTRICTED ARE THE LOSS OF DATA OR NOTCORRECTLY DISPLAYED
    DATA OR LOSSES CAUSED BY YOU OR A THIRD PARTY OR BY A FAULTY WORK
    OF THIS PROGRAM PACKAGE  WITH  OTHER PROGRAMS), ALSO IF THE OWNER
    OR A THIRD PARTY HAS BEEN POINTED AT SUCH POSSIBILITIES OF DAMAGE.

@{B}Distribution:@{UB}

    MCP is FreeWare! It's really a great program, but it isn't released as ShareWare. Nowadays everybody makes his program ShareWare. What's up guys? Don't make money! Make good tools!

    You are free to distribute MCP as long as the original archive is kept in tact. Commercial use or its inclusion in other software packages is expressly prohibited without prior consent from @{" Dieter Groppé " link "author" 0} }. You are not allowed to make money with the distribution of MCP, especially the selling price of the disk with MCP may not be higher then $5 or the same amount in other currency respectively, with the exception of disks from Computermagazines.
@ENDNODE

@NODE "muifo" "MUI Info"

   The MCPPrefs program uses  MUI - MagicUserInterface
         (c) Copyright 1993-98 by Stefan Stuntz

       MUI is a system to generate and maintain graphical user interfaces. With the aid of a preferences program, the user of a @{B}MUI@{UB}-application has the ability to customise the outfit according to his personal taste.

       MUI is distributed as shareware. To obtain a complete package containing lots of examples and more information about registration please look for a file called "muiXXusr.lha" (XX means the latest version number) on your local bulletin boards, public domain disks, or any Aminet sight.

   If you want to register directly, feel free to send DM 30.- or US$ 20.-
   to:

                         Stefan Stuntz
                    Eduard-Spranger-Straße 7
                         80935 München
                            GERMANY

         Phone: +49-89-313-1248
         E-Mail: stuntz@informatik.tu-muenchen.de

@{I}NOTES:

 1) It is not necessary to register MUI to use MCP-Prefs, but you should consider registering, as you will be able to save the graphical look of MCPPrefs.

 2) MUI is only needed by the "MCP Prefs" program. The MCP itself runs independently from MUI and from its libraries.

 3) It's enough to have the MUI-Libraries in your 'LIBS:' directory to start the Prefsprogram.@{UI}
@ENDNODE

@NODE "contactus" "Contact us"
@{B}New Ideas:@{UB}

     If anybody has new ideas, you should tell us. We will try to included them in future versions of MCP. Please read the documentation carefully before you send an idea, maybe it's already present.
     It would also be nice to get permission to integrate Assemblersource of existing tools into Mcp.

@{B}Bug Reports:@{UB}

     Because of the time involved in developing and documentation I can't test everything 100%. I will not use betatesters so I would be very happy to hear about any ERRORS. Of course we're strongly interested in running MCP on all machines BUG-free. That's why we are grateful about any objective criticism. But, before you send us a BUG report please ask yourself the following:

  · Has MCP been installed properly?
  · Are @{B}all@{UB} system requirements fulfilled?
  · Have you removed @{B}all@{UB} programs, doing the (nearly) same thing?
  · Has the MCP-config file been changed only with the Prefs-Program?
    (@{I}Changing by hand is not recommended and may be @{B}deadly @{UB}if not done correctly.@{UI})

     If you can answer all the questions with a simple @{B}yes@{UB}, then tell us about the BUG. An exact description of it is very important. The more detailed the description, the more quickly the BUG may be removed! If someone, who's not registered, finds a BUG, you must also report your system-configuration (type of machine, processor, kickstart; see the @{" Registration " LINK "registration"} section) and the version number of MCP. This report should be sent to one of the @{" Author " LINK "author"}.

     @{I}Every mail will be read and probably answered!! @{UI}

@{B}Developing:@{UB}

     I invite any programmers to join the developing of MCP. If you want to improve MCP, you should contact @{" me " LINK "author"}.
     I have a full-time job and not that much free time.

Known Issues

- could not reproduce this, + tested, o not testes, FIX Fixed  M New 
MCPPrefs will try to cleanup errors


 +M Screensaver does not work (List in prefs is not shown)
 +M MCPPrefs saves CheckJoy always as YES and HDPrefs always off
 +M MCP does not save "Powersave off when mousepointer is in... "
 - Powersave mode doesnt work
 o Sysinfo V 2.2 doesn't start at all
 + SNAP recognises _ as -
 o SNAP Word field selection misses one character
 o Titleclock does not work with Voyager and MUI
 - Softrestart hotkey freezes Amiga
 o Windowpaternrecognition does not work with "maximize window"
 o on many systems MCP 1.35 does not start and 1.36 only from Workbench
 + Quickdraw not selectable in Prefs because it is not integrated
 + OpenDiskFont is always patched , also when not activated
 + Hotkeys does not work with Deadend keys ( like ´)


 FIX HDPrefs not selectable in prefs because it was not intergrated
 FIX SNAP only seems to work for a few people
 FIX Formatprotection doesnt protect properly against format
 FIX Powersaver "PowerOff" function switches monitor off in AGA
 FIX ReqAttack has trouble with Reqtoolspatch or Assignwedge for some people
 FIX MCPPrefs crashes on "save" or "use"
 FIX Toolalias does not run , all programs crash.
 FIX  'VBR to fastram' crashes on 68020
 FIX  Screenmenu Gurus when switching 2 screens too often
 FIX Activate on Workbenchtitle doesn't work with Magellan and CGX 4.2
 FIX Installer overwrites configuration
 FIX Installer illegal function call in line 1087 on Russian install
 FIX MCP crashes on exit or save when patches are active
 FIX MCPPrefs hangs after 5-60 minutes even when not used
 FIX Packerpatch does not always work (e.g. with multiview)
 FIX Installation does not work properly, catalogs are not copied
 FIX MCP's ReqToolspatch doesnt like reqtools library 39.2
 FIX Patchcontrol doesnt work on PPC Amiga's
 FIX Old Prefs not converted
 FIX 'maximise active window' in German catalog
 FIX Function swap mouse/joystickbutton not in German prefs and not in guides
 FIX Screenmenu hangs when there are only 2 screens
 FIX Missing English texts for e.g. functions



Wishes/expansions:

   WB Title variable for proccesor usage
   WB title variable for used/all Picasso96-Ram
   Borderblanker for graficscards
   Pathprefs like assignprefs
   AssignPrefs  automatically taking over data from assignwedge
 + Screendimmer only works on 8-bit screens
 o Sysihack doesn't work for new systemgadgets (OS 3.5/3.9)
 + integrating StartWb-Program and StartWB-Programrequester Hotkeyfunctions since OS
   version 3.9 in a systemfriendly way

 FIX PPC recognition under WARPUP
 FIX WB-Titlevariable for Picasso96-RAM
 FIX Workbenchtitle should have a PPC variable
 FIX Reqtoolspatch: ARQ-Mode has to be on when Reqattack runs
 FIX CLI parameter 'NOLMB' to switch off MCP refusing to start when mousebutton is pressed
@ENDNODE

@NODE "registration" "Registration"

    MCP is FreeWare and MailWare! We hope, that many of you use this program and that through your letters and registration, we can remove as many bugs as fast as possible. If you have written your own ShareWare program, we would be happy if you send us a keyfile for it.

    We would invite whoever uses MCP to register FOR FREE because I am interested in how many people are using MCP regularly.

    

    @{U}@{B}You can register on my WWW-Page online!@{UB}@{UU}  http://reg.dgroppe.de

    or send the registration form below, or the equivalent of its information, to the @{" Authors " LINK "author"} E-Mail address.

 - - - - - - - - - - - - - - - - - - snip - - - - - - - - - - - - - - - - -
                           MCP - Registration

 Prog Version : MCP v1.3x
 Name         :
 E-Mail       :
 Telephone    :
 City, Country:
 Computer     :
 Kickstart    :
 Processor    :
 Memory       :
 Graphics Card:
 Comment      :
 - - - - - - - - - - - - - - - - - - snip - - - - - - - - - - - - - - - - -

 If anybody wishes to send some money for the support of MCP, we would be very happy. With this money, we will improve the support of MCP by sending more versions via snail-mail and send a couple of disks to computer fairs.
@ENDNODE

@NODE "requirements" "Requirements"

  · An Amiga Computer
  · Kickstart v2.04 or higher
  · A MC68020 or higher for the 020 version or a MC68000/10 for the plain version.
  · @{"MUI" LINK "muifo" } (Magic User Interface) v2.1 or greater for the MCP Prefs. MUI v3.0 or above is necessary to use the drag and drop feature of the MCP prefs program and to use the new MUI help bubbles.

NOTE:
   Some Features may have additional requirements, check the documentation before reporting that it doesn't work!
@ENDNODE

@NODE "howtoget" "How to get MCP"

  The easiest way to get the newest MCP is our Homepage at: http://mcp.dgroppe.de
                                                        or  http://www.dgroppe.de5.de/amiga.html/

@ENDNODE

@NODE "thanks" "Thanks"

A @{B}thank you@{UB} to the following people:

     · Mario Cattaneo for the best beta-testing and for preparing
       the whole MCP archive (and the overworked installation script).

     · Flite for the very nice MCP-Logo in the Prefs.

     · Trevor Moris for the MCP-Drawer icon, the smoothed MCP-Logo and a 16 color mousepointer.

     · Torsten Bach (LSI) for Betatesting, new ideas, the icons and the first German documentation

     · Michael Gollmick for making the English translation

     · Kamel Biskri for the idea of the iconborder patch. (Big greetings ;-)

     · Jan 'One' Skypala for the '_asl.library'

     · Eetu Ojanen for info about the Gary and Ramsey

     · Walter Trautmann for financial support

     · All guys who have sent us some money without request

     · All ßetatesters of the MCP

     · All registered users (especially Martin Steigerwald for the News checking ;-)

     · All people who sent us Bugreports and new suggestions

     · Commodore for the Amiga, one of the best computers ever built!
     · Amiga Technologies for the resurrection of the Amiga.

     · Jason Parker for the NewIcons package for MCP
     · Eric Totel for his wonderful MUI-Builder
     · Nico François and Magnus Holmgren for the cool ReqTools.library
     · T.F.A (especially Price) for the great ASM-One v1.29
     · Stefan Stunz for @{" MUI. " LINK "muifo"}

@{FG Shine}Guides:@{FG Text}
     · Andre Jonsson               Swedish
     · Riccardo Varotto       Italian
     · David Le Corfec        French
     · Michal Kozusznik       Polish
     · Hermes Trismegistus         German
        · Valery Bogatchev              Russian

@{FG Shine}Catalogs:@{FG Text}
     · Martin Caspersson &         Swedish
       Fredrik Hallenberg
     · Giovanni Addabbo       Italian
     · David Le Corfec        French
     · Michal Kozusznik       Polish
     · Bo Thorsen &           Danish
       Mark Holm
     · Sinisa Lolic           Croatian
     · Ernesto Poveda Cortes  Spanish
     · Misha Malyshev &       Russian
          Vlad Komkov
     · Sinan Gurkan           Turkish
     · Eivind Olsen &         Norwegian
       Dag Stenstad
     · Ville Pispa            Suomi
     · Ji Yong Dijkhuis       Dutch
        · Ernesto Poveda Cortes         Spanish
        · Efstathios Persidis      Greek
        · Jan Dittrich             Czech
     · Raul José Batista Silva     Portuguese

                          ... Have fun with MCP !


@ENDNODE

@NODE "fet_wbtitleactive" "Activate on Workbenchtitle"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    If you have a lot of windows open, it can happen that you can't activate the Workbench for picking a menupoint. With this patch it is possible to activate the Workbench by clicking on its titlebar, since this bar is usually free from windows.

    After many requests this works again with Directory-Opus in WBR-mode. Because of an error in DOPUS
    it can happen that a wrong menu is shown. especially when many large windows (>300x185) are open or or the Workbenchwindow is not a backdrop.
@ENDNODE

@NODE "fet_alerthistory" "Alert-History"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    MCP will write every crash into a 'GuruHistory' file. Sometimes, for debugging purposes, it is interesting to know which program caused the crash, and what was the exact reason. The generated file is in ASCII format and has the following scheme:

         Date  : Date and time of the crash.
         Task  : Which Task caused the crash (also task-address).
         Error : the appeared alert.
         By    : Main group of alert.
         Cause : A more exact description of the error.


    PLEASE don't forget to set the location for the MCP.gurudat file in the option window of this function! Otherwise MCP can't display the detailed description of the GURU.

    MCP reads the Gurunumber and the GuruTask from addresses $100 and $104, so it's not impossible that a value exists at this address and MCP takes this value as a Gurunumber. Normally the addresses are clear (if no guru appeared), but some Processorboards or some programs write random data to these addresses.

@{i}NOTE:  To get more detailed information about the crash, exactly after the crash, you have to activate the @{"NoGuru" LINK "fet_noguru"} function. If the 'NoGuru' function is switched off, the crash will be added to the 'GuruHistory' file directly after rebooting the machine.@{UI}
@ENDNODE

@NODE "fet_assignprefs" "AssignPrefs"

 @{" Global " LINK "fet_features"}      Lists      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

 @{" CrunchPatch " LINK "fet_crunchpatch"}   @{" ToolAlias " LINK "fet_toolalias"}   AssignPrefs   @{" Memory Patch " LINK "fet_memorypatch"}   @{" Requester TimeOut " LINK "fet_reqtimeout"}


     With this function you can remove all your assigns (except "ENV:") from the Startup-Sequence and User-Startup and let MCP handle all the assigns and thus speeding up the booting process. Take all assigns from the Startup-Sequence and the User-Startup and enter them into the page Lists/AssignPrefs. If you are a former user of @{B}AssignManager@{UB} or @{B}AssignPrefs@{UB}, you can let your Assigns be converted at installation by the included converter programs. The converted Assigns will be entered automatically to the configfile of MCP. A very interesting thing is the Assign-Late option. If you have a lot of programs on your HD, the amount of Assigns is likely to be very large. It's annoying that you have to scroll every time you open a ReqTools-Requester and press the RMB to show all volumes. The AssignLate function makes the assign only valid, if it is needed the first time. AssignLate is a function, supported directly by the system, and should be used often. All directories by














 AssignLock will be created automatically by MCP, so you must not create these with MakeDir. Also all subdirectories will be created!!

As an additional function you can set global ENV-variables for a couple of assigns. If you start MCP and the given ENV-variable is set ('1', 'YES' or 'ON') then the next assigns are executed. If the ENV-variable is cleared ('0', 'NO' or 'OFF') then the next assigns will be skipped. An ENV-variable is valid until the next ENV-variable. If you want allow all variables, you must select the 'VAR'-type and give it no name. In the Listview you will see 'everytime' !!

Below is information pertaining to the additional gadgets, affecting this function. These other gadgets are located on the page "Lists - AssignPrefs". On the "Lists - AssignPrefs" page you enter all the assigns, which should be done, when starting MCP. The 'AssignPrefs' function has to be active to unghost this page. The ListView shows all your entered assigns.

    The page Lists/AssignPrefs is divided as explained below:

        Left    -  the device to be assigned
        Center  -  type of assign
        Right   -  path of the assign

    An Example:    Pinball --> LATE --> DH0:Games

With the cyclegadget you can choose the type of assign.

The button labeled @{FG Shine}Add System-Assign@{FG Text} deserves some attention, especially if you want to use @{B}AssignPrefs@{UB} for the first time. After you press the button a window will open showing all the assigns currently in effect. Now you just have to select an assign instead of typing it.

    The following types of assigns are possible:

        Late  -  the assign is made when you try to access it.
        Path  -  nonbinding assign (name to path)
        Lock  -  assign where the path-directory is protected from
                 deletion. If the directory doesn't exists, it will be created.
        Add   -  adding an assign to an existing one
                 (the existing assign must be of the 'LOCK' type!)
        Var   -  ENV-Variable for the assigns
                 (all following assigns until the next 'Var' instruction
                 are executed only if this ENV-Variable is '1'.
                 If the 'Var' instruction has no name then all following
                 assigns are executed without checking an ENV-Variable.

@{i}NOTE:

1)
   MCP should be inserted into the startup-sequence as described in @{"Installation" link "installation"}, because some Assigns must be available before the "IPrefs" call.

2)
   The only assign that is not allowed to be entered into the list is the "ENV:" assign, since MCP loads it's configurationfile from there.@{ui}
@ENDNODE

@NODE "fet_capsshift" "CapsShift"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    If CapsLock is active and you press the Shiftkey then the Shiftfunction will be deactivated, that called all letters will be small.
@ENDNODE

@NODE "fet_defpubscreen" "Default PubScreen"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    With this function the frontmost screen (if it's a Public Screen) will become the default Public screen. All requesters will now appear on this screen and not on the Workbench screen. If the frontmost screen is not a Public Screen, the Workbench Screen will be set to Default.
@ENDNODE

@NODE "fet_wildstar" "DOS-Wildstar"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    If this function is activated, you may use the @{FG Shine}*@{FG Text} instead of @{FG Shine}#?@{FG Text} as a wildcard.

@{i}NOTE:  No function from the operating system is patches from this feature so it works only in some DOS programs.@{ui}
@ENDNODE

@NODE "fet_hotkeys" "Hotkeys"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      Hotkeys

    Set Hotkeys in the Global/Features page to on, to use/@{" configure " LINK "HowToHotkeys"} all of the following:

      Activate Window Under MousePointer
      Activate Workbench
      Active Window To Back
      Active Window To Front
      Center Active Window
     @{" Close Active Window " link "fet_closeactivewin"}
     @{" Close Window Under MousePointer " link "fet_closewinundermouse"}
     @{" Cold Reset " LINK "fet_coldreset"}
      Cycle Screens Back To Front
      Cycle Screens Front To Back
      Cycle Windows Back To Front
      Cycle Windows Front To Back
     @{" Enter ASCII " LINK "fet_enterascii"}
     @{" Execute Command " LINK "fet_executecommand"}
      Fast Reset - Easy and faaast(!) RESET for the Amiga 1200.
     @{" Hold Mouse " LINK "fet_holdmouse"} *
     @{" Insert into Inputstream " LINK "fet_insertstream"}
     @{" InsertClip " LINK "fet_insertclip"}
      Lock Mouse Movement
      MapUmlauts * On/Off
      Maximize Active Window
     @{" MemPatch On/Off " LINK "fet_mempatch"}
      Mouse To Menu
     @{" SCSI-Eject " LINK "fet_scsieject"}
     @{" Set Task Priority " LINK "fet_settaskprio"}
     @{" Shift Key " LINK "fet_shiftkey"}
     @{" Snap " LINK "fet_snaphotkey"}
      Start DMA
      Start Screen Blanker
     @{" Start Screen Dimmer " LINK "fet_startdimmer"}
      Start DPMS PowerOff
      Start DPMS Standby
      Start DPMS Suspend
     @{" Start WB-Program " LINK "fet_startwbprog"}
     @{" Start WB-Program Requester " LINK "fet_startwbprogreq"}
     @{" System Restore (Processor, AGA) " LINK "fet_systemrestore"}
      Toggle ALT Key
      Zoom Active Window
@ENDNODE

@NODE "HowToHotkeys" "Configure Hotkeys"

    To use each of these functions by pressing a Hotkey, you first have to select one of the functions, for example @{FG Shine}Execute Command@{FG Text}, then press on the gadget @{FG Shine}New@{FG Text}. A window will appear where you can choose what you have to do to start the function. The window contains three pages; @{FG Shine}Hotkeys, DiskAction & Timer@{FG Text}. You can use one of these pages to define what will start the function by clicking it to front it it isn't there already and then alter what you want and press @{FG Shine}Ok@{FG Text}.

    Please note that you can use more than one way of starting a function, for example you can configure to start the Dimmer by pressing @{FG Shine}Ctrl LAlt d@{FG Text} and by pressing on @{FG Shine}New@{FG Text} again you can also configure to start the dimmer by clicking the left mouse button 4 times if you like that. You can use the @{FG Shine}Execute Command@{FG Text} or @{FG Shine}Start WB-program@{FG Text} to start as many programs as you want, just use a different hotkey for each.

@{B}Hotkey@{UB}

    On the Hotkey-event you must click to 'Sample' and then you can press the (mouse)keys for the function. You must make the mouse and keyinputs separately, though both give later one Hotkey.

        Dispose  - forbid to forward the Hotkey event.
                   The last pressed key, which belongs to a hotkey, activates
                   the hotkey and this last keypress isn't forwarded to other
                   programs. If you define a hotkey to 'Shift d', then the pressed
                   Shift key is forwarded to all other programs, but the 'd' key
                   isn't. Sometimes it's also useful to pass the hotkey to other
                   programs. It's nice to see in a Shell window.
                   If "Dispose" is on, you'll see nothing in an activated Shell
                   window if you press 'Shift d', but if "Dispose" is off, you'll
                   see the uppercase 'D' characters.

         Repeat  - The function will executed multiple times if you hold
                   down the hotkey. This is very important for the 'Insert
                   into Inputstream', because the text or the keystrokes
                   will be executed multiple times.

@{B}DiskAction@{UB}
    Start a function by inserting or removing a disk from the drive

@{B}Timer@{UB}
    Start a function an @{B}x@{UB} amount of seconds after MCP starts and/or start a function every @{B}y@{UB} amount of seconds (after the start time). For the experts this is a simple cron replacement.
@ENDNODE

@NODE "fet_mapumlauts" "MapUmlauts"
@FONT XCourier.font 13

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    This function converts some Umlauts automatically to a two character string or a HTML string.

    Normal character                  |   ä    |   ö    |   ü    |   ß     |    Å
    ----------------------------------+--------+--------+--------+-------------------
    The two character strings will be:|   ae   |   oe   |   ue   |   ss    |   aa
    The HTML strings will be:         | &auml; | &ouml; | &uuml; | &szlig; | &aring;

    Since version 1.36 the Euro sign is also interpreted because this is not yet
    available in all character sets.

    Instead of 2 characters 3 characters will be printed : EUR
    the HTML string is                                     &euro,


    If you type an Umlaut (or use a Snap utility) you will get the converted chars.
@ENDNODE

@NODE "fet_happyenv" "Mount HappyENV"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    If there isn't an ENV: assign present when MCP is started and L:HappyENV.Handler exists then @{B}ENV:@{UB} is automatically mounted.

    You need the original HappyENV package from Martin Gierich to use this function (Aminet: disk/misc/HappyENV.lha).

    HappyENV saves you a lot of RAM space and makes booting faster.
@ENDNODE

@NODE "fet_mousespeeder" "Mouse-Speeder"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    This function speeds up the mouse movement.

    Threshold:
              This is the resolution of the Mouse-Speeder (if you set this
              to 2, the mouse is accelerated if the movement is more than
              2 points).

    Acceleration:
              This is the factor of acceleration.
@ENDNODE

@NODE "fet_nocapslock" "NoCapslock"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    Disables the Capslock key. When activated, if you press it, nothing will happen. This is a nice feature for those of you that are frequently hitting the CapsLock key (when you don't want to) while typing away.
@ENDNODE

@NODE "fet_notapaz" "Replace Topaz"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

   With this function, the standard Topaz font will be exchanged with a new one. For changing the font, you have to edit the function. A new window will open, where you can adjust the font.


@{i}NOTE:

 1)
    The font must be 8 points high and also 8 points wide. It also can't be a proportional font.

 2)
    The font requester in the MCPPrefs program checks only the height of the font. After choosing a font perhaps you will get a requester which says that the selected font is not 8x8.@{ui}
@endnode

@NODE "fet_pointerblank" "Pointer Blanker"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    If you want the mouse pointer to be switched off after some time, change the values to something other than 0 minutes and 0 seconds.
    @{B}KeyBlank@{UB}: Will switch the mouse pointer off when you press a key.

    The mouse pointer is switched on again by moving the mouse. This is a good feature to have activated, especially if you write texts, as it is sometimes irritating that the pointer is above the text you're reading.
@ENDNODE

@NODE "fet_powersave" "Power Saver"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    This option provides the support of the 3-Part-Powermanagement. The timeout for all three parts can be given with the following options:

        Standby:     This mode reduces the monitor's power consumption to
                     15W or less.

        Suspend:     This mode reduces the power consumption of the monitor
                     to 7W or less.

        PowerOff:    This mode is comparable to a real PowerOff and reduces
                     the power consumption of the monitor to about zero.

        DMA:         With this mode the complete Screen-DMA will be switched
                     off. The processor can work faster in the Chipram and
                     the screen is black. (works only on Amiga-Screens)

    With the left checkmark it's possible to set the graphics system which makes the PowerManagement. The 'best' option uses graphics system from the foremost screen.

    If the right checkmark is set, the PowerManagement quits if a new window appears.

    One cycle gadget gives the possibility to disable the DPMS when the mousepointer is on a border or a corner of the foremost screen.


@{I}NOTE: You need at least ECS-Chipset, CyberGraphX or a Retina graphicscard.@{ui}


@{fg shine}@{bg shadow}IMPORTANT:@{fg text}@{bg back}  Please take care that your monitor supports Powermanagement (DPMS), because we don't take any liability for any damage. For this function the vertical and horizontal syncs are switched off !!!
@ENDNODE

@NODE "fet_processor" "Processor"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    The processor options, situated in the right on the Editwindow, will be activated with this function.

@{U}The single options have the following meaning:@{UU}

    VBR to FastMemory : moves the VectorBaseRegister to FastRAM  (010+)
    Instruction Cache : switches on the CPU Instruction Cache    (020+)
    Data Cache        : switches on the CPU Data Cache           (030+)
    Copyback          : switches on the CPU CopybackMode         (040 only)
    Instruction Burst : switches on the CPU Instruction Burst    (030 only)
    Data Burst        : switches on the CPU Data Burst           (030 only)
                        @{I}(at the 040/060 'Burst is not switchable,
                        since it is not changable by software)@{UI}
    Branch Cache      : switches on the CPU Branch Cache.        (060)
    SuperScalar       : switches on the CPU SuperScalar Cache.   (060)
    StoreBuffer       : switches on the CPU Store Buffer.        (060)
    HalfInstrCache    : halfs       the CPU Instruction Cache.   (060)
    HalfDataCache     : halfs       the CPU Data Cache.          (060)
    DisableFPU        : switches off the FPU.                    (060)

    SSP to FastMemory : copies the SystemStackpointer to Fastmem.
                        @{I}(This is only worth using if your original
                        processor was an 68000 or an 68EC020 and you're
                        using a turboboard with fastram.)@{UI}

    MapROM            : not implemented yet.

    FastROM           : Copies the ROM - Kickstart into FastRAM. Usual
                        only used on older Amigas with 16-Bit ROMs (A500,
                        600,1000,2000).
                        (MMU needed)
    AudioFilter       : Switches the audiofilter of for low frequencies, shown by Power-LED
                        This can surpres audio noise from the powersuply but also
                        surpresses low frequencies from sounds.
                        This Hardwareoption is not available in all Amigas,
                        and does not work on soundcards.

@{i}NOTE:  'VBR to FastMemory' and 'SSP to FastMemory' can only be switched on and not off. If one of these functions is switched off, the current state will not be changed.@{ui}
@ENDNODE

@NODE "fet_pubmodes" "PubModes"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    With this function you can set the modes from all PublicScreens.

        Shanghai - Always open a new PublicWindow on the current PublicScreen.

    PopPubScreen - If a window opens on a Public-Screen then this screen will
                   be popped to front.
@ENDNODE

@NODE "fet_screensact" "Screen Activation"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    Who has never been annoyed from bringing a new screen to front and wanting to pick a menu or wanting to edit in a text-editor window and nothing happens. The reason is that the screen isn't active. This function always activates the front most screen automatically.


@{I}NOTE:  MCP remembers the last active window and the last active gadget on every screen and if a screen comes to front, it activates this window and this gadget automatically again (should always be switched on).@{UI}
@ENDNODE

@NODE "fet_screenblanker" "Screen Blanker"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    This function enables the usage of a screensaver. There is a simple Blanker, which brings up a black-coloured screen.

More settings to the Preferences of the screenblanker are situated on the extra window if you edit this function. There you can select the time in seconds until the blanker will start.

Certainly you can include or exclude several tasks for the blanker.

With the 'Off when new window appears' option, the blanker will be switched off if a new window appears.

One cycle gadget gives the possibility to disable the blanker when the mousepointer is on a border or a corner of the foremost screen.

Additionally you can type a name of an ARexx script in the last two fields of this window. This ARexx script will be executed on the start or the end of the blanking.

@{I}NOTE:  The ARexx script option needs the 'rx' command in the current search path.@{ui}
@ENDNODE

@NODE "fet_screendimmer" "Screen Dimmer"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    With this function a dimmer is switched on. it enables the soft dimming of the most front screen, as long as you do not move the mouse or press any key in the entered time. Especially on machines with the new AGA-Chip-Set it looks very good when the screen is dimmed slowly before the screen is fully blanked. Furthermore it has the advantage of being able to control some actions in this time (e.g. Error-Requesters).

The list contains different Dimmer settings, so it's for example possible to dimm after one minute to 70% and after two minutes to 50%.
If you edit the function then you get a new window and you can make the following settings:

    @{b}For each Dimmer setting in the list:@{ub}

           Depth  -  is the depth, to be faded to (adjustable from 0%-100%)
                     0% = no dimming   100% = black

         Minutes  -  Minutes until the blanker starts since the last key or mouse press.
         Seconds  -  Seconds until the blanker starts since the last key or mouse press.

   Start Blanker  -  Starts the Blanker after the Dimmer has finished this step.

      Start DPMS  -  Starts the Powersaver after the Dimmer has finished this step.

    @{b}For all Dimmer settings in the list:@{ub}

                     Delay  -  delay between the dimming steps in 1/50 secs.
                               0 = no delay      255 = 255/50 secs delay

                     Step   -  number of steps to be dimmed at once.
                               1 = 1 step  255 = 255 steps (if possible)

     Disable when mouse on  -  various settings to prevent the appearance of the Dimmer.

               Border size  -  Size of a virtual border in pixels for "Disable when mouse on".

                   Pattern  -  Pattern to compare with the foremost screen to prevent the appearance of the Dimmer on some screens.

      Off, when new window  -  If this option is on, an active Dimmer will be cancelled if a new window comes up.
                   appears


@{I}NOTE:  On AGA-machines you should enter 1 for the DimmStep value and a 4 on GfxBoards for a soft fading. Besides only WB-Modes will be dimmed (no 24Bit Modes).@{UI}
@ENDNODE

@NODE "fet_screensmenu" "ScreensMenu"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    If you press RMB on the ScreenDepthGadget, a pull down menu will show all the available screens. You can now choose a screen to be brought to front. This function is particularly useful, if you have a lot of screens open, because you can jump directly to that screen. You can also define the maximum width of the menu.
@ENDNODE

@node "fet_setquantum" "Set Quantum"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    With this function you can set the Quantum value from the Execbase-Structure. This changes the maximum time from a running task before an other task with the same priority will be activated. The default value of 4 for Kick2.x/3.x rather 16 for Kick1.3 is optimal for slow computers, but can be set to 1 for a quicker task switching.

    Here are some infos from the RKM:
    The currently running task has had control of the CPU for at least a preset time period called a quantum and there is another task of equal priority ready to run.  In this case, Exec will preempt the current task for the ready one with the same priority.  This is known as time-slicing.  When there is a group of tasks of equal priority on the top of the ready list, Exec will cycle through them, letting each one use the CPU for a quantum (a slice of time).

    Error in Kick1.3:
    Kickstart 1.3 contains two task switching errors. After an interrupt it is possible that a task lose the control over the CPU to an other task with the same priority even when the time from the first task isn't went off. The second error allowed a task from which the time is went off, to hold the CPU forever or until an other task with a higher priority was available. Two busy-waiting tasks with high priority would never give up the CPU. Because the input.device runs with priority 20 the error doesn't occur for tasks with lower priority. The Quantum value had only a small effect because of this error. For Kick2.x/3.x a task holds the CPU time until the Quantum value is timed out or an other task with a higher priority becomes available. If the Quantum time is timed out, the current task will lose the CPU. The Quantum value is set to 16/60 seconds for Kick1.3 and 4/60 seconds for Kick2.x/3.x.
@endnode

@NODE "fet_snap" "Snap"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}


@{B}@{U}MCP Snap Documentation@{UU}@{UB}
@{B}Snap@{UB} was originally written by @{"Sören Sonnenburg" link s_Author} 1995-98.
translated and integrated into the guide by D.Groppé 2001.

  @{"   Introduction   " link s_Introduction}
  @{"     Features     " link s_Features}
  @{"   Requirements   " link s_Requirements}
  @{"   Configuration  " link s_Configuration}
  @{"      Thanks      " link s_Thanks}
  @{"      History     " link s_History}
  @{"       To do      " link s_ToDo}
  @{"        FAQ       " link s_FAQ}

@ENDNODE


@NODE s_Introduction "Snap Introduction"
@prev s_Introduction

@{B} - Snap:@{UB}

    Not snapped yet ? Then try it and you`ll never miss it !
    It is something out of the cut and paste era.

Here a short description:

    With this Snap function you can frame a text on the screen and let the
    computer type it for you multiple times. The framed text will be copied
    to the clipboard and therefore a couple of other programs can insert this
    text. To make this function working you must edit the @{" Hotkeys " LINK Hotkeys}
    page and there you have to edit the 'Snap' and 'Insert Clipboard' hotkeys.
    Please be sure that you assign only a key to the 'Snap' hotkey, because the
    mouseclick with the left mousebutton will be internally added.

@ENDNODE

@NODE s_Features "Snap Features"
@prev s_Features

MCP snap combines the POWER of Powersnap with the SPEED of the good old snap.
Actually it features:

-snapping of fonts with a width <= 16 and ysize <1024
-snapping of text that is directly written on a picture (try DPaint) see @{colorsnap link s_colsnap}
-snapping of bold/underlined/invers/changing colors
-first snap to handle small letters at the first click (try snapping a single dot)
-geniously configurable
-snapping on screens >8 bit
-optional try all nonprop fonts in memory
-optional try user specified fonts beside the rastports default font
@ENDNODE

@NODE s_Requirements "Snap Requirements"
@prev s_Requirements

You need an Amiga with OS2.0 or higher.
I suggest using this snap with 68020+ due to 68020 optimised ASM routines.
@ENDNODE

@NODE s_Configuration "Snap Configuration"
@prev s_Configuration

@{B}Font-List:@{UB}

Snap will try all fonts in this (in the given order) list after the rastports
default font. You should insert your mainly used fonts there.
Note that only opened fonts will be tried. So a long list must not mean a longer
snapping time. (Except snapping fails and you have got a lot of fonts in memory).


@{B}Colorsnap:@{UB}

Enable snapping of text over pictures. That means if there are more than 2 colors
in in the area of a single character snap will try color after color until a character is
recognized or no color is left. You should enable this only on fast machines (68030+).
I needed it to snap the icon text on my WB.
Note that colourful ANSIS can be snapped without enabling this switch.


@{B}Extend Area:@{UB}

If you release your LMB while snapping and then go on selecting, the selected
area will extend. Otherwise one edge is fixed on the first clicked character.


@{B}Try all fonts:@{UB}

Snap will try all opened fonts after the rastports default font and the fonts
specified in the fontlist.


@{B}No Displaybeep:@{UB}

Snap won`t beep if no character was recognized.


@{B}EOL Errorskip:@{UB}

Snap will kill all unrecognized characters at the end of each line.


@{B}Try bold fonts:@{UB}

Snap will try bold fonts too (after the normal-styled fonts).
Note that you need to click on a normal-styled character first. If you want snap
to recognize bold characters at first see Try bold fonts first.

@{B}Try bold fonts first:@{UB}

Snap will try bold fonts,after all fonts in all colors have been tried.


@{B}Error sign:@{UB}

The character that will be inserted for an unrecognized token.


@{B}Snap Mode:@{UB}

Here you can configure how snap behaves when clicking:

-Normal    first click: a square area is selected
           doubleclick: a word is selected
           next  click: a full line is selected
           next clicks cycle between these modes

-Area Snap first click: a word is selected
           next  click: a full line is selected
           next  click: a square area is selected
           next clicks cycle between these modes

-Line Snap first click: a full line is selected
           next  click: a square area is selected
           next click: a word is selected
           next clicks cycle between these modes


@{B}Crawling direction:@{UB}

Configures the direction of the crawling ants (left or right).


@{B}Crawling speed:@{UB}

0= no movement
1-7=crawling speed (the higher the faster)


@{B}Pen:@{UB}

The color of crawling ants (usually pen 0=black
                                    pen 1=white
                                    pen 2=blue)


@{B}Snap pattern:@{UB}

The pattern of the crawling ants (3333 is a good idea).

@ENDNODE

@NODE s_Thanks "Snap Thanks"
@prev s_Thanks

I want to say thanks to:  Frank Fenn
                          Stefan Sommerfeld
                          Andreas Wenzel

Note: Who wants to be FAMOUS ?
@ENDNODE

@NODE s_History "Snap History"
@prev s_History

97-03-7 Snap V1.0 introduced

<a lot of undocumented work>

It all started with an Idea in 1995.
@ENDNODE

@NODE s_Todo "Snap Todo"
@prev s_Todo

Well... there is really a lot. But don`t forget I do not get any mony out of my work, if you want
me to include more.

+snapping of:

 -proportional fonts (this snap is designed to handle prop fonts. But I don`t see any sence in it to
                     complete my code)
 -italic fonts

+snapping in screentitle
+asyncrone snapping
+picture snapping
+MultiSnap (ala Powersnap)
+FLI (flexible line distance -> ever tried to snap in Multiview ? *SOON*)
@ENDNODE

@NODE s_FAQ "Snap FAQ"
@prev s_FAQ

This list is actually empty. I hope it will be.
@ENDNODE

@NODE s_Author "Snap Author"
@prev s_Author

    If you have wishes refering Snap, feel free to contact me as follows:

        Snail Mail:

            Sören Sonnenburg
            Fischerinsel 2
            10179 Berlin

        Email: sonne@hoshi.in-berlin.de
        Subject: SNAP:<Your title> (I may not find your mail if you don`t do so)
        Phone:   +49 (0)30 20450337
        FAX/BBS: +49 (0)30 20450338 (leave a message to sonne)

@ENDNODE



@NODE s_Index "Snap Index"
@prev s_Index
@next s_Index

  @{B}@{U}Index@{UU}@{UB}

  @{"   Configuration  " link s_Configuration}
  @{"        FAQ       " link s_FAQ}
  @{"     Features     " link s_Features}
  @{"      History     " link s_History}
  @{"   Introduction   " link s_Introduction}
  @{"   Requirements   " link s_Requirements}
  @{"      Thanks      " link s_Thanks}
  @{"    The Author    " link s_Author}
  @{"       To do      " link s_ToDo}
@ENDNODE

@NODE "fet_sunoptions" "Sun Options"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    With this feature it is possible to activate some of the following options:

      SunMouse         -   activates the window below the mouse arrow
      SunPoptoFront    -   brings the window below the mouse arrow to front.
      SunKey           -   activates the window below the mouse arrow, if a
                           key is pressed.

    @{b}The SunRMB feature can be activated with the "Activate window under Mousepointer" hotkey. This hotkey can be assigned to the right mousebutton and does the same as SunRMB.@{ub}

    The adjustments are reachable by editing the function. On the left side, there are the checkmarks for (de)activating the single functions. With the sliders on the right, you can adjust the delay for SunMouse and SunPoptoFront. If you want to activate the windows by using SunPoptoFront, you have to activate SunMouse too. This allows it to activate the window immediately but bring it to the front a second later.

    Certainly you can enable or disable windows for the 'SunMouse' and 'SunPoptoFront' features. You can find an example for this on the @{"Patternmatching" LINK "fet_patternmatching"} page.


@{I}NOTE:  The delay is displayed in 1/10 sec.@{UI}
@ENDNODE

@NODE "fet_changetd" "TrackDisk Prefs"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    Here you can enter the value of retries, stepdelay, settledelay and calibratedelay for each drive. Please test the values, but if you get read/write errors, then change back to default.

           NoClick : switches off the Drive clicks.

           Retries : Number of Retries if an error occurs. (default is 10)
                     You can set it to 3 or 4 to avoid tracking of the disk
                     and for example faster checking of MS-DOS disks.

         StepDelay : Delay for each drive step. (default is 3000)

       SettleDelay : Delay for the settle of the drive. (default is 15000)

    CalibrateDelay : Delay for calibrating the drive. (default is 4000)
@ENDNODE

@NODE "fet_waitvalidate" "Wait Validate"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    If MCP starts and a harddisk is validating, then MCP will wait until it's completed. The computer can boot normally without any requesters. This is only usefull if MCP is in your Startup-Sequence.
@ENDNODE

@NODE "fet_closeactivewin" "Close Active Windows"

    Closes the active window.

    If you want to close even windows without Close-Gadget, you have to set "everytime" in the @{b}Options@{ub} window.
@ENDNODE

@NODE "fet_closewinundermouse" "Close Window Under MousePointer"

    Closes the window under the mouse pointer.

    If you want to close even windows without Close-Gadget, you have to set "everytime" in the @{b}Options@{ub} window.
@ENDNODE

@NODE "fet_coldreset" "Cold Reset"

    Instead of a warm reset this kills all RESET surviving programs - RAD disks are removed as well - and will set the MMU to off (if available).

    I have this set this to @{FG Shine}Esc LAlt@{FG Text}, very handy if you have something in one hand and want to reset with the other hand.
@ENDNODE

@NODE "fet_enterascii" "Enter ASCII"

    If you hold down the hotkey you can type the ASCII value on your numeric keypad to show the character. Normally you have to type three numbers (000-255), but if you want the character for 30 or higer then you only need to type the last two numbers.

    If you want to have it exactly like the PCs (yuck!) then set it to @{FG Shine}LAlt@{FG Text} and press @{FG Shine}New@{FG Text} and set it to @{FG Shine}RAlt@{FG Text}.
@ENDNODE

@NODE "fet_executecommand" "Execute Command"

    This hotkey will let you execute a Shellcommand.

    The Shell-command must be given on the @{B}Options@{UB} page.
@ENDNODE

@NODE "fet_holdmouse" "Hold Mouse"

  Hold Mouse X / Hold Mouse Y :
     Blocks the mousemoving in the X or Y direction respectively.

  Hold Mouse X or Y :
     Blocks the mousemoving in one direction, where the direction
     is given through the last mousemove.
@ENDNODE

@NODE "fet_insertstream" "Insert into Inputstream"

    This Hotkey puts a given text or/and a keystroke to the Inputstream.

  Following formats are supported and must be set on the @{B}Options@{UB} page:
     Inserting text:          { }    {Amiga is the Best}
     Pressing a key down:     < >    <CTRL LALT A>
     Releasing a key:         [ ]    [CTRL RALT A]

  Example: you want to insert a Doubleclick with the Left Mousebutton, the following line will do this.
<lbutton mouse_leftpress> [lbutton mouse_leftpress] <lbutton mouse_leftpress> [lbutton mouse_leftpress]

    Please note that you must put a space between each string.
@ENDNODE

@NODE "fet_insertclip" "InsertClip"

    Inserts text from the clipboard to the current cursor position.
@ENDNODE

@NODE "fet_mempatch" "MemPatch On/Off"

    MemPatch-option will be toggled and a requester with the actual settings appears.

    @{FG Shine}This only works if the Memory Patch on the mainpage is activated!!!!@{FG Text}
@ENDNODE

@NODE "fet_scsieject" "SCSI-Eject"

    With this hotkey you can eject for example CDROMs or SyQuest-media. If it's possible, the media will be loaded with the next keyclick (e.g. CDROMs). MCP can't check if the media is outside of the drive and therefore MCP sends the LOAD and EJECT commands alternately.

    The Device and the Unit must be set on the @{B}Options@{UB} page.
@ENDNODE

@NODE "fet_settaskprio" "Set Task Priority"

    You can set the priority of a given task with this hotkey.

    The task name and the priority must be set on the @{B}Options@{UB} page.
@ENDNODE

@NODE "fet_shiftkey" "Shift Key"

    You can emulate the Shiftkey with this function.

    If you want to add the Shift-Key only to keys, you have to disable the "Mouse" checkmark on the @{b}Options@{ub} window. If you set this checkmark, the Shift-Key is added to mouse events, too, so that each mouse press will be a SHIFT-mouse-press.

    I have this set to @{FG Shine}LBUTTON MBUTTON MOUSE_MIDDLEPRESS@{FG Text}. This way I can select multiple icons on the workbench by selecting the first icon (keeping the left button pressed down) and then pressing the middle mouse button down and keeping it down, and then release the left mouse button and start selecting as much icons as you want. It's easy once you get used to it.
    For those of you who wonder why not use just the middle mouse button for this, it's simple I use it to @{FG Shine}CycleScreens@{FG Text}. You never again have to use the cycle gadget in the topright corner again!
@ENDNODE

@NODE "fet_snaphotkey" "Snap"

    Here you can define the qualifiers which should be used in conjunction with the left mousebutton to snap a text.

    @{FG Shine}You may NOT Define a MouseEvent!!!@{FG Text}
@ENDNODE

@NODE "fet_startdimmer" "Start Screen Dimmer"

    Starts the ScreenDimmer immediately.

    You must set the "depth" on the @{b}Options@{ub} window!!!!
@ENDNODE

@NODE "fet_startwbprog" "Start WB-Program"

    Starts a given program as WB program, so it can load the tooltypes from the icon. Arguments are not supported.

    The name of the program must be set on the @{b}Options@{ub} page.
@ENDNODE

@NODE "fet_startwbprogreq" "Start WB-Program Requester"

    Starts a given program as WB program, so it can load the tooltypes from the icon. Arguments are not supported.
@ENDNODE

@NODE "fet_systemrestore" "System Restore (Processor, AGA)"
@NEXT "fet_alerttimeout"

    Resets the System, if you changed the system status using the MCP-ToolTypes.
@ENDNODE

@NODE "ALiENDESiGN" "Alien Design"
                    ALiENDESiGN

@{B}Main Authors:@{UB}

       Michael Knoke                            Stefan Sommerfeld
      Berliner Str. 33                            Kaulbachstr. 3
      14612 Falkensee                            14612 Falkensee
          Germany                                    Germany

   Phone: +49-[0]3322-22440                 Phone: +49-[0]3322-202452
  E-Mail: knoke@cs.tu-berlin.de            E-Mail: zerocom@cs.tu-berlin.de


@{B}Additional Authors:@{UB}

       Vincent Schöttke                         Soeren Sonnenburg
  Phone: +49-[0]3322-3202
 E-Mail: fox@aliendesign.net


 As of Oktober 2001  @{" Dieter Groppé " link "author" 0} has taken over development.
              

    May The Force Be With You, And Don't Forget @{B}@{I}AMIGA @{UI}THE RULING QUALITY@{UB}
@ENDNODE

@NODE "fet_alerttimeout" "AlertTimeOut"
@NEXT "fet_systemrestore"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    This function let you define a timeout for an Alert, so this Alert will be cancled after the given delay if you type nothing. The time must be given in seconds.

    @{B}This works only with Kickstart 3.x !@{UB}
@ENDNODE

@NODE "fet_appchange" "AppChange"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    Now you are able to change the AppIcons that are created by the programs themselves. Some programs have ugly 4-colour icons, which look very bad on MagicWB (or NewIcons). With this patch you can use your own, more pleasing, icons for a particular program.

    If you start @{FG Shine}PowerPlayer@{FG Text}, MCP tries to open the icon @{B}def_@{UB}@{FG Shine}Powerplayer@{FG Text}@{B}.info@{UB} from the @{B}ENV:Sys/@{UB} directory as an AppIcon replacement.

    Substitute @{FG Shine}PowerPlayer@{FG Text} by your preferred name, including space(s).
@ENDNODE

@NODE "fet_assignwedge" "AssignWedge"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    Who has never been annoyed by installing a new piece of software, running it and getting the message:

         @{FG Shine}Please insert volume X: into any drive.@{FG Text}

    Until there was @{B}AssignWedge@{UB}, you had to open a shell and had to assign or mount the needed drive manually. After that, you had to start the program again. Now, this hassle is over. This function extends the former requester by adding some gadgets with the following meaning:

      Assign :  Choose a directory with a filerequester and then
                assigns the requested volume to it.
Assign+Prefs :  As Assign but loads MCPPrefs so you can use the AssignPrefs
                "Add Systemassign" gadget to add the assign to the list
      Mount  :  Tries to mount the requested device.
      Deny   :  Like @{B}Cancel@{UB} but also automatically cancels
                 the requester, everytime a call is made to this device.
      Cancel :  Just Cancel , If Requester Persists Use "Deny".


@{i}NOTE:  For devices added by the 'Assign' gadget, if you need them regularly You should Use "Assign+Prefs" to add them to your @{"AssignPrefs" link "fet_assignprefs"} . This extended requester does not support the Locale system function at this time. If you use ARQ then you should insert "ARQ" after @{"PatchControl" link "supportprograms"} (e.g. c:PatchControl #?ARQ).@{ui}
@ENDNODE

@NODE "fet_automount" "AutoMount"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    This function makes an automount to the given DosDrivers if these drivers addressed the first time. MCP can only watch for drivers which makes normally a requester like 'Please insert volume ... in any drive'. You must give these dosdrivers in the stringgadget as a patternstring without the colon.

    Examples:   (RAD|DEV)       to automount the RAD: and DEV: drivers
               ~(DEV)          to automount all drivers except DEV:
@ENDNODE

@NODE "fet_borderblank" "BorderBlank"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    Switches the grey screen border to black.

    @{B}This function needs the ECS or AGA chipset.@{UB}
@ENDNODE

@NODE "fet_cachefont" "CacheFont"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    If you have a large @{FG Shine}FONTS:@{FG Text} directory and want to pick a font from a font requester, it most likely takes a long time until you can really pick the font. The wait is over! MCP will create a list of fonts. This list will be called everytime a program calls the 'AvailFonts' system-function. 'CacheFont' is a 100% replacement for AvailFonts!

    To generate the fontlist, you have to edit this function in the prefsprogram. Then a new window will opened, asking you, if you want to create a fontlist.


    @{B}If new fonts are copied to the Fonts: drawer or some old ones are deleted, a new fontlist will needed to be created. Once recreated, the fontlist will reflect the changes when a fontrequester is opened.@{UB}
@ENDNODE

@NODE "fet_wbtitle" "Change Workbench Title"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    With this function it is possible to configure and to extend your WB TitleBar to your own desire. To change the WB TitleBar, you have to edit this function. A new window will open where you can change the entered value. How much you can enter belongs to the used font (the best is a proportional font) and to the width of the screen.

    The following values are possible:

     %os = Kickstart version             (e.g. 3.1)
     %wb = Workbench version             (e.g. 3.9)
     %ov = exact Kickstart version       (e.g. 39.106)
     %wv = exact Workbench version       (e.g. 39.29)
     %ft = free memory together
     %fc = free ChipMemory
     %ff = free FastMemory
     %Ft = free memory together          (in KBytes)
     %Fc = free ChipMemory               (in KBytes)
     %Ff = free FastMemory               (in KBytes)
     %FT = free memory together          (in MBytes)
     %FC = free ChipMemory               (in MBytes)
     %FF = free FastMemory               (in MBytes)
     %fr = free GraphicscardRAM Retina or P96
     %Fr = free GraphicscardRam          (in KBytes)
     %FR = free GraphicscardRam          (in MBytes)
     %fv = free VMMRam
     %Fv = free VMMRam                   (in KBytes)
     %FV = free VMMRam                   (in MBytes)
     %pt = percentage of free memory together
     %pc = percentage of free ChipMemory
     %pf = percentage of free Fast Memory
     %PT = percentage of full memory together
     %PC = percentage of full ChipMemory
     %PF = percentage of full Fast Memory
     %lt = largest free block of all memory
     %lf = largest free block of FastMemory
     %lc = largest free block of ChipMemory
     %rc = percentual fragmentation of ChipMemory
     %rf = percentual fragmentation of FastMemory
     %nt = number of running tasks
     %nl = number of open libraries
     %ns = number of open screens
     %np = number of open ports
     %nd = number of open devices
     %pr = type of processor 3-digits M68k only ( eg. 68k-Emul) 060
     %Pr = type of processor 5-digits M68k only ( eg. 68k-Emul) 68060
     %PR = type of processor 3-5-digits eg. 604 or 68060
     %cp = type of co-processor   (M68k only)
     %cs = type of GfxChipSet
     %wp = number of free Pens on the WB-Screen
     %ev = value of an env-variable, %evUser? would display
           the value of the env-variable @{FG Shine}User@{FG Text},
           the @{B}?@{UB} has to be directly after the name
           and it won't be displayed.

    Between the above values you can put whatever characters you want.

    @{B}Example:@{UB}
AmigaOS %wb %Pr %cs %FcK Chip (%pc%)  %FFM Fast (%pf%)  %FTM Total (%pt%)  T:%nt L:%nl S:%ns

    Would look like this:
@{BG Shine}AmigaOS 3.9 68060 AGA 1.185K Chip (57%)  11M Fast (70%)  12M Total (68%)  T:64 L:55 S:2 @{BG Back}

    Insert enough spaces between the values, to make it more readable.

    The %Pr and %pr always show the real (or emulated) M68k processor.
    An example with PPC card could be: %PR/%Pr which would show:
    @{bg shine}604e /68060@{bg back}


@{i}NOTE:

   1)
      MCP tries to find the WB-Title through the word "Amiga" in the beginning of the title. This function is not always successful!

   2)
      If you use DOpus5, you must set the "WorkbenchTitle" Env-Variable in the "ENV:Dopus" directory.@{ui}
@ENDNODE

@NODE "fet_copymemquick" "CopyMemQuick"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    This patch replaces the system function @{B}CopyMem@{UB} and @{B}CopyMemQuick@{UB} by a highly optimized Movem- or Move16-Copyloop (if possible).

    @{I}Should always be switched on for the maximum of RAM-performance.@{UI}
@ENDNODE

@NODE "fet_crunchpatch" "CrunchPatch"

 @{" Global " LINK "fet_features"}      Lists      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

 CrunchPatch   @{" ToolAlias " LINK "fet_toolalias"}   @{" AssignPrefs " LINK "fet_assignprefs"}   @{" Memory Patch " LINK "fet_memorypatch"}   @{" Requester TimeOut " LINK "fet_reqtimeout"}


    This function makes it possible for programs to read files crunched by the following packers:
    @{FG Shine}If the appropriate libraries are available!@{FG Text}
    · PowerPacker                      powerpacker.library
    · XPK          (not encrypted files)    xpkmaster.library + used sub-libraries
    · StoneCracker                     ?
    · Imploder                              explode.library
    · Crunchmania                      CrM.library

    If a program already supports some of the packers, then those should be switched off. If you don't then the files will be decrunched twice and thus doubling the loading time.

    On the lower left corner of the Lists/CrunchPatch page there's a cycle button set to @{FG Shine}Include@{FG Text} this means that the tasks you enter have decrunch support, if you change this to @{FG Shine}Exclude@{FG Text} then all tasks except those in the list can read runched files. Unfortunately you can not deactivate single packers in @{FG Shine}Exclude@{FG Text} mode. As the name says this is a patch so I recommend using @{FG Shine}Include@{FG Text} to keep patching to a minimum.

    Press @{FG Shine}Add@{FG Text} to bring up a list of tasks (running at that moment!) You can pick a name or type it, pattern matching is possible with e.g. @{B}#?@{UB} but this is slower, do not use this if you have a slow computer or a lot of tasks running.
@ENDNODE

@NODE "fet_cycletomenu" "CycleToMenu"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    If you enable this function you can enable a little menu for a cyclegadget if you press on it. It follows a description of the preferences for this function:

        MagicWB      - Here you can define the look of the menu if the
                       screen has MagicWB colors

        non MagicWB  - Here you can define the look of the menu if the
                       screen has no MagicWB colors

    You can define the look and the color for the selected and unselected menu if you click on the corresponding image. The frame will select the border from the complete menu and the fontcolor is the color of the menufont.

    Additional to this you can make these options:

        min. entries - This is a value which defines whether the menu will
                       come. If you have a value 3 then the menu comes if
                       the cyclegadget has 3 entries. If the cyclegadget
                       has only two entries then the cyclegadget has the
                       old functionality.

        Entry Height - Hight of an entry in the menu.
                       0    = height equal to gadgetheight
                       1-10 = height equal to fontheight plus this value*2

        Below        - If set, the menu comes under the cyclegadget and is
                       not centered to the active entry

        Sticky       - Set this if you want make a single click to open the
                       menu and just after the second click this menu
                       goes back. In the time between the two clicks you
                       can move the mouse without pressing a mousebutton.

        FixFrameSize - This makes the menu a little bit bigger, so the menu
                       has the same width as the cyclegadget. That's useful
                       if you have a big frame around the menu.

        TopAlign     - Set this to align the active entry (if Below is off)
                       to the upper edge of the gadget. Otherwise the active
                       entry is under the mousepointer.

@{I}NOTE:  Be sure that you don't have an other CycleToMenu program running.@{UI}
@ENDNODE

@NODE "fet_fontsearch" "Font Search"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    If a font couldn't be opened, MCP will try to open the font from the system fonts directory. Useful for those programs that search only in their root-directory for fonts files.


@{I}NOTE:  Only standard fonts (#?.font) will be searched. No (e.g.) PS-Fonts.@{UI}
@ENDNODE

@NODE "fet_hirespointer" "Force HiRes Pointer"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    This function forces the mouse to HiRes forever, so you will never see a LoRes mouse anymore. On AGA-machines it's very annoying, especially when an old program uses a LoRes mouse.

    @{B}This works only with system friendly programs@{UB} (Dune II doesn't work with this function.)
@ENDNODE

@NODE "fet_forcenewlook" "Force NewLook-Menus"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    With this function the colors of all the menus are set to 'NewLook' (3.xx standard). The function works only with kickstart 3.x and it can not be used along with MagicMenu, because MagicMenu uses own Menucolors.
@ENDNODE

@NODE "fet_frameihack" "FrameIHack"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    This function replaces the frames used by the system (e.g. Buttons). The width of the lines will be changed to give it a much better look in 1:1 resolutions.

    Check Resolution :  If on the resolution of the screen will be checked before
                        changing the frame. If there is no 1:1 resolution,
                        nothing will be changed.
@ENDNODE

@node "fet_hdprefs" "Harddisk Prefs"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    You can activate special function for all devices in the list (device names are case sensitiv!!).

    Three buttons allow you to protect the device from formatting by mistake. This function protects from formatting from some viruses, too. Formatprotection protects agains formatting. The QuickFormat option protects your device from quick formats and the BootFormat options protects from bootblock formats.

@{i}IMPORTANT:  If you use NSDPatch, you must add "SINGLEPATCHONLY" to every device in the NSDPatch.cfg file!@{ui}

Since OS 3.5 NSDPatch is integrated into Setpatch, therefore the data in Devs:NSDPatch.cfg has to be changed for every patched device.

@endnode

@NODE "fet_libsearch" "Library Search"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

   Unfortunately some programs have their own library directory and only load their library from there. With this patch you may move libraries to @{FG Shine}LIBS:@{FG Text} to prevent useless doubled library files. It's also possible to create a 'Libs' directory in a program's own directory. 'Library Search' will search for libs in @{FGShine} PROGDIR:libs/@{FG Text} too. You can sort the libs of a program and if you delete that program, you could delete the programs libraries as well.

@{I}NOTE:  First the program will try to load the library at the place the program wants to have it, then, if it fails, MCP starts a new fetch in the 'LIBS:' directory.@{UI}
@ENDNODE

@NODE "fet_lockpatch" "Lock Patch"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    This patch checks the parameter to the DOS function Lock to prevent invalid values. Some programs call this function with illegal values, although there are only two valid parameters.
@ENDNODE

@NODE "fet_memorypatch" "Memory Patch"

 @{" Global " LINK "fet_features"}      Lists      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

 @{" CrunchPatch " LINK "fet_crunchpatch"}   @{" ToolAlias " LINK "fet_toolalias"}   @{" AssignPrefs " LINK "fet_assignprefs"}   Memory Patch   @{" Requester TimeOut " LINK "fet_reqtimeout"}


PLEASE USE THIS FUNCTION ONLY IF YOU HAVE A GFX BOARD. IT DOESN'T WORKS WITH THE AMIGA CHIPSET !!!!
(All Amiga-Screens needs ChipMEM, so it's impossible to patch this ChipMEM to FastMEM)
And do @{FG Shine}NOT@{FG Text} try to force a sound playing program to use only FastRam!

If you want to enable only ChipMem for some programs then it works on all Amigas !!

    With this function you can assign a memorytype to a given task. You can give a special task only ChipMem or only FastMem.

This function is very usefull for owners of a Gfx-Card, because the processor from the Gfx-Board can use also FastRam. With a good Workbench emulation you can give FastRam to almost all programs, with the following advantages:

        · you are able to open big 256-colour-screens, even if you are low
          on ChipRAM (512k or 1MB)
        · it increases the system speed partial extremely (e.g. you need
          barely processor time if the User-Programs of EaglePlayer are
          situated in FastRAM)


@{i}Two modes are supported via the "Exclude/Include" button.@{ui}

@{b}Exclude Mode:@{ub}  All tasks will get ONLY FastMem except the tasks in the list which will get the specified memory!

@{b}Include Mode:@{ub}  Only the tasks in the list will get the specified memory! All other tasks are not changed!



This patch shows, impressively, how good a WB-Emulation of a Gfx-Board is working without ChipRAM. If you use this patch, you have to have a look at the following:

    You must choose 'Exclude' and then you must enter the following programs:

        · if you want to have a mouse arrow at the AmigaScreens (usually
          yes), you have to add the task '« IPrefs »' to the list and give
          this task Fast- and Chipmemory.
        · all programs, which resort to the sound hardware (e.g. all
          soundplayers) have to get both memorytypes too.

    On AmigaScreens Memory Patch (Exclude) will automatically disabled.


    All not entered tasks will become only Fastmemory !!!


                                    ~~~

    For adding a new task, you simply edit the function and click on the 'ADD' gadget. A new window will open, where you can pick a task from the system task list or enter one into the stringgadget by hand.

    If you pick a task from the list, you have the following gadgets at your disposal:

         EDIT      - edit the name of the task
         DELETE    - kill the picked task from the list



@{I}NOTES:

 1)
    If you have a grey screen after Reset you have an error in your list.

 2)
    The NoChipRam-Patch works without problems with the Picasso-emulation but NOT with the P96 emulation at the moment. But it works really good with the CybergraphX emulation since version V2.14 if you @{B}SET@{UB} the ENV-variable 'NOCHIPSCREEN' and @{B}UNSET@{UB} the 'PLANESTOFAST' variable. The scrollfunctions (e.g . pagescroll with Cygnus-Ed) will be twice as fast.

 3)
    If you have typed a task in the list and this tasks gets all the same only fastmemory then you must include the 'WBL' task to the list. This system tasks loads a program and decode the hunks. Because some programs have Chipram Hunks the 'WBL' task must be included.@{UI}
@ENDNODE

@NODE "fet_newgadtools" "New GadTools"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    This function is very powerfull. Now it's possible to change the look of all gadgettypes from the gadtools.library. Because a lot of programs and the whole system uses these gadgets you can change the complete look. Unfortunately some programs uses own gadgets (e.g. Reqtools) which can't be changed ;-(

    Here is a little description how you can change the look of the gadgettypes:

    1) In most of the cases you can define the look for screens with the MagicWB colors and for other screens. (Certainly you can deselect one of these types and then they are not changed.)

    2) In the Pattern-String you can give a pattern for tasks which will preserved from changing. You can see an example for this on the @{"Patternmatching" LINK "fet_patternmatching"} page.


       Button        - Look

       Cycle         - Look
                       XEN-Style/Standard    type of the cycle image in the
                                             cyclegadget.

       Slider        - Look
                       NewLook               type of the slider background
                                          (NewLook=raster, otherwise color)
                       Knob/noImage          slider with a little knob in
                                             the middle

       Scroller      - Look
                       NewLook               type of the slider background
                                          (NewLook=raster, otherwise color)
                       Knob/noImage          slider with a little knob in
                                             the middle

       Arrows        - Look
                       XEN-Style/Standard    type of the arrow image in the
                                             arrowgadget.
                       FixSize               influence the size of the
                                             arrows

                            (Screen 2:1 (Pal Hires, Ntsc Hires)   X=1  Y=0)
                            (Screen 1:1 (Hires Interlaced)        X=1  Y=0)
                            (Screen 1:1 (1024*768)                X=1  Y=1)

       Checkmark     - Look
                       XEN-Style/Standard    type of the image in the
                                             checkmark gadget

       ListView      - Look

       Text / Number - Look

       Radiobut.     - MagicWB               if the Radiobutton should have
                                             MagicWB style.

    The 'small underscores' option makes the underscores a little bit smaller. This improves the look in some cases.
@ENDNODE

@NODE "fet_newtooltypes" "New ToolTypes"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    This function is particularly useful, if you want to start games or demos directly from Workbench and those games don't like your system configurations! You enter the new functions as tooltypes just like the normal AmigaDos toolypes.

You can enter the following @{U}Tooltypes@{UU} to the icons:

     MCPNOVBR:      sets the VBR to address 0
                    (doesn't work if an Enforcer-Tool is running)
     MCPNOCACHES:   switches off all caches
     MCPNOICACHE:   switches off the InstructionCache of the CPU
     MCPNODCACHE:   switches off the DataCache of the CPU
     MCPNOIBURST:   switches off the InstructionBurst mode of the CPU
     MCPNODBURST:   switches off the DataBurst mode of the CPU
     MCPNOCOPYBACK: switches off the CopyBack mode of 68040 CPU
     MCPNOCYBER:    switches the CyberVision64 GfxBoard to AmigaScreen
     MCPNOAGA:      switches the AGA-ChipSet to OCS-Mode (KillAGA)
     MCPPAL:        switches the Screenmode to PAL
     MCPNOMEMPATCH: switches off the 'Memory Patch' function
     MCPNOBCACHE:   switches off the Branch Cache of the 68060 CPU
     MCPNOSSCALAR:  switches off the SuperScalar Cache of the 68060 CPU
     MCPNOSTOREBUF: switches off the Store Buffer of the 68060 CPU
     MCPHALFINST:   halfs the Data Cache of the 68060 CPU
     MCPHALFDATA:   halfs the Instruction Cache of the 68060 CPU
     MCPTIMEROFF:   disables MCPs internal timing, no Dimmer or Blanker
                    will apear.
     MCPDISABLEFPU: switches off the FPU of the 68060 CPU
     MCPFLUSH:      flushes all unused Libraries and Devices from
                    memory (Kickstart 3.x needed)
     MCPASSIGN0:    makes an assign to the system
                    (e.g. MCPASSIGN0=Games,DH0:Games)
                    (The assigns must be counted from 0 to 9, e.g.
                     MCPASSIGN0, MCPASSIGN1, MCPASSIGN2,...)

    The system will be switched back to the original state automatically or by pressing the 'SystemRestore' Hotkey (look at @{" Hotkeys " LINK "fet_hotkeys"}).


@{I}NOTE:  We received a lot of mails, telling us 'Ambermoon' is not working with MCP. The failure is not in MCP. It is the VBR in the FastRAM. With that game (and many other too), you should enter 'MCPNOVBR' into the icon, or switch it off by hand.@{UI}
@ENDNODE

@NODE "fet_newedit" "NewEdit"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    Now you have better control over stringgadgets. At this time MCP supports the following keystrokes:

         'ALT' + 'Cursor left'   - move Cursor one word to left
         'ALT' + 'Cursor right'  - move Cursor one word to right
         'ALT' + 'Backspace'     - clear the left word from Cursor
         'ALT' + 'Delete'        - clear the right word from Cursor
    'RCOMMAND' + 'l'             - switche the string to lower case
    'RCOMMAND' + 'SHIFT' + 'l'   - switche the string to upper case
    'RCOMMAND' + 'c'             - copy the string to the clipboard
    'RCOMMAND' + 'v'             - add the clipboard contents
    'RCOMMAND' + 'SHIFT' + 'v'   - overwrite the string with the clipboard
                                   contents
                 'LCOMMAND'      - use old 'RCOMMAND' hotkey
@ENDNODE

@NODE "fet_displaybeep" "No DisplayBeep"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    Disables the DisplayBeep from the system.
@ENDNODE

@NODE "fet_noiconborder" "No IconBorder"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    Removes the borders from all Workbench icons to allow a better look with NewIcons.
    The idea for this patch came from Kamel Biskri (author of NoFillNoDraw  Aminet: util/wb/NoFillNoDraw.lha).
@ENDNODE

@NODE "fet_noguru" "NoGuru"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    This function extends the system-crash-request and offers more possibilities to choose. If a program crashes, a window with the following contents appears:

    @{U}upper part@{UU}:

         Task  :      Address and name of the task, crashed.
         Error :      which GURU has occurred.
         By    :      Main group of alert.
         Cause :      more detailed description of the GURU.
         PC    :      Address of the ProgramCounter.
         D0-D7 :      Content of the data register.
         A0-A7 :      Content of the address register.


    @{U}Buttons@{UU}:

         Continue     - Continue execution of the program.
         Suspend      - Program will be frozen (but stays in memory).
         Remove       - Program will be removed from memory and all windows
                        and screens, belonging to the program will be
                        removed from system too.
         Change PC    - Address of ProgramCounter can be changed.
         Jump to RTS  - Jumps to a RTS.
         Reboot       - Resets the system.


    If the Guru should be saved, you can enter a delay, to prevent a crash while it writes to the 'GuruHistory' file. First it will be written, then the entered delay time begins and then the requester will appear. You can adjust this by editing the function. If the Guru should not be saved you can enter this in the appearing window too.

    Please setup the location for the MCP.gurudat file in the AlertHistory-Function even if you have deactivated this function! Otherwise MCP can't display a detailed description of the GURU.

@{I}NOTE:  If the function @{"Alert-History" LINK "fet_alerthistory"} is active, every Guru will be written into the 'GuruHistory' file in the selected Directory. If you know more Gurus, please inform us!@{UI}
@ENDNODE

@NODE "fet_patchmath" "PatchMath"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    This function will fix an error in the @{B}mathieeesingbas.library@{UB} on systems with a 68040 processor and kickstart 3.1. The functions IEEESPMul() and IEEESPDiv() of this library crash due to invalid FPU instructions.

    The original code is from Matthias Scheler and is available in the 'MathPatch.lha' archive on the Aminet.
@ENDNODE

@NODE "fet_patchopenwb" "PatchOpenWB"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    This patch is only necessary, if you run Kickstart 3.x. An error in the system, which may occur when opening the Workbench program, will be removed. If a task with a negative priority starts the Workbench program, the system will hang up. If this patch is switched on, the priority will be set to 1, the WorkBench will be started and finally the task will be set to its former priority.
@ENDNODE

@NODE "fet_patchrgb32" "PatchRGB32"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    This patch is only useful if you have a Gfx-Board, Kickstart 3.x and no AGA-Chipset (e.g. A2000/Kickstart 3.x/PicassoII). This patch removes a BUG in the Kickstart 3.x, so that everytime a 24-bit palette is used.

    @{B}This function should not be used on other machines@{UB}; if the patch is not used in conjunction with the above stated hardware, the colors could be incorrect.
@ENDNODE

@NODE "fet_quickdraw" "QuickDraw"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    This uses the system-function @{B}RectFill()@{UB} (which draws filled rectangels) to draw horizontal and vertical lines. On normal Amiga's and most of the graphic cards it draws the lines about 50 percent faster and normally it should work with all programs.
@ENDNODE

@NODE "fet_quicklayers" "QuickLayers"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    With this function all window operations will be accelerated. Some functions of the @{B}layers.library@{UB} will be replaced and a recognizable higher speed (of moving, re-sizeing, opening, and closing of windows) will be reached.
@ENDNODE

@NODE "fet_rampatch" "RAMPatch"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    This patch makes a change to the RAM-Handler, so that the size of the free RAM will be shown. Normally the free RAM-Size is always zero, because the RAM Disk is as big as the total amount of bytes it holds. This works with all programs!
@ENDNODE

@NODE "fet_rtpatch" "ReqTools Patch"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    This function changes the system vectors in a way that all system messages and requesters will be opened with the 'reqtools.library'. This function is a replacement for 'RTPatch' and the requester replacement function in 'ReqChange'. In addition to this, some minor bugs (mostly in RTPatch) have been removed. The AssignWedge function of 'ReqChange' is also implemented to MCP! To get to the hidden gadgets that access the various library patches, you have to edit this function on the mainpage and then you can choose the checkmarks for each of the 'Intuition-', 'Asl-', 'Arp-' and 'Req-' libraries. In addition to this, it is possible to open the requesters in exactly the size, adjusted by the ReqTools Preferences program. The ARQ mode allows the requester patch to use the 'ReqTools Patch' and 'ARQ' together.
    If a Reqtools-Requester is opened a second time, then normally the directory contents is only refreshed if the directory name has been changed. If you set the "Refresh" option, the directory will be refreshed everytime, but the current position in the file list is lost.


@{I}NOTES:

 1)
    If you use ARQ then you must give the 'ARQ' option to PatchControl.

 2)
    ARQ is the animated requesters package written by Martin Laubach. The latest version (ARQ183.lha) is available at any Aminet site and on many BBS's.

 3)
    RTPatch is a requester enhancement package written by Nico Francois. ReqChange is a tool to facilitate the using of requesters by falling back on ReqTools-Requester. The program was written by Magnus Holmgren and is available at any Aminet sight and on many BBS's, too.@{UI}
@ENDNODE

@NODE "fet_reqtimeout" "Requester TimeOut"

 @{" Global " LINK "fet_features"}      Lists      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

 @{" CrunchPatch " LINK "fet_crunchpatch"}   @{" ToolAlias " LINK "fet_toolalias"}   @{" AssignPrefs " LINK "fet_assignprefs"}   @{" Memory Patch " LINK "fet_memorypatch"}   Requester TimeOut


    This function allows you to automatically cancel or confirm @{B}ReqTools@{UB} requesters after a specified period of time. That's why it's recommended to activate the @{" ReqTools Patch " LINK "fet_rtpatch"}.

    You must enter enough information for each requester to be identified. For some requester you may have to enter all fields to have an unique identification, but usually that should not be necessary.

    If the requester is identified by MCP, the gadget specified in @{FG Shine}Gadget Number@{FG Text} will be choosen after the specified time in @{FG Shine}Timeout@{FG Text}.

    @{FG Shine}Title@{FG Text}: The title of the requester, often just @{B}Request@{UB} or @{B}Information@{UB}
    @{FG Shine}BodyText@{FG Text}: The message text inside the requester.
       Between two lines of text you have to enter @{B}#?@{UB} (see @{" Example " LINK "Requester TimeOut-Example"} ).
       You must also take care that no double quotes @{FG Shine}"@{FG Text} are in the text entered.
       @{B}#?@{UB} can also be used for wildcarding.
    @{FG Shine}Gadgets@{FG Text}: The names of the gadgets.
       If you enter more than one name here seperate them with @{B}#?@{UB}

    @{FG Shine}Gadget Number@{FG Text}: The gadgets are counted from left to right starting with 1.
       However the rightmost gadget is always 0, if there's only one gadget it's also 0.
    @{FG Shine}TimeOut@{FG Text}: The number of seconds to wait, 0 means cancel it before it shows up.


@{I} This function must not be used to automatically cancel Shareware-requesters.@{UI}
@ENDNODE

@NODE "Requester TimeOut-Example"
@FONT XCourier.font 13

For example you want to cancel the following requester after 3 seconds:

     @{" Request                            |%" LINK ""}
     |@{BG Shine} @{BG Back}|                                 |@{BG Shine} @{BG Back}|    @{B}Button  GadgetNumber@{UB}
     |@{BG Shine} @{BG Back}| Demo Requester                  |@{BG Shine} @{BG Back}|    Save:        1
     |@{BG Shine} @{BG Back}| some more text                  |@{BG Shine} @{BG Back}|    Use:         2
     |@{BG Shine} @{BG Back}|                                 |@{BG Shine} @{BG Back}|    Cancel:      0
     |@{BG Shine}                                     @{BG Back}|
     |@{BG Shine} @{"  Save  " LINK ""}    @{"  Use  " LINK ""}    @{"  Cancel  " LINK ""} @{BG Back}|
     |@{BG Shine}                                     @{BG Back}|
      ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

     In this case the @{FG Shine}Title@{FG Text} is: @{B}Request@{UB}

     The @{FG Shine}Bodytext@{FG Text} should be: @{B}Demo Requester#?some more text@{UB}

     And @{FG Shine}Gadgets@{FG Text} should be: @{B}Save#?Use#?Cancel@{UB}

     Now set @{FG Shine}Gadget Number@{FG Text} to @{B}0@{UB}

     And set @{FG Shine}Time@{FG Text} to @{B}3@{UB}

Now the requester automatically disappears after 3 seconds or you can make another choice in that time.

In this case the @{FG Shine}Title@{FG Text} wasn't really required, so it could have been left empty.
@ENDNODE

@NODE "fet_promotor" "ScreenManager"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      ScreenManager      @{" Hotkeys " LINK "fet_hotkeys"}

    The ScreenManager is a wonderful promoter, which can do nearly anything for you, if you only know how :-)

    First of all: The ScreenManager is able to change (nearly) every existing Screenattribute, but if the program which uses this changed screen will still working flawless depends hard on the things you  change and what it does expect from its screen. That means sometimes testing is needed to get the best results.

    And that´s how it works: As in every decent programming language one make use of IF/THEN-constructions to specify when and what should be changed.

    If you are looking at the ScreenManagers page in MCP-Prefs right now, you will surely see three listviews.

    The first is for specifying names for the different IF/THEN-pairs you will set up. That means the name is just for you and has no meaning for MCP.

    The second one specifies all IF-Conditions, that have to be true to execute the third (THEN-)list. That means all IF-Conditions (of one name) are linked via logical AND.

    A first example: If you want to change a single screen for a particular program follow these instructions step-by-step:

First List
(Press ADD and enter a Name.):

An_Incredible_Meaningful_Name_To_Know_What_Is_Going_On

ATTENTION !!
The namelist is always completely execute top to bottom, no matter if all IF-conditions of an entry were true or not. If you don´t want to, see below  (THENs - Break).

Second List
(Press ADD, choose the item you want to be checked in the cycle-gadget (here ´Screenname´) and insert what it should be via typing or choosing from the popuplist (the popuplist shows all attributes of running programs, in cases of screennames, tasknames ... or any available attribute for tags, ids ...)

Screenname: RawSpeed Controller Performance Test v1.10 by Russel Miranda


Third List (Another ADD-Button to press and another thing to choose out of the uppopping listview (see below for explanation))


DisplayID Name:CVision: 8Bit 640 x 480


So, what have we done until here ?
This: IF the screenname is the given one THEN set the screenmode to CVision ...

You see, the basicfunction of any promoter, wasn´t that easy ?


    But that´s not all. So here we go, refining it in some (maybe strange) ways. For example it is possible to revise if the opening task of the screen really is RSCP and not a wit, that opens a screen with the same name. What we do have to do is adding a IF-Condition (By pressing ADD, you know), choosing Taskname out of the cycler and typing it in (or choosing it out of the popup if RSCP is running  at the moment). Well, now we are harder to fool :-) But what happens if RSCP becomes wiser and is opening a graphiccardmode at his own, maybe even in higher resolution and we still force him on such a tiny screen ?

Prevention! :)
Let´s do another IF-Condition:
DisplayID Name: ~(#?CVision#?), means: only if  the screenname doesn´t contain CVision go ahead and do the THENs.

    As you can see here, it is able to use patterns, but it isn´t possible to use all the AmigaDOS-Patterns, since a tiny own routine is used, what make thinks a little easier and faster.
Supported Patterns are:
- the normal 0-upto-a-lot-chars-joker ´#?´ and the one-char-joker ´?´
- you can link patterns with logical OR by using ´|´, e.g. (to?e|n#?ttob?)
- to negate a COMPLETE pattern use ´~´, e.g. ~(to?e|n#?ttob?)

That´s all, EVEN NO ´*´ !! ... matching is case-insensitive.


    All the rest you need to know are all the possible IFs and THENs, but to get a clue you have to now what a so called ´Tag´ is. Tags are used to set screenattributes. All Tags of a screen are predefined by the system, but may be changed by the calling program. Since the systemdefault settings were not guaranteed to stay the same over the complete evolution of the system, they can be forced to be on or  off. One can examine in the IF-conditions if a tag is set or not. In the THEN-conditions they can be set.



@{B}Look, all these IFs around here@{UB}


ScreenName
 Compares if the screenname of the screen to be opened matches the given pattern.


TaskName
 Compares if the taskname of the screen to be opened matches the given pattern.


DisplayID
  Compares if the screenname of the screen to be opened matches the given. All at your system available IDs can be listed and selected.

Additional (for experienced users) one can specify a mask to promote complete monitors to another one, e.g. PAL --> DblPAL.
The mask is given in hexadecimal number of eight just after the DisplayID, like this:
    DisplayID:   ´00021000 ffff1000´

The given DisplayID and the DisplayID of the screens that wants to open at the moment are both linked via logical AND with this mask and then compared, that means only the Bits which are set in the mask are going to be compared. So it´s possible to remap complete monitors and still get the right resolutions.

Since this isn´t easy, we will give you here the most important ones:

   AmigaMonitors (e.g. PAL)      ffff1000
   HAM & EHB                     fffffccf

Examples:

   PAL-Monitor:                      DisplayID:   '00021000 ffff1000'

   NTSC-Monitor:                     DisplayID:   '00011000 ffff1000'

   PAL-Monitor (all HAM-Screens):    DisplayID:   '00021000 fffffccf'

see also THEN - DisplayID



@{B}And even more, THENs@{UB}

DisplayID
 Changes the screenmode to the one given by it´s ID, a special feature it is possible to select ´Like First ScreenID´ and you will always get the same screenmode as the first screen has at the moment. This option is useful for stupid screenblankers (e.g. some Garshneb.) , which always open on a preset screenmode  leading to resynchronisations of your monitor if the first screen has different mode than the blanker opens.

Here can be given a mask too (see also IF - DisplayID) to promote complete monitors. This mask is also linked via logical AND with the screenmode id the program wants to open and everything which isn´t zero will be replaced in the selected to-screenmode. Normally the mask is just the negated mask which was given in IF - DisplayID.

The corresponding masks to above are:

   AmigaMonitor                 0000efff
   HAM & EHB                    00000330

Examples:

   DblPAL-Monitor:                  DisplayID:    '000a1000 0000efff'

   DblNTSC-Monitor:                 DisplayID:    '00091000 0000efff'

   DblPAL-Monitor (HAM-Screen)      DisplayID:    '000a1000 00000330'


The mapping of different AmigaMonitors is just possible because the higher bits select the monitor (PAL, NTSC, MULTISCAN ...) and the lower ones specify the attributes as resolution, interlaced ... Unfortunately he mapping of different graphiccardsystem isn´t that easy.


DisplayID Name
 Selects the screenmode by its name.


Autoscroll
 Switches Autoscroll on, so you can scroll around on the screen with your mouse if the complete screen isn´t visible, e.g. oversized or dragged screens.


Overscan
 Selects the overscanarea for the screen.


DRI-Pens
 Here you can set the pens to be used for the GUI-elements to paletteentries (maybe have a look at the WB-Paletteprefs). With this function you may ´emulate´ and now disappeared MCP-function, SetDRI-Pens. Like this:

IF: Tag not available: 8000003a THEN: DRI-Pens: -1 (default).

This entry should be the first of your name list, so it is always executed.


Break
 IMPORTANT! Breaks the execution of the first (Name-)list. Normally every entry is checked, even if a former couple of IFs did become true.


LockPens
 Locks Colors (nice to use in combination with SharePens s.b.). It is possible to lock a special color or a given paletteentry.
An entry in the colorlist looks like this:
<Paletteentrynumber or -1> <red> <green> <blue>. If as first number a -1 is given a new color will be allocated, if not the given paletteentry will be locked and set to the given color. This option may replaced the MagicWB-Demon or other programs of that kind.


Center Screen
 This function will center screens that are opened in an Overscan screenmode but have a smaller resolution. E.g. if a screen is opened in a resolution of 640*480 but in VideoOverscan mode (656*495), it will be placed in the exact middle of this (656*495), instead of in the upper left corner.


Tag
 The following tags can be set or cleared. It is not impossible that a program really doesn´t like some screenattributes you would like to set, also not every combination of tags makes sense.

Left
 Sets the left offset of the screen.

Top
 Sets the top offset of the screen.

Width
 Sets the width of the screen.

Height
 Sets the height of the screen.

Depth
 Sets the depth of the screen in bits.

Detail Pen
 Sets the Pen to be used for rendering details in the screen title bar and menus.

Block Pen
 Sets the Pen to be used for rendering block fills in the screen title bar and menus.

Title
 The given text becomes the titletext of the screen.

Type
 Customscreen, if the screen may only be used from the program which opened it  Pubscreen, if also foreign programs are allowed to open their windows on it. Workbenchscreen, not useful, guess why.

Public Screenname
 Name of the screens.

Showtitle
 ON: Titelbar will be showed.

Screen Behind
 ON: Screen will be opened in the background it will not popup as first screen.

Quiet
 ON: Screen has no visible titlebar, but dragging and depth arranging is still
     working.

Full Palette
 ON: Initialize color table to entire preferences palette (32 colors beginning with V36), rather than the subset from V34 and earlier.


All Tags explained below this line are v39 (OS 3.0) and higher only !!!  Please don´t try them on obsolete systems.

Draggable
 ON: screen can be dragged

Exclusive
 ON: Screen will never be visible if any other screen is (partly visible). He won´t be draggable or visible behind dragged screens.

SharePens
 ON: Every not preset (via dri_pens) colors aren´t locked and can be allocated by any program (useful for e.g. MagicMenue). But, if the opening program don´t allocate its colors and depends on a static palette, you will get false colors if foreign programs are allocating and changing paletteentries.

Interleaved
 ON: Enables interleaved bitmaps for this screen, what is faster, softer to scroll, but may cause problems with old programs.

LikeWorkbench
 ON: Builds a screenmode which is as near as possible to the Workbenchscreen in color, size ...


All Tags explained below this line are v40 (OS 3.1) and higher only !!!  Please don´t try them on obsolete systems.

MinimizeISG
ON: The InterScreenGap (while dragging) will be minimized.
OFF: default, at least three noninterlaced Lines between two screens.
@ENDNODE

@NODE "fet_shapeshifter" "ShapeShifter Patch"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    This function makes a couple of advantages if you use the program ShapeShifter. If you edit this function you can choose the following settings:

           LockTask  -  If a Amigascreen is in the foreground then the
                        ShapeShifter will be freezed to protect the
                        Amigascreen from overwriting if you have a
                        graphics card.
@ENDNODE

@NODE "fet_movewindow" "Solid WindowMoving"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    It is possible (fully systemfriendly) to move the windows filled. The speed of moving rests on the following factors:

      · size of window
      · number of windows laying over another
      · the blitter- and the processor-speed

    To change the adjustments, you have to edit the function and in the opened window you can make the following adjustments:

      max. Surfacesize:
         here you enter the maximum size of the window that will be moved
         filled. If the window is larger than this value, the window will
         be moved normally. This size value is computed by 'width * height'
         of the window (e.g. 200 * 100 = 20000).

      only WB-Windows:
         only Workbench windows (with icons inside) will be moved filled.
         Program windows will be moved normally.

    Certainly you can enable or disable windows for the solid window moving. You can see an example for this on the @{"Patternmatching" LINK "fet_patternmatching"} page.

@{I}NOTE:  On systems with a fast Gfx-Board (e.g. Cybervision64) the windows move nearly in realtime.@{UI}
@ENDNODE

@NODE "fet_sizewindow" "Solid WindowSizing"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    This function makes it possible to enlarge/reduce the size of a window filled (fully systemfriendly).

    For more detailed information, please refer to the section @{"Move Full Window" LINK "fet_movewindow"}. The entry 'Surface size' is not available to this function.
@ENDNODE

@NODE "fet_sysihack" "SysIHack"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    The standard system-gadgets will be changed to a more 3D look. This function isn't a full replacement for the program "SysIHack," because the original "SysIHack" features more functions then the ones effected by MCP's SysIHack.

    Additional to the normal SysIHack you can make the four MUI window title gadgets and the KingCON-Iconify window title gadgets in a nice 3D look.

    With the 'No Systemgadgets' option you can disable the patch for the systemgadgets and only allow to patch the KingCON or MUI gadgets.

    The 'New Propgadget' option gives the scrollbar from the Workbench-windows a little more 3D look.

    If you have changed the size of the sizegadget or the arrows, then you can activate the 'Rearrange gadgets' function to rearrange all other gadgets in the right border of a window.

    Now some additionally gadgets allowes you to resize the Sizegadget and the Arrows of the windows. This makes a better look on 1:1 screens if you increase the values. Best values for 1:1 are SizeWidth=18, Sizeheight=16, ArrowWidth=18, Arrowheight=16 for the gadgets.
    It's also useful to increase the bottom window border on 1:1 screens. Normally the values for the border are Top=2, Left=4, Right=4, Bottom=2, but now you can select the BottomBorder value to 4! You can deactivate the changing of the bordersizes if you set the size to zero!
    ATTENTION:
      (1)  If you change the top border, the gadgets in the title are to small. This is a bug of the operating system !!!
      (2)  The width of the right border is limited to a minimal value of 18, because the operating system checks this !!!


@{I}NOTE:  Don't start the original program "SysIHack" if this function is enabled!@{UI}
@ENDNODE

@NODE "fet_wbclock" "Title Clock"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    This is a freely configurable Workbench TitleBar-Clock. If you edit this function, you can configure the clock. In the first line, you can choose the way the clock will look. On the lower lines, you can enter the position (x;y) orientated to the left or right screen border. Since the clock is for the ScreenTitleBar you may see nothing if your y-coordinate is to large. You can also choose the font for the clock. Proportional fonts are allowed. If you choose no font, the Screen-Title-Font will be used. The last checkmark is for adjusting the clock. If you activate the options "All Workbench-Screens" and/or "All Public-Screens" then you can allow more screens in the pattern field.

    You can see an example for this on the @{"Patternmatching" LINK "fet_patternmatching"} page.
@ENDNODE

@NODE "fet_toolalias" "ToolAlias"

 @{" Global " LINK "fet_features"}      Lists      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

 @{" CrunchPatch " LINK "fet_crunchpatch"}   ToolAlias   @{" AssignPrefs " LINK "fet_assignprefs"}   @{" Memory Patch " LINK "fet_memorypatch"}   @{" Requester TimeOut " LINK "fet_reqtimeout"}


    Who hasn't double clicked on the icon of a guidefile only to be annoyed by a requester with the text @{FG Shine}Unable to open your tool@{FG Text} @{B}XXX@{UB}. And that only because the author of the guide file likes to use AmigaGuide while you use MultiView. Or you have the program on a different place on your harddrive.

    With this function it is possible to virtually change the @{B}Default tool@{UB} of the icons. If you want to install a piece of software on your HD from floppy, usually Installer will be loaded from the floppy, with this function you can let it be started from your HD instead.

    On the Lists/ToolAlias page, press @{FG Shine}New@{FG Text} and enter the string to be changed. Wildcards are allowed and are recommended e.g. @{B}#?@{UB} Next type or pick the filename to be used instead.

    Example: @{FG Shine}#?AmigaGuide@{FG Text}  -->  @{FG Shine}SYS:System/MultiView@{FG Text}
    This will re-route all calls to AmigaGuide regardless what the path was to SYS:System/MultiView. For those of you who wonder why @{B}SYS:@{UB} that's because I work with 2 boot partitions (System: and Workbench:) and SYS: is always the current bootpartition.

    @{I}In contrast with other ToolAlias-programs, this virtually changes only the default tools, you still can call e.g. Installer on a floppy from the shell if you want to.@{UI}
@ENDNODE

@NODE "fet_wbabout" "WBAbout"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    With this option enabled MCP shows a new Workbench-About requester which contains additional information to the system (CPU and Memory) and you can flush the memory (only Kick3.x) or reboot your machine.

    If a 'more' gadget is available then you can see the programmers of your kickstart.

    This function only works up to OS 3.1 because since OS 3.5 this is not a requester anymore but a window.

@{I}NOTE:  This extended About requester doesn't work with ARQ. This is because ARQ doesn't call the systemroutine after it's own routine.@{UI}
@ENDNODE

@NODE "fet_wbgauge" "WBGauge"

 @{" Global " LINK "fet_features"}      @{" Lists " LINK "fet_lists"}      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

    This displays a gauge in the Workbench windows and shows how much of the device is used. The gauge onle appears in the window from the root-directory of the device.

    You can define the look and the width of the gauge.

@{I}NOTE:  This function is disabled for OS3.5 users.@{UI}
@ENDNODE

@NODE "fet_saveusetest" "Save Use Test Cancel"

 ·@{B}Save@{UB}
     The adjustments are saved to @{FG Shine}ENVARC:@{FG Text} and the MCP-Prefs will quit.

 ·@{B}Use@{UB}
     The adjustments are valid for now and the MCP-Prefs will quit.

 ·@{B}Test@{UB}
     The adjustments are valid for now, but the MCP-Prefs will stay open and you may test them.

 ·@{B}Cancel@{UB}
     MCP-Prefs will be terminated and any change will be undone.
@ENDNODE

@NODE "fet_lists" "Lists"

 @{" Global " LINK "fet_features"}      Lists      @{" ScreenManager " LINK "fet_promotor"}      @{" Hotkeys " LINK "fet_hotkeys"}

 @{" CrunchPatch " LINK "fet_crunchpatch"}   @{" ToolAlias " LINK "fet_toolalias"}   @{" AssignPrefs " LINK "fet_assignprefs"}   @{" Memory Patch " LINK "fet_memorypatch"}   @{" Requester TimeOut " LINK "fet_reqtimeout"}
@ENDNODE

@NODE "fet_patternmatching" "Patternmatching"

             @{B}Pattern-Matching codes@{UB}


      Character            Description
---------------------------------------------------------------
         ?             it specifies a single character

        #<p>           means that <p> occures 0 until n times

     <p1>|<p2>         matches if <p1> or <p2> true

        ~<p>           matches with all strings except <p>

   (<p1><p2>...)       group elements

           %           stands for an empty- or zero-string

     [<p>-<p>]         defines a character area

       #?<p>           matches anything<p>
      ~(#?<p>)         matches anything But <p>

@{B}Examples:@{UB}
                all screens except 'Workbench' :      ~(Workbench)

                only the 'Shell' screen        :      (Shell)

                all 'Shell' screens            :      (Shell#?)

                only 'one' and 'two' screens   :      (one|two)

                all 'Shell' and 'Cli' screens  :      #?(Shell|cli)

  In all lists in the preferences program you can give strings with these patternmatching codes and it's unimportant whether you type the strings in upper or in lower case !!!
@ENDNODE
