@DATABASE EasyPatch.guide

@NODE MAIN "EasyPatch 1.23"

                              EasyPatch 1.23 

                        * The Requester Destroyer *

                 Copyright 1995,96,97 by Alessandro Zummo
                            All Rights Reserved

                                 CardWare

 @{"Introduction " Link "Intro"         } What is EasyPatch
 @{"Copyright    " Link "Copy"          } Legal info

 @{"Installation " Link "Installation"  } How to get going?
 @{"Configuration" Link "Configuration" } Preferences
 @{"Usage        " Link "Usage"         } Read this!
 @{"Utilities    " Link "Easy"          } Support programs

 @{"Interactive  " Link "WWW"           } @{B}Interactive Page!@{UB}

 @{"Tips         " Link "Tips"          } :-) 

 @{"MUI          " Link "MUI"           } About MUI

 @{"Author       " Link "Author"        } The programmer
 @{"Greetings    " Link "Greetings"     } Who have contacted me
 @{"History      " Link "History"       } Changes are listed here

@ENDNODE


@NODE Intro "Introduction"


 EasyPatch is a proggy that is able to cancel some types of requesters
 before they are opened.

 EasyPatch patches the following functions (in a system-compatibile way):

 reqtools.library /rtEZRequest()
 intuition.library/EasyRequest()
 intuition.library/AutoRequest()
 muimaster.library/MUI_Requester()

 Here is an @{"example" LINK "Requesters.iff/Main"} of requesters generated
  by these functions.


 EasyPatch can also deal correctly with the requesters that change their
 gadgets.

 And finally.... EasyPatch is  @{"CARDWARE" Link "Author"}

@ENDNODE


@NODE Copy "Copyright"        


   EasyPatch 1.23 is CardWare and may be copied free, as long
   as it is distribuited complete with documentation.

   If you use it, you should send @{"me" Link Author} a postcard.

   Use EasyPatch at your own risk.

   The @{"author" Link "Author"} may not be made responsible for damage caused by
   use of this program.

   EasyPatch is Copyright © 1995-1997 By @{"Alessandro Zummo" Link Author}.

   All the support utilities are Copyright © 1995-1997 by @{"Alessandro Zummo" Link Author}.

   ClipWrite is Copyright © 1996 by Jody Tierney

@ENDNODE



@NODE Installation "Installation"

 1) Delete old versions of EasyPatch & EasyList

 2) Use the supplied installer script

 3) Run the config script when a requester that tou would cancel is opened

 4) Send a postcard to the @{"Author" Link "Author"}

@ENDNODE


@NODE Usage "Usage"

 EasyPatch can be started both from workbench and from a CLI. 

 If something goes wrong you will see an error message,
 else you should send a postcard to the @{"Author" Link "Author"}.


@ENDNODE


