home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / amiga / programm / libs / reqtools.lha / ReqTools / RTPatch / RTPatch.doc < prev    next >
Encoding:
Text File  |  1992-06-29  |  10.2 KB  |  263 lines

  1.  
  2.                       **********************************
  3.  
  4.                             RTPatch 1.0
  5.  
  6.                             The ReqTools Patcher
  7.  
  8.                             (c) 1992 Nico Franτois
  9.  
  10.                       **********************************
  11.  
  12.  
  13. Preface
  14. =======
  15.  
  16. The programs and files in this distribution are freely distributable, but are
  17. also copyright (c) Nico Franτois.  They may be freely distributed as long as
  18. no more than a nominal fee is charged to cover time and copying costs.
  19.    No commercial usage is permitted without written permission from the
  20. author.  Everything in this distribution must be kept together, in original
  21. unmodified form.
  22.    The above is generally known as freeware.
  23.  
  24.    If you have suggestions or remarks about this program, or if you find
  25. any bugs, please let me know.
  26.  
  27.    Contacting the author:
  28.  
  29.      Fido:  2:292/603.10 (Nico Francois)
  30.  
  31.      UUCP:  Nico.Francois@p10.f603.n292.z2.FidoNet.Org
  32.  
  33.      Mail:  Nico Franτois
  34.             Corbielaan 13
  35.             B-3060 Bertem
  36.             BELGIUM
  37.  
  38.    If you can please use e-mail.  That way you'll stand a much better chance
  39. of getting a reply quickly.
  40.  
  41.  
  42. Contents
  43. ========
  44.  
  45. 1. Introduction
  46.  
  47. 2. Compatibility
  48.  
  49. 3. Usage
  50.  
  51.  
  52. 1. Introduction
  53. ===============
  54.  
  55.    RTPatch is a small program that will re-route functions from most popular
  56. requester libraries to ReqTools.  Libraries currently supported are Arp, Req
  57. and Asl.  RTPatch will also patch some functions in Intuition to give you
  58. improved system requesters.
  59.  
  60.    The patches RTPatch makes are these:
  61.  
  62.      o Intuition  : AutoRequest and EasyRequest (on 2.0) are patched so
  63.                     normal system requesters, like 'Insert Disk...'
  64.                     requesters, will be replaced by ReqTools EZRequesters.
  65.                     They will appear near the mouse pointer and respond to
  66.                     many keyboard shortcuts.  On 2.0 OpenScreenTagList() is
  67.                     also patched to always open a new-look 3D screen.  This
  68.                     will make for example CygnusEd 2.12 open a nice new-look
  69.                     screen.
  70.      o req.library: File requester, font requester, palette requester,
  71.                     string requester and integer requester are replaced by
  72.                     ReqTools requesters.
  73.      o arp.library: File requester is replaced by ReqTools file requester.
  74.      o asl.library: Currently only file requester is replaced by ReqTools
  75.                     file requester.  Font and screen mode requesters are not
  76.                     patched yet.
  77.  
  78.    RTPatch uses an intelligent patch mechanism.  It will only patch a
  79. library when it is actually opened.  This means that if you never use the
  80. arp.library (for example) it will not be patched and, more importantly, it
  81. will not unnecessaryly be loaded into memory!  If you do run a program that
  82. uses Arp and you quit it, it will close Arp.  RTPatch will then allow the
  83. patched Arp to be expunged from memory.  If Arp is reloaded again later it
  84. will be re-patched.  Note that RTPatch patches exec.library/OpenLibrary() and
  85. exec.library/OldOpenLibrary() to accomplish all this.
  86.  
  87.    RTPatch is a 100% assembly program, for maximum efficiency.  It only
  88. takes 4136 bytes of memory once installed (excluding memory occupied by
  89. reqtools.library).  It uses *NO* processor time while installed.
  90.  
  91.  
  92. 3. Usage
  93. ========
  94.  
  95.    RTPatch can be used from Workbench and from the Shell (CLI).
  96.  
  97.    Shell usage:
  98.    ~~~~~~~~~~~~
  99.      RTPatch 1.0 ⌐ 1992 Nico Franτois
  100.      Usage: RTPatch [NOREQ] [NOASL] [NOARP] [NOINTUITION] [NOOPENSCRPATCH]
  101.  
  102.    Explanation of options:
  103.  
  104.       NOREQ          : Do not patch req.library.
  105.       NOASL          : Do not patch asl.library.
  106.       NOARP          : Do not patch arp.library.
  107.       NOINTUITION    : Do not patch intuition.library.
  108.       NOOPENSCRPATCH : Do not patch OpenScreenTagList() in intuition.library.
  109.  
  110.    Workbench usage:
  111.    ~~~~~~~~~~~~~~~~
  112.    RTPatch recognizes following tooltypes:
  113.  
  114.       NOREQ          : Do not patch req.library.
  115.       NOASL          : Do not patch asl.library.
  116.       NOARP          : Do not patch arp.library.
  117.       NOINTUITION    : Do not patch intuition.library.
  118.       NOOPENSCRPATCH : Do not patch OpenScreenTagList() in intuition.library.
  119.       QUIET          : Don't open requester informing patches have been
  120.                        installed.  Set this tooltype if you intend to drag
  121.                        RTPatch to your WbStartup drawer.
  122.  
  123. NOTE: Run RTPatch when *NO* program has req.library, asl.library or
  124.       arp.library open!  RTPatch will complain if one of these libraries
  125.       is in use and will refuse to install or remove patches.  Running
  126.       RTPatch in your user-startup or from your WbStartup should be ok.
  127.  
  128. WARNING: Asl V38 (distributed with Workbench 2.1) always keeps its library
  129.          open count at 0.  It does this so ramlib will always call its
  130.          Expunge() function when memory is low.  This does however mean
  131.          RTPatch cannot see if this library is in use or not.  So you must
  132.          be very careful not to install or remove RTPatch when you have a
  133.          program running that uses Asl.  If you are still using Workbench 1.3
  134.          or 2.0 there is no problem.
  135.  
  136.  
  137. 2. Compatibility
  138. ================
  139.  
  140.    RTPatch supports all basic requester functions and options.  Other
  141. supported things that are worth mentioning:
  142.  
  143.      arp.library (V39)
  144.      ~~~~~~~~~~~~~~~~~
  145.      o File callback function (FRF_DoWildFunc).  The A4 global data register
  146.        is valid when this callback function is called (documented feature).
  147.      o Message callback function (FRF_DoMsgFunc) for requesters with shared
  148.        IDCMP.  Note: This has _not_ been tested!
  149.      o Save mode (FRF_DoColor flag).
  150.      o Shared IDCMP with parent window or new IDCMP (FRF_NewIDCMP flag).
  151.      o 'Empty filename is ok' behaviour is supported.
  152.  
  153.      asl.library (V36/V38)
  154.      ~~~~~~~~~~~~~~~~~~~~~
  155.      o File callback function/hook (FRF_DOWILDFUNC and ASLFR_FilterFunc tag).
  156.        The A4 global data register is valid when this callback function is
  157.        called for maximum compatibility (undocumented feature of Asl V36).
  158.      o Intuition message callback function/hook (FRF_DOMSGFUNC and
  159.        ASLFR_IntuiMsgFunc tag) for requesters with shared IDCMP.
  160.      o Multi-selection (FRB_DOMULTISELECT flag or ASLFR_DoMultiSelect tag).
  161.      o Directory requester, no files. (FRF_DRAWERSONLY flag or
  162.        ASLFR_DrawersOnly tag).
  163.      o Save mode (FRF_DOSAVEMODE flag or ASLFR_DoSaveMode tag).
  164.      o Shared IDCMP with parent window or new IDCMP (FRF_PRIVATEIDCMP flag
  165.        or ALSFR_PrivateIDCMP tag).
  166.      o Putting to sleep of parent window (ASLFR_SleepWindow tag).
  167.      o Font for requester (ASLFR_TextAttr tag).  Note that if a proportional
  168.        is supplied it will be rejected by the ReqTools file requester.
  169.      o Pattern gadget (FRF_DOPATTERNS flag or ASLFR_DoPatterns tag).
  170.      o 'Empty filename is ok' behaviour is supported to ensures compatibility
  171.        with e.g. AssignX, PageStream 2.2 and no doubt many other programs.
  172.      o Undocumented fields in file requester structure are filled in, so even
  173.        "dirty" programs will work.
  174.  
  175.      req.library (V2)
  176.      ~~~~~~~~~~~~~~~~
  177.      o Multi-selection.
  178.      o Buffers for file and font requester.
  179.      o Directory requester (no files).
  180.      o Save mode (FRQSAVINGM flag).
  181.      o Minimum and maximum value of GetLong() requester.
  182.  
  183.      Additional enhancements
  184.      ~~~~~~~~~~~~~~~~~~~~~~~
  185.      o Buffered directories for Asl file requester.
  186.  
  187.  
  188.      Following things are NOT supported (yet?):
  189.                           »»»
  190.      arp.library
  191.      ~~~~~~~~~~~
  192.      o FRF_NewWindFunc and FRF_AddGadFunc/FRF_GEventFunc callback functions
  193.        are not called.  As far as I can tell nobody ever used the latter two
  194.        and the former function is certainly not used a lot.
  195.        To be short: this should not pose any problems.
  196.  
  197.      asl.library
  198.      ~~~~~~~~~~~
  199.      o ASLFR_InitialWidth and ASLFR_NegativeText tags are ignored.
  200.      o FRB_REJECTICONS flag and ASLFR_RejectIcons tag are ignored.
  201.      o FRB_FILTERDRAWERS flag and ASLFR_FilterDrawers tag are ignored.
  202.      o ASLFR_RejectPattern and ASLFR_AcceptPattern tags are ignored.
  203.  
  204.      req.library
  205.      ~~~~~~~~~~~
  206.      o Timeout and abort mask (req.library requester will be used).
  207.      o freq->frq_Hide is ignored, freq->frq_Show is however supported.
  208.      o TR_KeyMask is not completely supported.  If it is not 0xffff
  209.        (no qualifers) the requester will only respond to Left Amiga V/B.
  210.        This should suffice in most cases however.
  211.  
  212.    If you find any compatibility problems let me know.  Please give a detailed
  213. description of the problem.  Not 'RTPatch doesn't work with PageStream',
  214. but more like: 'when I do this and this in PageStream ... doesn't work".
  215.  
  216.  
  217.                                                        Enjoy.
  218.  
  219.  
  220.                                PROGRAM HISTORY:
  221.  
  222. *****************************************************************************
  223. RELEASE 0.9▀
  224.  
  225.     First BETA release.
  226.  
  227. *****************************************************************************
  228. RELEASE 0.91▀
  229.  
  230.     Bug fixes: Req GetLong requester no longer returns FALSE when you enter
  231.       the value 0 and Req file requester now properly returns full pathname.
  232.     Now correctly patches AutoRequest when run on Kickstart 1.2/1.3.
  233.  
  234. *****************************************************************************
  235. RELEASE 1.0
  236.  
  237.     First "real" release, big improvement over previous beta versions.
  238.     Fixed some small bugs.
  239.     Now only patches libraries when they are actually opened.  This saves
  240.       oodles of memory, especially when you never or rarely use certain
  241.       libraries!  Also allows patched libraries to be expunged from memory
  242.       unlike many other patchers.
  243.     In conjunction with ReqTools V38 empty directories are now allowed for
  244.       improved compatibility.  This makes it e.g. possible to use AssignX.
  245.     Asl (V36-V38) library is now also patched (file requester only).
  246.     Command line arguments/icon tooltypes to set some options.
  247.  
  248. *****************************************************************************
  249.  
  250. RTPatch 1.0 written by Nico Franτois (Yes, Nico is my first name :-)
  251.  
  252.  
  253. "Is that you Mo-Dean?
  254.  It's me Mo-Dean
  255.  The Interdimensional outer space being" - the B-52's
  256.  
  257.  
  258. (c) 1992 Nico Franτois
  259.  
  260.                                    //
  261.                        Thanks to \X/ Amiga for being the best computer ever !
  262.  
  263.