home *** CD-ROM | disk | FTP | other *** search
/ ANews 2 / AnewsCD2.iso / Indispensables / Patch / ARQ / Arq.doc < prev    next >
Text File  |  1999-10-04  |  14KB  |  498 lines

  1.  
  2.  
  3.      Page 1                      Arq 1.83                       Page 1
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.                             Arq's Documentation
  22.                    Copyright © 1990-94 by Martin Laubach
  23.                             All rights reserved
  24.  
  25.                                     Arq
  26.                    Copyright © 1990-94 by Martin Laubach
  27.                             All rights reserved
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.      Page 2                      Arq 1.83                       Page 2
  66.  
  67.  
  68.  
  69.   1. Introduction      
  70.  
  71.        Arghh! There it is again... Your favorite application just
  72.      wanted to inform you of some important event. And there it
  73.      appears, the much-hated standard system requester, that
  74.      itty-bitty window that seems glued forever to the upper left
  75.      edge of the screen, a requester that can only be acknoledged
  76.      using the mouse or some much too cryptic key combination (Hmm,
  77.      I've been reading too many bad novels lately...?) 
  78.  
  79.  
  80.   2. Who and why    
  81.  
  82.        Especially Peter was very unhappy with the new style
  83.      requesters in 2.0 (he didn't like the 1.3 version either) --
  84.      "They have redone Workbench, it now looks slick and shiny, but
  85.      those requesters are about as ugly as they could be", and "the
  86.      design of the new requesters has already improved quite a bit --
  87.      compared to Kickstart 1.3. But yet they are not yet
  88.      state-of-the-art".  
  89.  
  90.        Having seen one of my (mjl's) earlier tools, "CR", that
  91.      remapped the requesters under 1.3 to something a bit more
  92.      appealing to the eye (and IMHO, kinda much more user friendly),
  93.      he came up with the idea of redesigning those dialog boxes.  
  94.  
  95.        In the beginning, I was not quite happy about rewriting my
  96.      code to suit his rather perfectionist ideas ("now leave two
  97.      pixels here, and don't forget that line of gray to the
  98.      right...") -- no idea how he's done it, but he finally got me to
  99.      the point to do him the favor.  
  100.  
  101.        So here's the result. Note that it is trimmed to fit the "new
  102.      look" of Workbench 2.0 (hires interlace -- any other resolution
  103.      will make it look a bit weird).  
  104.  
  105.  
  106.   3. What      
  107.  
  108.        Arq, abreviation for -- well, I forgot --, is a little utility
  109.      to improve the look and feel of system requesters under AmigaOS
  110.      2.0. I won't say more... Or, as Peter put it: 
  111.  
  112.        "If you were ever used to those really professional
  113.      Custom-Requesters for KS 1.3 from mjl, you were missing those
  114.      under AmigaOS-2. Well -- here they are!" 
  115.  
  116.        Since 1.57, Arq features a sound interface -- any appearing
  117.      requester now may be accompagnied by some user-definable sound.
  118.      Please refer to the respective chapter for more information
  119.      about the sound interface.  
  120.  
  121.        Arq wedges into Intuition's AutoRequest(), EasyRequest() and
  122.  
  123.  
  124.      What
  125.  
  126.  
  127.      Page 3                      Arq 1.83                       Page 3
  128.  
  129.  
  130.      DisplayBeep() vectors (as well as CloseScreen(), but you won't
  131.      notice that one), and replaces each of those routines by our
  132.      artist's idea of a requester, which is much more flexible and
  133.      user friendly than the system's standard requester.  
  134.  
  135.        Note that the graphics are stored in fax-like compression
  136.      format. This means that you (a) won't be able to compress it
  137.      much further, (b) having several Arq requesters open on a plain
  138.      vanilla 68000 will slow down the system a bit.  
  139.  
  140.  
  141.        This archive should contain 
  142.             Arq ......... The executable
  143.             Arq.doc ..... What you are reading now
  144.             Arq.h ....... Include file for special features
  145.             upd ......... The ARexx sound player daemon
  146.             upd.doc ..... And its accompanying documentation
  147.  
  148.   4. How to     
  149.  
  150.        Just "run arq" and enjoy the improved system messages. To stop
  151.      it, just send it a ^C via the "break" command (though I doubt
  152.      you'll ever want to quit it).  
  153.  
  154.        Under 2.0, you can control Arq with the Commodities Exchange
  155.      tool. You may freely enable, disable, or kill Arq. Also,
  156.      starting Arq a second time, will remove itself from the system.  
  157.  
  158.        The main advantage of those requesters is (apart their look),
  159.      that we moved the strange combination of Left-Amiga-V and
  160.      Left-Amiga-B (of course those are working too, special favor to
  161.      Andy Finkel) to the ESC and RETURN key, which makes life quite a
  162.      lot easier (no more knots in your fingers).  
  163.  
  164.        Another possibility is to use the function keys, where F1
  165.      corresponds to the leftmost, F2 to the second, and so forth,
  166.      gadget -- that way you can answer requesters with more than two
  167.      buttons, like IconEdit's.  
  168.  
  169.        Though written with 2.0 in mind, Arq does work under 1.3 as
  170.      well -- but the layout will look a bit stretched in
  171.      non-interlace mode. Sorry about that -- it really doesn't look
  172.      all that bad...  
  173.  
  174.        Please also note that this command replaces some of the
  175.      library vectors in intuition.library -- restoring them is per
  176.      definitionem not a safe operation.  While this works most of the
  177.      time, you may witness wonderful things happening when there is
  178.      another tool (like srt) wedged in after Arq.  So please be
  179.      careful.  
  180.  
  181.        A favorite seems to install AssignX in conjunction with Arq --
  182.      please note that when using a bigger system font, Arq will find
  183.      the so changed requester too big to be opened, and use the
  184.  
  185.  
  186.      How to
  187.  
  188.  
  189.      Page 4                      Arq 1.83                       Page 4
  190.  
  191.  
  192.      original system requester instead. THIS IS NOT A BUG, but an
  193.      intended feature.  
  194.  
  195.  
  196.   5. Sounding away     
  197.  
  198.        Instead of building the sound capability into Arq itself, we
  199.      chose to implement it following the client-server model:  a
  200.      sound playing server, as, for example the "upd" sound daemon by
  201.      Jonas Petersson will do all the hard work, giving you the
  202.      additional bonus of being able to play your favorite tunes from
  203.      your ARexx programs...  
  204.  
  205.        The following sound IDs are used, for the corresponding
  206.      requesters and DisplayBeep -- please refer to upd's
  207.      documentation how these work.  
  208.  
  209.           · warn_write_protected
  210.           · warn_insert_volume
  211.           · warn_delete
  212.           · warn_printer
  213.           · error_task_held
  214.           · error_read_write
  215.           · error_general
  216.           · warn_general
  217.           · query_general
  218.           · beep
  219.  
  220.  
  221.   6. Programmabilities      
  222.  
  223.        Often some application would display a requester e.g. in a
  224.      different language, thus Arq was unable to choose the correct
  225.      graphics to display.  To circumvent this problem, Arq features
  226.      third-party programmable animations and images since version
  227.      1.64.  
  228.  
  229.        The problem was how to extend the usual EasyStruct without
  230.      disturbing the correct working on machines without Arq installed
  231.      or with an older version of Arq. Our (yes, it's strange)
  232.      solution is to stick a non-breaking space (0xA0) in
  233.      easy.es_Title.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.      Programmabilities
  249.  
  250.  
  251.      Page 5                      Arq 1.83                       Page 5
  252.  
  253.  
  254.        The extended EasyStruct looks like this (and can be found in
  255.      arq.h): 
  256.  
  257.             struct ExtEasyStruct
  258.                     {
  259.                     struct Image *Image;
  260.                     char *Sound;
  261.                     WORD AnimID;
  262.                     UWORD Flags;
  263.                     ULONG Magic;
  264.                     ULONG Reserved[3];
  265.                     struct EasyStruct Easy;
  266.                     };
  267.  
  268.        To trigger the recognition of an extended structure, you have
  269.      to put a non-breaking space in easy.Easy.es_Title, and fill
  270.      easy.Magic with the value ARQ_MAGIC.  
  271.  
  272.        Only then Arq will look at the extra fields to determine which
  273.      imagery should be displayed.  
  274.  
  275.        You have the following possibilities: 
  276.  
  277.        One: Put the ID of the scene you want to appear into
  278.      easy.AnimID -- Arq will display the animation of your choice.
  279.      For example, stuff ARQ_ID_GURU in that field (see the include
  280.      file arq.h for more ID names), and no matter what the requester
  281.      te