@NODE Configuration "Configuration"


 NOTENOTENOTENOTENOTENOTENOTENOTENOTENOTENOTENOTENOTENOTENOTENOTE

   You can't use these keywords as command line arguments!!!!!!!!!!!

   You can insert these keywords only in the configuration file
   which, for default, is @{I}S:EasyPatch.List@{UI}



 NOTENOTENOTENOTENOTENOTENOTENOTENOTENOTENOTENOTENOTENOTENOTENOTE


 (See also @{"Tooltypes" Link "Tooltypes"}) 



 The config file is should have one entry for line, in the
 following format:


 TITLE/A,TEXT/A,RC=RETURNCODE/N,AT=ALL_TOGETHER/S,CS=CASE_SENSITIVE/S,PRESSGAD/K: 

 All AmigaDos wildcards are supported in TITLE & TEXT


 TITLE/A    =  The title of the requester to be suppressed. 

 TEXT/A     =  The text  of the requester to be suppressed. 

 {"RC/N" Link Tips}       =  The code to be returned to the calling program.

 AT/S       =  Suppress the requester only if both  TEXT & TITLE matches.

 CS/S       =  The comparison is maded case-sensitivly.

 PRESSGAD/K =  EasyPatch returns to the calling program by pressing
               the gadget selected with this option
               (This is useful for requesters with mutant gadgets).
               This option  overrides RC.


 (Better you enclose the TITLE and the TEXT string between two #?) 


 Line starting with ';' are treated as comments

    
 Examples:

 #?Alex#? #?Kill#? AT 

 EasyPatch destroys all requesters that have Alex in the title
 *AND* Kill in the text. 


 #?Alex#? #?Kill#?

 EasyPatch destroys all requesters that have Alex in the title
 *OR* Kill in the text. 


 #?Alex#? #?Kill#? AT RC=3

 EasyPatch destroys all requesters that have Alex in the title
 *AND* Kill in the text and returns 3 to the calling program.

@ENDNODE
    
 




@NODE Tooltypes "Tooltypes"


    Name                Default          Type     Description
    ----------------------------------------------------------------------------

    CX_HOTKEY           lcommand esc     STRING    The hotkey of the commodity
    CX_PRIORITY         0                NUMERIC   The priority of the commodity 
    INTUITIONPATCH      YES              BOOL      Intuition patch
    MUIPATCH            NO               BOOL      MuiMastes patch
    REQTOOLSPATCH       NO               BOOL      ReqTools patch
    WARNIFNOEXIT        YES              BOOL      You'll be warned if something goes wrong...
    PATCHLIST           s:EasyPatch.List STRING    Config file


    ToolTypes can also be used as arguments in the command line 
    (but only if they are enclosed in double quotes):


    Example:

    EasyPatch "CX_HOTKEY=rcommand esc"  "MUIPATCH=YES"

@ENDNODE

@NODE Easy "Support Utilities"

    @{B}EasyList@{UB}     - Lists preference entries

    This utility can be called both from wb and cli

    @{B}EasyStat@{UB}     - Gives some info about the status of EasyPatch

    This utility can be called both from wb and cli

@ENDNODE

@NODE Tips "Tips"


 @{I}About Versions & Revisions@{UI}

    @{"Vers & Revs" Link "VR"} 


 @{I}How to identify a @{"requester" LINK "Requesters.iff/Main"}@{UI}

 It's really simple! 

 Launch EasyStat before and after the requester has appeared.
 If you'll see a change in the "Intercepted" voice you can be
 sure that is a requester.


 @{I}How to calculate the RC for a gadget@{UI}


      Ok.. let's start! THIS IS A REQUESTER...er.. ok...maybe....

                                    /
                                   /
                                  /
                                

      +---------------------------+
      |Alex                       |
      +---------------------------+
      | +-----------------------+ |
      | |                       | | 
      | |  TRY TO KILL ME!      | |
      | |                       | |
      | |                       | |
      | +-----------------------+ |
      | Gad1 Gad2 Gad3 Gadn Gad0  |
      +---------------------------+

        Gad? are gadgets....

        The RC for Gad 1 is 1
        The RC for Gad 2 is 2
        The RC for Gad n is n

        The RC for the last gadget (Gad0) is 0


        The general rule is:

        The RC for the rightmost gadget is always 0, the others
        gets the RC in base of their position.

        So, if you want that EasyPatch presses the second gadget (Gad2)
        write RC=2


        mmm...if this is too difficult, you can 

        1) Write to the author
        2) Use the PRESSGAD option 



@ENDNODE

@NODE Author "Author"
    Snail mail:
  
    Alessandro Zummo
    Via Barbaroux, 2
    10122 Torino
    Italy

       -----------------------------------------------
       Send me a postcard!!! You'll make me happy!!!!!
       -----------------------------------------------

    Fidonet :   Alessandro Zummo 2:334/21.58
    Amiganet:   Alessandro Zummo 39:101/402.58 
    Internet:   azummo@ita.flashnet.it             (preferred)
                azummo@p58.f21.n334.z2.fidonet.org (very slow)

    Homepage:   http://www.logicom.it/personal/azummo/EasyPatch.html

    @{"Use the interactive page to perform TCP actions!" LINK "WWW"}


@ENDNODE

@NODE WWW "Interactive Page"

 @{I}This is probably the first AmigaGuide Interactive page!@{UI}

 From here you can:

    Send an @{B}e-mail@{UB} to the author with: 

     @{"Yam    " RX "SendMail.rexx Yam"}
     @{"IBrowse" RX "SendMail.rexx IBrowse"}
     @{"Voyager" RX "SendMail.rexx Voyager"}
      or simply past the address to the @{"clipboard" RX "SendMail.rexx Clip"}.


    Goto the @{B}homepage@{UB} of EasyPatch with:

     @{"IBrowse" RX "GotoHomePage.rexx IBrowse"}
     @{"Voyager" RX "GotoHomePage.rexx Voyager"}
      or simply past the address to the @{"clipboard" RX "GotoHomePage.rexx Clip"}.
@ENDNODE

@NODE Greetings "Greetings"


I would like to thank the following people:
  
    Alessandro Gerelli        For his bug-reports and for holding
                              the temporany EasyPatch homepage.
    Jody Tierney              For ClipWrite.

...who promised me a postcard:

    Noe Gonzalez Ronquillo    Mexico City, Mexico
    Jon Ward                  Canterbury, England

