home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format 124 / af124a.adf / af124a.lzx / PowerSnap / PowerSnap.doc < prev    next >
Text File  |  1999-03-29  |  41KB  |  962 lines

  1.  
  2.  
  3.      
  4.  
  5.  
  6.                            PowerSnap 2.2a User Manual
  7.  
  8.                                   Feb 10, 1994
  9.  
  10.  
  11.  
  12.      PREFACE 
  13.  
  14.         The programs   and   files   in   this   distribution   are  freely
  15.      distributable,  but  are also Copyright (c) Nico Francois. They may be
  16.      freely  distributed  as  long as no more than a nominal fee is charged
  17.      to cover time and copying costs.  
  18.         No commercial  usage  is  permitted without written permission from
  19.      the  author. Everything in this distribution must be kept together, in
  20.      original unmodified form.  
  21.         The above is generally known as freeware.  
  22.  
  23.         If you  have  suggestions  or remarks about this program, or if you
  24.      find any bugs, please let me know.  
  25.  
  26.         Contacting the author: 
  27.  
  28.           Internet:   nico@augfl.be
  29.           FidoNet :   2:292/603.10
  30.           AmigaNet:   39:120/102.10
  31.  
  32.           Snail-mail: Nico François
  33.                       Corbielaan 13
  34.                       B-3060 Bertem
  35.                       BELGIUM
  36.  
  37.         If you  can  please use e-mail. That way you'll stand a much better
  38.      chance of getting a reply quickly.  
  39.  
  40.         NOTE: PowerSnap  2.2a  requires  Kickstart  and  Workbench  2.0  or
  41.      higher to run! 
  42.  
  43.  
  44.      1. Introduction 
  45.      --------------- 
  46.  
  47.         Snap, snap,  snap,  snap, eggs and snap :-)  Ahem...  (If you don't
  48.      get  this  don't  let  it bother you if you think I've gone completely
  49.      bananas :-) 
  50.  
  51.         PowerSnap is  a  utility  that  allows you to use the mouse to mark
  52.      characters  anywhere on the screen and paste them somewhere else, like
  53.      in  the  CLI  or in a string gadget. PowerSnap will check what font is
  54.      used  in  the  window  you snap from and will look for the position of
  55.      the  characters  automatically.  It  recognizes  all  non proportional
  56.      fonts  of  up to 24 pixels wide and of any height so this should cover
  57.      most  fonts  used.  Snapping and pasting text is done using the mouse,
  58.  
  59.  
  60.                                      Page 1
  61.  
  62.  
  63.      
  64.  
  65.  
  66.      making PowerSnap fast and easy to use.  
  67.         To try  PowerSnap out, double-click its icon, move the mouse over a
  68.      character  on  the  screen,  press  the left Alt key and while keeping
  69.      this  pressed  press  the  left  mouse  button.  After  a  short delay
  70.      (depends  on  how  big  the  font  is) PowerSnap will either flash the
  71.      screen,  indicating  it  hasn't found a character at this position (it
  72.      is  possible  PowerSnap  didn't  look  for  the  correct font), or the
  73.      character  you  are pointing at will be selected. Move the mouse while
  74.      keeping  the  left  Alt  key  and the mouse button down to select more
  75.      characters.  Once  you  are  satisfied  with  what  you  have selected
  76.      release  the  left  Alt key. You can now insert the text you have just
  77.      snapped  by  pressing  either  left  Alt + V or left Alt + right mouse
  78.      button.  
  79.         Both the   left  Alt  and  the  V  keys  mentioned  in  this  short
  80.      explanation   are   user-definable  (see  below).  Also,  don't  start
  81.      snapping  on  a  space because PowerSnap will almost certainly get the
  82.      character  positions  wrong.  You CAN start snapping on a space if you
  83.      have already snapped in the window.  
  84.         New to  PowerSnap  2.1  is the ability to keep a history of snapped
  85.      strings.  You may select from this history to re-paste something.  
  86.         PowerSnap 2.2  adds many new features, among which a font-sensitive
  87.      localized GUI, crawling ants and a possibility to save the settings.  
  88.  
  89.  
  90.      2. Installation 
  91.      --------------- 
  92.  
  93.         To install  PowerSnap  automatically use the installation script or
  94.      install  the  handler  manually by copying 'PowerSnap-handler' to your
  95.      L:  directory.   'PowerSnap-handler'  does not have to be in L: but it
  96.      is  best  if you put it there, PowerSnap will also find it if it is in
  97.      the current directory.  
  98.         If you  want  PowerSnap  to be part of your initial startup (so you
  99.      always  have  the comfort of snapping anything anywhere :-) you should
  100.      put  a simple line saying 'PowerSnap' in your 's:user-startup'. If you
  101.      wish  to  specify  options  include  these  on the same line, like for
  102.      example  'PowerSnap  SMARTSPACE  COLOR  2'.  To  disable the copyright
  103.      message redirect output to NIL: like in 'PowerSnap >NIL:'.  
  104.         The easiest  way  to  install  PowerSnap is to simply drag its icon
  105.      into  the  WbStartup  drawer  of  your  boot  disk/partition.  Specify
  106.      options  in  the  icon's  tooltypes (you will want to set the tooltype
  107.      'CX_POPUP=NO').  
  108.  
  109.  
  110.      3. Usage 
  111.      -------- 
  112.  
  113.      3.1 From CLI or Shell 
  114.  
  115.         Enter 'PowerSnap  ?' for a CLI usage template, 'PowerSnap ??' for a
  116.      more detailed usage report.  
  117.  
  118.  
  119.  
  120.                                      Page 2
  121.  
  122.  
  123.      
  124.  
  125.  
  126.         Note: when  PowerSnap  is  run  for  the  first  time  (when  it is
  127.      installed) the settings will be read from its icon.  
  128.  
  129.         Explanation of the options: 
  130.  
  131.      CX_PRIORITY n  : Set priority of commodity (default: 0).  
  132.  
  133.      CX_POPUP YES|NO: Set to NO to not open GUI window when PowerSnap is
  134.                       first installed (default: YES).  
  135.  
  136.      CX_POPKEY desc : Standard description of hotkey to pop up GUI window
  137.                       (default: control lalt p).  
  138.  
  139.      NOGUI          : Don't open GUI settings window.  
  140.  
  141.      QUAL qual      : Set snap qualifier (default: lalt). This is the
  142.                       qualifier that must be down when you press the left
  143.                       mouse button to start snapping. This is also the
  144.                       qualifier for inserting the snapped text. There are
  145.                       two ways to insert snapped text: using the paste key
  146.                       or using the right mouse button.  
  147.  
  148.      SLQUAL qual    : Set single line paste qualifier (default: lalt
  149.                       lshift). When this qualifier is down and you insert
  150.                       snapped text everything will be put on one single
  151.                       line.  All whitespace (spaces and newlines) between
  152.                       words will be changed to a single space. Very useful
  153.                       for inserting a lot of filenames from a directory
  154.                       for example.  
  155.  
  156.      MULTIQUAL qual : Set multisnap qualifier (default: lalt lshift). When
  157.                       you start snapping with this qualifier the snapped
  158.                       text will be appended after what you snapped before.
  159.                       A newline will be placed in between the snapped
  160.                       texts, so they are all on their own line. Paste
  161.                       snapped text using the single line qualifier to get
  162.                       everything on one line. Note that the default single
  163.                       line qualifier and the multisnap qualifier are the
  164.                       same. You can still toggle multisnap on or off when
  165.                       you are already snapping. Just change the qualifier,
  166.                       so in the default setup let go or press down the
  167.                       shift key. There is a small delay of 1/8 sec before
  168.                       toggling the snap mode. This was done so it is less
  169.                       likely that you accidently snap in the wrong mode
  170.                       when you release all qualifiers to stop snapping.  
  171.  
  172.      PASTEKEY c     : Set pastekey (default: V). This key is used to
  173.                       insert the snapped text. Insertion will follow when
  174.                       it is pressed with one of the three possible
  175.                       qualifiers down (QUAL, SLQUAL, PAQUAL).  
  176.  
  177.      SNAPCHARS      : Start with character snap (default).  
  178.  
  179.  
  180.                                      Page 3
  181.  
  182.  
  183.      
  184.  
  185.  
  186.      SNAPFRAME      : Start with frame snap. PowerSnap has two snap modes:
  187.                       character and frame.  The easiest to explain is
  188.                       frame snap, you just draw a rectangle and everything
  189.                       inside it will be snapped. Character snap will
  190.                       interpret the screen as lines of text (like an
  191.                       editor) and will snap accordingly.  
  192.  
  193.      [NO]JOIN       : Join mode on/off (default: JOIN). Tells PowerSnap if
  194.                       it's ok to join two lines to a single long line when
  195.                       the first line has a non blank character as its last
  196.                       character. This only works when you are using
  197.                       character, word or line snap.  
  198.  
  199.      [NO]XEROX      : Xerox insert mode on/off (default: NOXEROX). When
  200.                       xerox mode is on snapped text will be inserted
  201.                       immediately when you stop snapping.  
  202.  
  203.      COLOR 1-3      : Set color of select box (default: 1).  This sets the
  204.                       color of the complemented characters or ants.  Try
  205.                       all three and see what you like best.  
  206.  
  207.      MULTICOLOR 1-3 : Set color of multisnap select box or multisnap ants
  208.                       (default: 2).  This sets the color of the
  209.                       complemented characters when doing a multisnap.  It
  210.                       is best to set this to a different color than the
  211.                       normal snap color.  This way you'll have an easy way
  212.                       to see when you are using multisnap.  
  213.  
  214.      PAQUAL qual    : Set pre-/append qualifier (default: lalt control).
  215.                       When using this qualifier to insert snapped text a
  216.                       string will be prepended to each line and one will
  217.                       be appended.  
  218.  
  219.      PREPEND str    : Set prepend string (default: "> "). Use this to set
  220.                       the string that will be prepended when you paste
  221.                       with the PAQUAL down. This string can be up to 16
  222.                       characters long. To enter a '"' in the string escape
  223.                       it with a '*'.  E.g. 'PowerSnap PREPEND " *" "'.  
  224.  
  225.      APPEND str     : Set append string (default: ""). Use this to set the
  226.                       string that will be appended when you paste with the
  227.                       PAQUAL down. Can be up to 16 characters.  
  228.  
  229.      [NO]SMARTSPACE : If you do a word snap PowerSnap will normally guess
  230.                       at the boundaries of the word by simply looking for
  231.                       empty chars. If you switch SMARTSPACE on however
  232.                       PowerSnap will really try to recognize the
  233.                       characters and stop at spaces as well as unknown
  234.                       characters. This way you will no longer snap part of
  235.                       the 'scenery' when doing a word snap. Only drawback
  236.                       is that it is a bit slower, so it is disabled by
  237.                       default. If you have a faster Amiga (like the A3000)
  238.  
  239.  
  240.                                      Page 4
  241.  
  242.  
  243.      
  244.  
  245.  
  246.                       it is strongly recommended to switch this option on.
  247.                       If you don't exactly understand what I mean try
  248.                       snapping the contents of a qualifier text gadget in
  249.                       PowerSnap's settings window with SMARTSPACE switched
  250.                       on and off.  
  251.  
  252.      [NO]ALLFONTS   : If you switch ALLFONTS on PowerSnap will try all
  253.                       open fonts in memory when it is looking for
  254.                       characters. This will make the initial snap much
  255.                       slower (depending on how many fonts are open and how
  256.                       fast your Amiga is of course).  Once a specific font
  257.                       is recognized it is remembered and will be tried
  258.                       first next time you snap. So if you snap the same
  259.                       font several times you won't have the delay each
  260.                       time you snap. The default behaviour is to just
  261.                       consider the window's rastport font. Recognition of
  262.                       the window's rastport font is _not_ slower with
  263.                       ALLFONTS on. So with ALLFONTS off you won't
  264.                       recognize a non-rastport font, and with ALLFONTS on
  265.                       you will, but more slowly.  
  266.  
  267.      HISTORY n      : Set number of lines in history buffer.  PowerSnap
  268.                       will remember the last n snaps.  Pressing Left Alt-H
  269.                       (or whatever you defined to be the history key) will
  270.                       bring up a window with a listview containing these
  271.                       last snaps.  Selecting an entry from the listview
  272.                       will copy the entry to the clipboard so you can
  273.                       paste it again.  The history window is keyboard
  274.                       controllable:  you may use the up and down arrow
  275.                       keys to select an entry.  Press Enter or Return to
  276.                       copy the selected entry to the clipboard, press Esc
  277.                       to cancel.  Default is 0, so no history.  
  278.  
  279.      HISTORYKEY c   : Set the history key (default:  H).  Pressing this
  280.                       key together with the snap qualifier will pop up the
  281.                       history window.  The history window will appear on
  282.                       the active screen.  A safety has been built into
  283.                       PowerSnap to remove this window if the screen it is
  284.                       on closes.  
  285.  
  286.      CHARDELAY n    : Set character paste delay in microseconds (default:
  287.                       1).  Some programs have problems if text is pasted
  288.                       to quickly.  Using CHARDELAY you can tell PowerSnap
  289.                       to add a delay between pasting characters.  The
  290.                       delay is specified in microseconds (1 sec = 1000).
  291.                       I doubt you will have to set this higher than 20.  
  292.  
  293.      LINEDELAY n    : Set line paste delay in microseconds (default:  1).
  294.                       Same as CHARDELAY, but this delay will be added
  295.                       between pasting lines (after pasting a newline).  
  296.  
  297.      [NO]ANTS       : Switch ants mode on or off (default: NOANTS).  When
  298.  
  299.  
  300.                                      Page 5
  301.  
  302.  
  303.      
  304.  
  305.  
  306.                       ants mode is on PowerSnap will draw a line of
  307.                       crawling ants around the marked text.  
  308.  
  309.      PATTERN x      : 16 bit hexadecimal crawl pattern for the ants
  310.                       (default: EEEE).  Ignored if PowerSnap is not in
  311.                       ants mode.  
  312.  
  313.      MULTIPATTERN x : 16 bit hexadecimal crawl pattern for the ants when
  314.                       multisnapping (default: F8F8).  Ignored if PowerSnap
  315.                       is not in ants mode.  
  316.  
  317.      CLIPUNIT n     : Set clipboard unit (default: 0).  
  318.  
  319.      RTG            : Force RTG friendly snapping.  
  320.  
  321.  
  322.         Following qualifiers are recognized: 
  323.  
  324.         lshift       Left shift key
  325.         rshift       Right shift key
  326.         ctrl         Control key
  327.         control      Control key
  328.         lalt         Left alt key
  329.         ralt         Right alt key
  330.         lamiga       Left Amiga key
  331.         lcommand     Left Amiga key
  332.         ramiga       Right Amiga key
  333.         rcommand     Right Amiga key
  334.         midbutton    Middle mouse button (if you have one :-)
  335.  
  336.         Or any   combination   of  these  (separate  the  qualifiers  by  a
  337.      non-alpha  character  like  a  '+', '-' or '|'), e.g. 'lalt+lshift' or
  338.      'lalt-lshift'.  
  339.  
  340.         You may  run  PowerSnap  again once it has been installed to change
  341.      the settings. 'PowerSnap QUIT' will remove the handler from memory.  
  342.  
  343.         Examples: 
  344.  
  345.         o PowerSnap PREPEND "Type " APPEND " OPT N" 
  346.  
  347.         When  you paste some text 'Type ' will be inserted before each line
  348.         and  '  OPT N' after. If you e.g. snap 'PowerSnap.c' and press left
  349.         Alt  Control  V  the  following will be inserted: 'Type PowerSnap.c
  350.         OPT N' 
  351.  
  352.         o PowerSnap QUAL "lshift rshift control" 
  353.  
  354.         This  sets  the  snap qualifier to both Shift keys plus the control
  355.         key.  This  is  a  rather silly example because unless your name is
  356.         Zaphod  Beeblebrox  or  you are very good at doing things with your
  357.         feet  it  is  quite impossible to snap anything with this qualifier
  358.  
  359.  
  360.                                      Page 6
  361.  
  362.  
  363.      
  364.  
  365.  
  366.         :^) 
  367.  
  368.         o PowerSnap PASTEKEY i 
  369.  
  370.         Sets  the  paste  key to 'I' instead of 'V'. So pressing left Alt I
  371.         will feed the text in the clipboard to the keyboard.  
  372.  
  373.      NOTE: - You can toggle between character/frame snap once you have
  374.              started snapping. Just keep the left mouse pressed down while
  375.              you click the right one. Be careful, if you don't keep the
  376.              left button pressed you will insert the text you have
  377.              marked.  
  378.            - PowerSnap has the ability to do word oriented snapping. To
  379.              activate this double-click the left mouse button when you
  380.              start snapping. Note that word snapping forces character
  381.              snapping and frame snapping is no longer possible.  See
  382.              SMARTSPACE on how to improve word snapping.  Tripple-clicking
  383.              the left mouse button will put PowerSnap in line-snap mode,
  384.              this allows you to easily snap whole lines of text.  
  385.            - Press the left mouse button while PowerSnap is inserting to
  386.              abort.  
  387.  
  388.  
  389.      3.2 From Workbench 
  390.  
  391.         PowerSnap recognizes   the   following   tooltypes  (see  CLI/Shell
  392.      options for a more complete explanation): 
  393.  
  394.      CX_PRIORITY=n  : Priority of commodity (default is 0).  
  395.      CX_POPUP=YES|NO: Set to NO to not open GUI window when PowerSnap is
  396.                       first installed. Set this tooltype to NO if you drag
  397.                       PowerSnap into your WbStartup drawer for a quiet
  398.                       startup (default: YES).  
  399.      CX_POPKEY=desc : Standard description of hotkey to pop up GUI window
  400.                       (default: control lalt p).  
  401.      QUAL=qual      : Snap qualifier (default: lalt).  
  402.      SLQUAL=qual    : Single line qualifier (default: lalt lshift).  
  403.      MULTIQUAL=qual : multisnap qualifier (default: lalt lshift).  
  404.      PASTEKEY=c     : Pastekey (default: V).  
  405.      SNAPFRAME      : Start with frame snap.  
  406.      COLOR=1-3      : Color of select box (default: 1).  
  407.      MULTICOLOR=1-3 : Color of multisnap select box (default: 2).  
  408.      NOJOIN         : Join mode off.  
  409.      XEROX          : Xerox insert mode on.  
  410.      PAQUAL=qual    : Pre-/append qualifier (default: lalt control).  
  411.      PREPEND=str    : Prepend string (default: "> ").  
  412.      APPEND=str     : Append string (default: "").  Do *NOT* put quotes
  413.                       around the pre-/append string.  
  414.      SMARTSPACE     : Switch SMARTSPACE on for improved word snapping.  
  415.      ALLFONTS       : Switch ALLFONTS on to try all open fonts in memory.  
  416.      HISTORY=n      : Set number of lines in history buffer (default: 0).  
  417.      HISTORYKEY=c   : Set history key (default: H).  
  418.  
  419.  
  420.                                      Page 7
  421.  
  422.  
  423.      
  424.  
  425.  
  426.      CHARDELAY=n    : Set character paste delay in microseconds (default:
  427.                       1).  
  428.      LINEDELAY=n    : Set line paste delay in microseconds (default: 1).  
  429.      ANTS           : Switch ants mode on.  
  430.      PATTERN=x      : crawl pattern (default: EEEE).  
  431.      MULTIPATTERN=x : crawl pattern for multisnapping (default: F8F8).  
  432.      CLIPUNIT=n     : Set clipboard unit (default: 0).  
  433.      RTG            : Force RTG friendly snapping.  
  434.  
  435.         Select PowerSnap's  icon  and choose 'Information' from the 'Icons'
  436.      menu.   You  can  now edit PowerSnap's tooltypes, check your Workbench
  437.      manual for more information.  
  438.  
  439.         The provided  PowerSnap  icon  has  the following tooltypes already
  440.      set:  'SMARTSPACE'  and  'ALLFONTS'.   So edit the icon's tooltypes if
  441.      you  want  to  change  these.   All other tooltypes are also listed in
  442.      brackets.   The  brackets  are  used  to  'comment out' a tooltype, so
  443.      remove them if you want to use the tooltype.  
  444.  
  445.         Running PowerSnap  twice  will bring up the settings window. Select
  446.      'Quit'  from this window's 'Project' menu to remove PowerSnap. You can
  447.      also   use   the   system's   Commodities  Exchange  program  to  kill
  448.      PowerSnap.  
  449.  
  450.  
  451.      4. Settings Window 
  452.      ------------------ 
  453.  
  454.         When you  start PowerSnap you will be presented with a window where
  455.      you  can  change all of PowerSnap's settings. You may open this window
  456.      at  any  time by using PowerSnap's hotkey (control lalt p, or whatever
  457.      you  set  using  CX_POPKEY)  or  by  using  the  standard  Commodities
  458.      Exchange program.  
  459.  
  460.         Everything in  this  window  should be fairly self-explanatory.  In
  461.      the  window's  'Project'  menu  you will find 'Hide' and 'Quit' items.
  462.      Selecting  'Hide'  is  the  same  as  using the window's close gadget,
  463.      selecting 'Quit' will remove PowerSnap from the system.  
  464.  
  465.         Most changes  you  make  will  be effective immediately, so you can
  466.      try  them  out  at  once. The qualifiers will only be changed once you
  467.      close the small window used to set them.  
  468.  
  469.         Select 'Save  Settings' from the 'Project' menu to save the current
  470.      settings to PowerSnap's icon.  
  471.  
  472.         Note that  the  code  for  this  window is located in the PowerSnap
  473.      program,  not  in  PowerSnap-handler.  The  window  code  will only be
  474.      loaded  when  actually  needed,  so  PowerSnap  will  use a minimum of
  475.      memory when hidden.  
  476.  
  477.  
  478.  
  479.  
  480.                                      Page 8
  481.  
  482.  
  483.      
  484.  
  485.  
  486.      5. Features 
  487.      ----------- 
  488.  
  489.        o Fully  supports  the clipboard.device. You can use snapped text in
  490.          all other programs that supports the clipboard.device.  
  491.  
  492.        o Snaps all printable characters, from ' ' (32) to 'ÿ' (255).  
  493.  
  494.        o Supports all keymaps.  
  495.  
  496.        o Uses  a relatively small handler that is about 13K long. PowerSnap
  497.          uses  about  22K  of memory once it is installed (excluding memory
  498.          used by the clipboard.device and commodities.library).  
  499.  
  500.        o Recognizes  all non-proportional fonts to up to 24 pixels wide and
  501.          of   any   height.   Also  recognizes  scaled  fonts  (bitmap  and
  502.          IntelliFonts).  
  503.  
  504.        o Recognizes  plain,  underlined,  bold,  inverse,  bold underlined,
  505.          inverse  underlined,  inverse  bold  and  inverse  bold underlined
  506.          characters :-) 
  507.  
  508.        o Works   with  fonts  with  kerning  data  (like  the  courier.font
  509.          supplied with Workbench 2.0).  
  510.  
  511.        o Will  remember  character  positions  in up to 8 windows. Once you
  512.          have  snapped  in  a window the initial character position will be
  513.          found immediately and you may also start snapping on spaces.  
  514.  
  515.        o Joins long lines.  
  516.  
  517.        o Pre-/appends strings to pasted text.  
  518.  
  519.        o Has  a  single-line  mode  to paste all snapped text onto a single
  520.          line. Whitespace and newlines will be changed to spaces.  
  521.  
  522.        o Supports  a  middle mouse button if your mouse has one.  Using the
  523.          middle  button  as  qualifier  gives the possibility to snap/paste
  524.          without touching the keyboard! 
  525.  
  526.        o Inputhandler   is   written   in   assembly  for  lowest  possible
  527.          overhead.  
  528.  
  529.        New features for PowerSnap 2.0/2.1: 
  530.        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  531.        o Has  a  full  intuition/gadtools  interface to allow you to change
  532.          all  settings using the mouse. The window code is loaded from disk
  533.          when needed for minimum memory usage.  
  534.  
  535.        o PowerSnap  is  a  standard commodity. Use the standard Commodities
  536.          Exchange  program  to  enable/disable  it, kill it or to show/hide
  537.          the settings window.  
  538.  
  539.  
  540.                                      Page 9
  541.  
  542.  
  543.      
  544.  
  545.  
  546.  
  547.        o Multisnap  feature.  Allows  you  to  snap something and add it to
  548.          what  you  snapped  before. This append-snapping is very useful to
  549.          pick  up  several  words that you might want to join into one long
  550.          snap.  The snapped items are put in the clipboard, each on its own
  551.          line  (with  a linefeed between them). You can use the single-line
  552.          paste to paste them all onto one line.  
  553.  
  554.        o Recognizes  text  in all colors: text in any color on a background
  555.          of any color will be recognized.  
  556.  
  557.        o SMARTSPACE  feature  to make PowerSnap consider unknown stuff as a
  558.          space.   This  way  you  can  do  _much_  better  word snapping in
  559.          non-shell windows.  
  560.  
  561.        o Can  be  told  to  try  and  recognize  text  in all open fonts in
  562.          memory.   PowerSnap  will  then  recognize  _all_ non-proportional
  563.          fonts  (up  to  24 pixels wide) also if the font is not set in the
  564.          window's rastport.  
  565.  
  566.        o Keeps   an  optional  history  of  snapped  text.   PowerSnap  can
  567.          remember  up  to  99  strings  you snap.  Pressing the history key
  568.          will  cause  a  history  window  to  pop  up and will allow you to
  569.          select a string to be re-pasted.  
  570.  
  571.        New features for PowerSnap 2.2: 
  572.        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  573.        o Has a completely font-sensitive and localized user interface.  
  574.  
  575.        o Allows you to save the settings from the GUI.  
  576.  
  577.        o Recognizes text lines with an extra pixel in between.  
  578.  
  579.        o Allows  you  to  specify  the  clipboard  unit  to use.  Clipboard
  580.          loading  and  saving is now implemented using iffparse.library for
  581.          improved compatibility.  
  582.  
  583.        o Optional  crawling  ants  to  mark  the  text being snapped!  Ants
  584.          pattern and color are user-definable.  
  585.  
  586.  
  587.                                                        As always, enjoy! 
  588.  
  589.  
  590.  
  591.  
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598.  
  599.  
  600.                                     Page 10
  601.  
  602.  
  603.      
  604.  
  605.  
  606.                                 PROGRAM HISTORY
  607.  
  608.      ********************************************************************** 
  609.      VERSION 1.0 
  610.  
  611.      o First release.  
  612.  
  613.      ********************************************************************** 
  614.      VERSION 1.1 
  615.  
  616.      o Fixed  bug in reading from clipboard. Strange things could happen if
  617.        the  clipboard  did  not  contain  text.  Unknown clips are properly
  618.        ignored  now.   Incompatibility  with 'ConClip' (Workbench 2.0, V37)
  619.        resolved.   Default COLOR changed to 1.  Version string embedded for
  620.        Workbench 2.0 'Version' command.  
  621.      o To  put  the record straight: PowerSnap is not a modified version of
  622.        Snap  (by  Mikael  Karlsson).  It  is a completely different program
  623.        that  does  most  of the things Snap does. A lot of the features and
  624.        ideas  in  PowerSnap  were influenced by (read: stolen from :-) Snap
  625.        though.  I  just  thought  I'd  mention  this  because  some  German
  626.        magazine  almost  convicted  me  for plagiarism, oh boy :^D  I wrote
  627.        PowerSnap  because  I  was not happy with Snap taking up over 80K of
  628.        my precious memory (PowerSnap only uses about 12K).  
  629.      o The  Amiga  would  hang  if  you tried to snap something just when a
  630.        window  was  about  to  close.  Now all the Intuition functions that
  631.        open/close/modify  windows  are  patched  so  they  will  wait until
  632.        snapping   has   finished.  On  Kickstart  2.0,  the  new  Intuition
  633.        functions are also patched.  This should fix all deadlocks.  
  634.      o Tooltype 'QUIET' added for Workbench startup without window.  
  635.      o Tested with Enforcer and Mungwall debugging tools.  
  636.  
  637.      ********************************************************************** 
  638.      VERSION 2.0 
  639.  
  640.        ** ONLY RUNS ON KICKSTART 2.0 OR HIGHER! ** 
  641.  
  642.      o PowerSnap  is  a  commodity  now,  so it can be disabled/enabled and
  643.        killed  using the Commodities Exchange program. Note the replacement
  644.        of  the  'PRIORITY' argument by 'CX_PRIORITY' to set the commodity's
  645.        priority rather than that of the input handler (default is 0).  
  646.      o Now  has  a  hotkey to pop up a GUI window to set the settings. This
  647.        window  allows you to easily change all of PowerSnap's settings with
  648.        the  mouse.   Note  that  the  QUIET  tooltype has been removed. Use
  649.        CX_POPUP=NO now.  
  650.      o Fixed bug: no longer crashes on fonts with LoChar smaller than 32.  
  651.      o PowerSnap's  character  recognition  has  been  improved. Before you
  652.        could  only  snap  black  or  blue text, now you may also snap white
  653.        text.  In  fact  PowerSnap  now  recognizes  text  in any color on a
  654.        background of any color. How could you ever manage without this :) 
  655.      o New  SMARTSPACE  and NOSMARTSPACE arguments. Allows you to switch on
  656.        much  better,  but slower, word-snap detection. Once you get used to
  657.        this  I  think you won't mind it's a bit slower. It is no problem on
  658.  
  659.  
  660.                                     Page 11
  661.  
  662.  
  663.      
  664.  
  665.  
  666.        faster Amigas of course, like the A3000.  
  667.      o New  multisnap  feature: allows you to add what you snap now to what
  668.        you  snapped before. That way you can e.g. snap several files from a
  669.        directory without having to snap them all at once.  
  670.      o PowerSnap  will  now  optionally  consider every font currently open
  671.        instead  of just the window's rastport font. ALLFONTS and NOALLFONTS
  672.        arguments.  
  673.      o Will  abort  the  snap  if you release the snap qualifier before the
  674.        recognition routine has finished.  
  675.      o Allows you to use lamiga, ramiga and ctrl to specify qualifiers.  
  676.  
  677.      ********************************************************************** 
  678.      VERSION 2.0a 
  679.  
  680.      o Error  reporting  improved,  if handler fails to initialize you will
  681.        be informed of the problem (instead of just flashing the display).  
  682.      o Fixed  bug:  if  handler  failed  to  initialize the settings window
  683.        would  appear  and  would  allow you to change settings that weren't
  684.        there :-) 
  685.      o Settings  window  changed to a simple refresh window.  Refreshing is
  686.        a  bit  slower,  but when the window is covered a lot of chip memory
  687.        is saved (especially on screens with a lot of colors/bitplanes).  
  688.      o The  handler  will  now  complain  if it can't find PowerSnap in the
  689.        command path.  
  690.  
  691.      ********************************************************************** 
  692.      VERSION 2.1 
  693.  
  694.      o PowerSnap  now  (optionally)  keeps  a  history  list of all snapped
  695.        text.   It is possible to pick a string from this history list to be
  696.        re-snapped.   Pressing  Left  Alt-H  (or another key you may choose)
  697.        will  bring  up  a  window on the currently active screen containing
  698.        the  snap  history.  This window will be automatically closed if the
  699.        screen it is on closes.  
  700.      o Somebody  reported  he  had  a  problem  when using QMouse (with the
  701.        sunmouse  feature)  and  PowerSnap together.  I have changed the way
  702.        PowerSnap  patches  the window functions of Intuition.  If a program
  703.        tries  to  use  an  Intuition  window  function snapping will now be
  704.        aborted.  This should fix all deadlock problems.  
  705.      o Using  the  middle  mouse button qualifier didn't work.  Fixed.  Now
  706.        you can finally snap and paste without using the keyboard.  
  707.      o On  Kickstart  3.0 the wait pointer in the settings window is set to
  708.        the standard Intuition wait pointer.  
  709.      o Two  new  switches:  CHARDELAY  and  LINEDELAY.  Allow you to set an
  710.        optional    delay    when   pasting   characters   and   lines   (in
  711.        milliseconds).   Default  delay is set to 1 microsecond (ok for most
  712.        programs).   MEmacs  (in  your  Workbench's  Tools  drawer  seems to
  713.        require a character delay of 5).  
  714.      o Recognition  of  underscore  character improved.  PowerSnap will try
  715.        to  be  smart about figuring out wether a character is an underscore
  716.        or an underlined space.  
  717.      o PowerSnap  will  check  the  version of PowerSnap-handler. This will
  718.  
  719.  
  720.                                     Page 12
  721.  
  722.  
  723.      
  724.  
  725.  
  726.        take  care  of  the  problem of an old handler still being installed
  727.        and causing weird things to happen.  
  728.      o Amazingly  stupid  bug  fixed  :)   Seems V37 of commodities library
  729.        doesn't  understand  the  'ctrl'  qualifier  (only 'control').  This
  730.        caused  the  default  popup  key  not  to work on Workbench 2.0.  On
  731.        Workbench  2.1  or  3.0 all worked perfectly.  Default popup key has
  732.        been changed to 'control lalt p'.  
  733.  
  734.      ********************************************************************** 
  735.      VERSION 2.1a 
  736.  
  737.      o New  feature: line snapping.  Tripple clicking the mouse button will
  738.        put  PowerSnap  in  line  snap mode.  This allows you to easily snap
  739.        whole  lines  of  text from a window.  Clicking again will bring you
  740.        back to character/frame snapping.  
  741.      o New  feature:  trailing  spaces  will be automatically stripped from
  742.        each  line  of  snapped  text.  Spaces will not be stripped from the
  743.        last line of text if you are in character snap mode.  
  744.      o Now   refuses   to   quit   when  some  other  program  has  patched
  745.        intuition.library.    Previous   versions   would   blindly  unpatch
  746.        intuition.library   causing  all  sorts  of  strange  and  wonderful
  747.        crashes :-) 
  748.      o PowerSnap  will  now  generate  both  key-down  _and_ key-up events.
  749.        Previously  only  a  key-down  event  was  sent to the input.device,
  750.        confusing some programs.  
  751.      o Bug  fix:  PASTEKEY  and HISTORYKEY arguments didn't work and caused
  752.        enforcer hits.  Fixed.  
  753.      o Bug  fix:  fixed  enforcer hit that occured when settings window was
  754.        popped up (using Commodities Exchange or popup key).  
  755.  
  756.      ********************************************************************** 
  757.      VERSION 2.1b 
  758.  
  759.      o Bug  fix:  inputevents  are now properly cleared before filling them
  760.        in  and  sending them to the input.device.  This should fix problems
  761.        with   corrupted   pastes   a   small   percentage   of   users  was
  762.        encountering.  
  763.      o Word  snapping  improved.   You  may  now  start  word snapping on a
  764.        space.   The space will be included in the snap.  Request from Roger
  765.        Nordin  (or  'a  major  problem' as he calls it).  I hope this makes
  766.        Roger happy :^) 
  767.      o Fixed  the  annoying  'DisplayBeep()  not  going  away  until I stop
  768.        snapping'  problem  :-)  Thanks to Roger Nordin for bugging me about
  769.        this.   This  bug(?)  has  been  in  PowerSnap  from  the day it was
  770.        released but I never bothered to fix it.  
  771.      o History  window  made  keyboard controllable.  Use the up/down arrow
  772.        keys  to  select  an entry.  Press Return or Enter to accept, Esc to
  773.        cancel.   Will  look  best  on  Kickstart  3.0  because the listview
  774.        gadget  uses  a highlight box to show which item is selected, on 2.0
  775.        a text gadget is used.  
  776.  
  777.  
  778.  
  779.  
  780.                                     Page 13
  781.  
  782.  
  783.      
  784.  
  785.  
  786.      o Changed  some code to use Kickstart 3.0 bitmap/rastport functions if
  787.        possible.  This should improve future compatibility.  
  788.  
  789.      ********************************************************************** 
  790.      VERSION 2.2 
  791.  
  792.      o PowerSnap  has  been  fully  localized  and has been made completely
  793.        font-sensitive.  
  794.      o New  'Save  Settings'  menu  item.   Allows  you to save the current
  795.        settings  to  PowerSnap's  icon.   These  setting  will be read when
  796.        PowerSnap  is installed, even when PowerSnap is started from the CLI
  797.        or Shell.  
  798.      o Made  PowerSnap  more  RTG friendly.  Snapping should now work under
  799.        the  Workbench  emulation  of  the  Piccolo and EGS Spectrum graphic
  800.        cards (not tested).  
  801.      o Some  programs  use  an  extra  pixel  of spacing between their text
  802.        lines.   PowerSnap will try to sniff this out and will try to adjust
  803.        itself  to  this.   Note  that  this  can never be perfect :(  Start
  804.        snapping  on  a  character that has another character directly below
  805.        it to help PowerSnap recognize such cases.  
  806.      o When  asked  to  quit  PowerSnap will now check the return code from
  807.        SetFunction()  when  removing  its  Intuition  patches,  rather than
  808.        directly  peeking  into  the  library's  jump  table.   Should  work
  809.        perfectly with SetMan now.  
  810.      o Improved  speed  of  text  pasting  by  switching  PowerSnap's  task
  811.        priority back to 0 when inserting.  Strange, but it works :-) 
  812.      o Bug  fix:  PowerSnap  could  go into an infinite loop when some high
  813.        ASCII chars were pasted (for example ª - 0xAA).  
  814.      o New command line switch and tooltype: CLIPUNIT.  
  815.      o Due  to very popular demand I added crawling ants to PowerSnap.  New
  816.        command line switches: ANTS, NOANTS, PATTERN and MULTIPATTERN.  
  817.      o PowerSnap  now  uses  iffparse.library  for the clipboard I/O.  This
  818.        should  improve  compatibility  with  other  software  that uses the
  819.        clipboard.  
  820.      o Keyboard   shortcuts  in  history  window  improved.   Now  supports
  821.        Control-Up/Down and Shift-Up/Down.  
  822.      o Bug  fix: PowerSnap would not recognize the last character of a font
  823.        (typically 'ÿ').  
  824.      o Removed  all  (but  one)  Intuition  patches  and  implemented a new
  825.        anti-deadlock  mechanism.   Snapping will be aborted when a deadlock
  826.        occurs  (for  example  a  program  opening  a  window  while you are
  827.        snapping).  
  828.  
  829.      ********************************************************************** 
  830.      VERSION 2.2a 
  831.  
  832.      o Fixed  problem  with  RTG detection code and added an RTG switch and
  833.        tooltype  to  force  RTG mode on.  If PowerSnap doesn't work on your
  834.        graphics card try using the RTG switch.  
  835.      o The  clipboard  is now opened when PowerSnap is installed and closed
  836.        when  it  is  removed  and  no longer on every clipboard read/write.
  837.        This avoids the overuse of CLIPS:.  
  838.  
  839.  
  840.                                     Page 14
  841.  
  842.  
  843.      
  844.  
  845.  
  846.      o The  handler  will no longer look for PowerSnap in the command path.
  847.        It will now simply execute PowerSnap from 'PROGDIR:'.  
  848.      o Bug  fix: there was a small amount of memory loss when PowerSnap was
  849.        quit.  Oops :) 
  850.      o Bug  fix:  error  reporting routine (from Workbench) would hang when
  851.        ReqTools was not installed.  
  852.      o Bug  fix:  on systems without locale.library the hex pattern gadgets
  853.        contained a capital X instead of the correct hex number.  
  854.      o Fixed  harmless  mungwall  hit  that  occured  when  'All Fonts' was
  855.        switched  on and PowerSnap couldn't find a character under the mouse
  856.        pointer (allocation of 0 bytes).  
  857.      o Swedish catalog included, translation by Roger Nordin.  
  858.      o French catalog included, translation by Benoit Mortier.  
  859.  
  860.      ********************************************************************** 
  861.  
  862.      PowerSnap 2.2a by Nico François (Yes, Nico is my first name :-) 
  863.  
  864.      Thanks to Jorrit Tyberghein, Ives Aerts, Kenny Grant, Herman Stevens,
  865.      Philip Marivoet, Peter Stuer, Stefan Zeiger, Magnus Holmgren, Roger
  866.      Nordin, Marcus Sommarmyr, Geert Uytterhoeven, Rafael D'Halleweyn and
  867.      Paul Kolenbrander for testing and the many good suggestions.  
  868.  
  869.      Copyright (c) 1991-1994 Nico François 
  870.  
  871.  
  872.  
  873.  
  874.  
  875.  
  876.  
  877.  
  878.  
  879.  
  880.  
  881.  
  882.  
  883.  
  884.  
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.                                     Page 15
  901.  
  902.  
  903.      
  904.  
  905.  
  906.                                Table Of Contents
  907.  
  908.                                  PowerSnap 2.2a
  909.  
  910.      PREFACE.........................................................    1
  911.  
  912.      1. Introduction.................................................    1
  913.  
  914.      2. Installation.................................................    2
  915.  
  916.      3. Usage........................................................    2
  917.         3.1 From CLI or Shell........................................    2
  918.         3.2 From Workbench...........................................    7
  919.  
  920.      4. Settings Window..............................................    8
  921.  
  922.      5. Features.....................................................    9
  923.  
  924.      PROGRAM HISTORY.................................................   11
  925.  
  926.  
  927.  
  928.  
  929.  
  930.  
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954.  
  955.  
  956.  
  957.  
  958.  
  959.  
  960.      
  961.  
  962.