...who sended me a postcard:

    Eddy Witkowski            Mount Gambier, South Australia

...and who writed me

    John Wasilewski           London, England
    Cristian Castellari       Unknown, Italy
    Roberto Patriarca         Unknown, Italy


@ENDNODE

@NODE History "History"


    0.xx  * Internal versions


    0.78ß * First public version


    0.79ß - Bug Fix


    0.80ß - Bug Fix (now rtEZRequest() works properly) 


    0.81ß - Bug Fix (Test the ToolTypes, NOW!)


    0.82ß + New argument: PRESSGAD   
          * Version 0.32 of EasyList
          - BugFix in EasyList version string
          + 68020 version added.


    0.83ß - Fixed some Enforcer Hits
          * EasyList version number upgraded


    0.84ß - Fixed Enforcer Hit with system requesters
          * EasyList version number upgraded


    1.0   - Removed limitations
          * EasyList version number upgraded
          - Fixed some bugs


    1.01  - Ops.. fixed a debug info
          + Added EasyStat
          + EasyList can now be called from Wb
          - Fixed Enforcer Hit with mutant gadgets
          - Fixed Enforcer Hit with preferences
          + Added 030/040/060 versions


          ----  From here the Version is that of the archive ----



    1.02  - Fixed a little bug in EasyStat
          + Improved EasyList
          + Added rules for version numbers
          + Improved Exit function
          + Added support for SetMan & PatchControl
          * EasyStat version number upgraded
          * EasyList version number upgraded
          - Fixed a bug ..sometimes a double start was not handled correctly
          ! Not released


    1.11  + Major inprovements
          + Speedup!
          + Now requires less memory
          - Fixed some Enforcer hits
          * Probably there are no more bugs! :-) 
          * EasyStat & EasyList upgraded (with a few changes)


    1.21  + Added EasyConfig (only for Config script use)
          - Minor bug fix & improvements
          + Comments are now allowed in config file
          + Added notification of config file
          + Added Aminet version (called EasyPatch<Version>a.lha)
          * Changed my Internet address
          - Fixed documentation
          - Fixed minor bug in support utilities
          + Released on Aminet!           

    1.22  + EasyPatch now has an homepage
          + Added sendmail in AmigaGuide file
          - Fixed installation bug
          - Fixed configuration bug
          - Fixed EasyConfig bug when requesters are too large
          + Speedup!
          + Some optimizations
          + Added GotoURL in AmigaGuide file                    
          
    1.23  - Fixed a little bug with AutoRequest()s, sorry :-(
          

@ENDNODE


@NODE MUI "Magic User Interface"

                       This application patches :-)


                         MUI - MagicUserInterface

                 (c) Copyright 1993-1997 by Stefan Stuntz


MUI is a system to generate and maintain graphical user interfaces. With
the  aid  of  a  preferences program, the user of an application has the
ability to customize 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 or on public domain disks.

            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

@ENDNODE


@NODE VR "Versions and revisions"

 ok..let's start with this strange chapter....


 Each EasyPatch archive has this format:

       EasyPatchVerRev.lha    (i.e. EasyPatch101.lha )


 Ver is composed of one or more numbers
 Rev is composed of two numbers 

       (only if Rev = 0 then Rev may have only one number) 


 How VerRev is determined?

 Well..good question...

  it is the same of the highest VerRev of the executables in the archive 

 
 Now.. how we can determine the version of EasyPatch required by one
  of the support utilities?....
     
 Let's suppose an archive called EasyPatch102.lha with

  EasyPatch 1.01
  EasyList  1.01
  EasyStat  1.02

  EasyList and EasyStat requires an EasyPatch with a Rev >= 0

  (1.0 in this example)


  Now let's suppose we have EasyStat 1.18: it requires EasyPatch with
  a Rev >= 10  (i.e. 1.15)


  NOTE: 1.25 > 1.2 (Commodore rulez!)

  ok... 

  Here is (...insert a gingle here...) the


    THEOREM OF VERSIONS AND REVISIONS
  
    Assume:

     VerP  as the Version of the main program
     VerS  as the Version of the support program

     RevP1 as the the first  number of the Revision of the main program
     RevP2 as the the second number of the Revision of the main program
 
     RevS1 as the the first  number of the Revision of the support program
     RevS2 as the the second number of the Revision of the support program


    The relation is:

    VerP  = VerS
    RevP1 = RevS1
    RevP2 >= 0 & <= 9  


  NOTE: If this is too difficult, use only proggys that came
        in the same archive...you will not have any problem!

@ENDNODE
