@DATABASE Finder.guide
@AUTHOR "Chris Jones"
@(c) "Copyright ©1997 Dynamic Software"
@$VER: FinderV3.guide V1.00 (17.06.97)
@remark : If you don`t have Amigaguide, this should be fairly easy to read.

@MASTER FinderV3.guide
@TABSIZE=3

@NODE MAIN
@TITLE "Finder V3.00 by Chris Jones ©1997 Dynamic Software. All rights reserved"

                               @{fg highlight}Finder V3.00 Help@{fg text}

                            Please choose an option:

                          @{" Disclaimer             " link Disclaimer}
                          @{" License                " link License}
                          @{" Introduction           " link Introduction}
                          @{" Getting Started        " link GettingStarted}
                          @{" Installation           " link Installation}
                          @{" Requirements           " link Requirements}
                          @{" Usage                  " link Usage}
                          @{" History                " link History}
                          @{" Credits                " link Credits}
                          @{" Finder's Future        " link Todo}
                          @{" Contacting the Author  " link Author}


                 Click on the @{fg highlight}@{b}CONTENTS@{ub}@{fg text} button at the top of the
                       window to return here at any time.

@ENDNODE

@NODE Disclaimer
@TITLE "Finder V3.00 Disclaimer"

@{fg highlight}                             DISCLAIMER FOR FINDER
@{fg text}

@{b}DOCUMENT DISCLAIMER:@{ub}
With this document Dynamic Software and Chris Jones make no warranties or
representations, either expressed or implied with respect to the products
described herein.  The information presented herein is being supplied on an "AS
IS" basis and is expressly subject to change without notice.  The entire risk as
to the use of this information is assumed by the user.  IN NO EVENT WILL DYNAMIC
SOFTWARE OR CHRIS JONES BE LIABLE FOR DIRECT, INDIRECT, INCIDENTAL, OR
CONSEQUENTIAL DAMAGES RESULTING FROM ANY CLAIM ARISING OUT OF THE INFORMATION
PRESENTED HEREIN, EVEN IF IT HAS BEEN ADVISED OF THE POSSIBILITIES OF SUCH
DAMAGES.  SOME STATES DO NOT ALLOW THE LIMITATION OF IMPLIED WARRANTIES OR
DAMAGES, SO THE ABOVE LIMITATION MAY NOT APPLY.

@{b}PROGRAM DISCLAIMER:@{ub}
THE PROGRAMS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS TO THE
RESULTS AND PERFORMANCE OF ANY PROGRAM IS ASSUMED BY YOU.  Should the program
prove defective, you (and not Commodore or its dealers or the author of Finder)
assume the entire cost of all necessary servicing, repair, or correction.
Further, neither Commodore nor the author of Finder warrants, guarantees, or
makes any representations regarding the use of, or the results of the use of,
the program in terms of corrections, accuracy, reliability, currentness, or
otherwise; and you rely on the program and results solely at your own risk.

@{fg highlight} Please note:@{fg text}  wherever applicable, substitute 'Commodore' or 'Commodore-Amiga,
      Inc.' or 'Commodore Electronics Limited' with 'Amiga International'

   This Disclaimer was adapted from the Commodore-Amiga® and DICE Disclaimers

                   See also:  @{"Trademarks" link Trademarks}

@ENDNODE

@NODE Trademarks
@TITLE "Trademarks"

         Amiga (tm)  is a registered trademark of Commodore-Amiga Inc.
        AmigaDOS (tm) is a registered trademark of Commodore-Amiga, Inc.
     Commodore is a registered trademark of Commodore Electronics Limited.
             Workbench (tm) is a trademark of Commodore-Amiga, Inc.
             Intuition (tm) is a trademark of Commodore-Amiga, Inc.

           Finder is an un-registered trademark of Dynamic Software.

   All other trademarks are acknowledged by Dynamic Software and Chris Jones.

@{fg highlight} Please note:@{fg text}  wherever applicable, substitute 'Commodore' or 'Commodore-Amiga,
      Inc.' or 'Commodore Electronics Limited' with 'Amiga International'

@ENDNODE

@NODE License
@TITLE "Finder V3.00 License Information"

@{fg highlight}                               LICENSE FOR FINDER
@{fg text}

@{fg highlight} Please note:@{fg text}  wherever applicable, substitute 'Commodore' or 'Commodore-Amiga,
      Inc.' or 'Commodore Electronics Limited' with 'Amiga International'


@{b}1.  COPYRIGHT:@{ub}  This program and the related documentation are copyright.  You
may not use, copy, modify, or transfer the programs or documentation or any copy
except as expressly provided in this agreement

@{b}2.  LICENSE:@{ub}  You have the exclusive right to use any enclosed program on any
computer.  You may load the program into your computer's temporary memory (RAM).
You may physically transfer the program from one computer to another.  You may
electronically transfer the program or accompanying documentation to another
person over a network provided that the original archive remains intact without
modification.  You may distribute copies of the program and accompanying
documentation to others.  You may not decompile, disassemble, reverse engineer,
modify or translate the program.

@{b}Finder may not be used in or by the employees of any military institution or in
conjunction with any military related files.
@{ub}

All other rights and uses not specifically granted in this license relating to
items created by the author of Finder are reserved by the author of Finder.  All
other rights and uses not specifically granted in this license relating to items
created by Commodore are reserved by Commodore.  Where clarification is required
of the above paragraph, the author of Finder shall decide the clarification.
Where such clarification is deemed illegal, the latter sentence will be
withdrawn from this license.

@{b}3.  BACKUP-UP AND TRANSFER:@{ub}  You may make any number of physical backups of the
program and documentation provided the backups remain in the original form.  You
must reproduce and include this copyright notice on any backup copy.  You may
transfer and license the product to another party only if the other party agrees
to the terms and conditions of this Agreement.

@{b}4.  TERMS:@{ub}  This license is effective until terminated.  You may terminate it by
destroying the program and documentation.  This license will also terminate if
you fail to comply with any term or condition of this Agreement.  You agree upon
such termination to destroy all copies of the program and documentation.

@{b}5.  MISCELLANEOUS:@{ub}  This agreement represents the entire understanding regarding
the programs and related documentation, and supersedes any prior purchase order,
communications or representations.  This agreement may only be modified by a
written amendment signed by the author of Finder (when related to all other
files in the distribution).  If any provision of the agreement shall be deemed
unlawful, void, or for any reason, unenforceable it shall be deemed separate
from, and shall in no way affect the validity and enforceability of the
remaining provisions of the agreement.

@{b}6.@{ub}  The program License Agreement shall inure to the benefit of Commodore-Amiga,
Inc, its parent, and all affiliated companies thereof with exception to Finder
specific programs and documentation, which shall inure to the benefit of the
author of Finder.

@{b}7.@{ub}  Permission is given for Finder to be placed in public domain libraries and
on public domain CDs so long as no more than £1.50 Sterling is charged for the
diskette or £20 Sterling for the CD.

@{b}8.@{ub}  Permission is given for Finder to be placed on magazine coverdisks provided
that the author is notified and sent a complementary copy of the magazine
bearing Finder and that the archive is not altered without prior permission from
the author. This clause also applies to cover CD versions of magazines.


          This License was adapted from the DICE License ©Matt Dillon

                   See also:  @{"Trademarks" link Trademarks}


@ENDNODE

@NODE Introduction
@TITLE "Finder Introduction"

Finder is an easy to use, powerful file finding utility. The user supplies
Finder with a path (i.e. a Volume or a Directory) and a pattern (i.e. a filename
or a partial name and wildcards e.g. foo#?). Finder will use this information to
search the Volume/Directory and any sub-directories for any files matching the
supplied pattern. Any that are found are displayed in the window with their full
path. When the last file has been found the number of file found is presented.

The program is based upon `Finder V1.00` by Toby Simpson which appeared as a C
programming tutorial in Amiga Shopper.

I didn`t like the GUI he had used and so I decided to change it and generally
spice the program up a bit to test my newly found C programming skills!

ArcAngel is part of the continuing commitment to the Amiga by Dynamic Software.
Please check out our other releases:

   Finder V3 - File finding utility
   FMSGui    - ArcAngel's predecessor (only handles DMS files)
   CyberBar  - User configurable tool bar for launching Internet Programs
   MUIBSD    - Simple requester to prevent accidental loading of NetBSD

The archives, and support, is all available from:

http://www.calweb.com/~aces/index.html

The GUI for Finder V3.00 was created using MUIBuilder by Eric Totel (a program 
I heartily recommend to all MUI minded programmers, but maybe wait until Version 3 
is available!).  Finder V3.00 was written using Cygnus Ed V3.5 and compiled with 
SAS/C V6.57. Sadly, with this release, re-compilation support for DICE has been
removed (due to MUI related problems).

@{fg highlight}     Finder V3.00 is FREEWARE. Copy it to all your mates (please!)
@{fg text}

@ENDNODE

@NODE GettingStarted
@TITLE "Starting Finder V3.00"

Finder can be run from either CLI or Workbench.

@{fg highlight}From CLI:@{fg text}
   Simply type the path and name of Finder and it will run and present it's
window. To run Finder in the background (i.e. so it returns a CLI prompt
immediately), type "run <NIL: >NIL: <path>/Finder" (<path> is the path of the
Finder executable). 

Note: any program which is self detaching from the CLI does so illegally. This 
may cause problems with newer versions of Kickstart. Using "run" is safer and 
easier because it requires no extra programming (i.e. SegList splitting, etc).

@{fg highlight}From Workbench:@{fg text}
   Simply double click on Finder's icon and it will run and present it's window.

   If you wish Finder to not open it's window on startup, there is no tooltype,
    as in previous releases. Instead, use the MUI prefs to set the iconify type
    to "Menu" and set it to iconify at startup.

@ENDNODE

@NODE Installation
@TITLE "Installing Finder V3.00"

The installation of Finder has become a bit more complicated than the early
releases. I @{b}strongly@{ub} recommend you use the provided Install script.
If, however, you are a die hard Amiga user and want to do everything by hand,
these are the steps you need to perform:

   · Copy the Finder executable somewhere
   · Copy FinderV3.guide to HELP:
   · Copy FinderLogo.iff to the same drawer as the main executable
   · Make sure you have MUI!

Finder is then installed.

@ENDNODE

@NODE Requirements
@TITLE "Finder V3.00 Requirements"

@{fg highlight}   Finder V3.00 requires Kickstart 3.0 or above and MUI V3.8+.
@{fg text}

Finder V3.00 was compiled on an A1200, 16Meg Fast RAM with 1.2Gb Western Digital
3.5" IDE Hard Drive using SAS/C V6.57 with Kickstart 3.1 Includes and MUI 3.8
includes.

@{fg highlight}@{b}NOTE:@{ub} FINDER V3.00 HAS ONLY BEEN TESTED ON KICKSTART
3.0.  IT WILL NOT WORK WITH ANYTHING LESS AND CANNOT BE ASSUMED TO WORK WITH
ANYTHING HIGHER (IT IS, HOWEVER 100% SYSTEM COMPLIANT AND SO IS EXPECTED THAT IT
WILL BE FULLY COMPATIBLE WITH ANY FUTURE 680X0 BASED AMIGAS)..  @{fg text}

If you own a machine with anything less than OS3.0, @{fg highlight}UPGRADE@{fg
text}.  It costs less than £100 Sterling to upgrade to OS3.1 and it is worth it.
Or, you should upgrade to A1200 or A4000 now they are on sale again.

You will however be forgiven if you are unable to obtain an OS3.1 Upgrade Kit,
as Village Tronic is currently involved in a law suit with Amiga International
over problems with payment for the kits.  As such, the stocks of the kits are
currently in VERY short supply, and quite high demand!

I have no plans to @{b}EVER@{ub} support <OS3.0 as I see that as encouraging
people NOT to upgrade.  If people are still using 1.3 A500s the Amiga market is
dead.  If we all use AGA machines (ideally accelerated) then software developers
can make more CPU intensive programs.  @{i}(Gripe over!)@{ui}.

@ENDNODE

@NODE Usage
@TITLE "Using Finder V3.00"

                       @{b}@{u}Finder V3 Gadgets@{ub}@{uu}

@{fg highlight}Close Window@{fg text}   - Closes the window and exits
(Top Left)

@{fg highlight}Files found@{fg text}    - Shows all of the files found which match the
(Listview)       given pattern in the given path.

@{fg highlight}Find gadget@{fg text}    - This will begin a search of the chosen path with the
(Bottom left)    pattern provided and display the results in the Listview.

@{fg highlight}Quit gadget@{fg text}    - This will quit the program.
(Bottom left)

@{fg highlight}Search drawer@{fg text}    - This is the text field in which you can type the path
(Bottom right)   you want Finder to search. Also, there is a small gadget which will cause an ASL
                  requester to appear. Please note, this requester is currently NOT directories
                  only as it should be, so don't select any files!

               NOTE: You can use the checkmark gadgets to make the search case-sensitive or not
                      and recursive or not (default is case insensitive and recursive).

@{fg highlight}Pattern @{fg text}       - This is the text field in which you can type the pattern
(Bottom right)   you want Finder to search with.


   @{fg highlight}Note:@{fg text}  Only standard AmigaDOS wildcards are supported, not '*.*' or others
               unless you use a hack like WildStar (or similar).

@{fg highlight}About (menu)@{fg text}   - This will open an about requester. Click on Continue to return.

@{fg highlight}AboutMUI (menu)@{fg text}- This will open the MUI about requester.

@{fg highlight}Save (menu)@{fg text}    - This will pop open an ASL requester allowing you to save the list
                                           of files to a text file.

@{fg highlight}Hide (menu)@{fg text}    - This will close all Finder windows and open an AppIcon/Menu as
                                           setup in the MUI prefs.

@{fg highlight}Quit (menu)@{fg text}    - This will quit Finder.

NOTE: The List printing option is as yet unfinished. Sorry!


                     @{b}@{u}Aborting the search@{ub}@{uu}

Curently, it is possible to abort a search, but only by sending Finder's task a Ctrl-C
signal. This is fine if you run Finder from CLI as you can just press 'Ctrl C', but the problem
is that Wb does not provide an easy way to send Ctrl-C signals to processes. You will need an
external program which is capable of sending such a signal. A good example of such a program is
Commander, part of the Executive system by Petri Norland.

@{b}NOTE:@{ub} This aborting system WILL change. I intend to implement an extra window which will
   appear when a search is in progress showing a busy bar and presenting an 'Abort' button.

@ENDNODE

@NODE History
@TITLE "Finder V3.00's History"


                              Finder History

                                  @{fg highlight}V 3.00r2@{fg text}

                                 Public release

 · Complete re-write since V3.00r1 removing some annoying bits of code and 
    adding functionality to the search.
 · As far as I can see, Finder is 100% Enforcer hit free.
 · The list printing routine is currently disabled as it does not function
    correctly yet. This will be fixed for V3.01
 · The keyfile code has been removed as it got a bit annoying. I only put it
    in because I wanted to know how many people actually used Finder. The
    response was very healthy, so I am continuing the development with this
    fantastic new version.
 · Added options to save/print the list of files. The printing routine is
    not yet 100% ok, so it is disabled in this release. Does anyone really
    want it? If so, mail me.
   The list saver is now quite sophisticated - You can use an ASL requester
    to choose the file you want to save the list to. If that file already
    exists, you can either Overwrite the existing file , Append it, or Cancel
    Not bad huh?


                                  @{fg highlight}V 3.00@{fg text}

                           Private Beta Release - Internal

 · Total GUI replacement, moving totally to the MUI system by Stefan Stuntz.
   Because of this, Finder is now a commodity, has an AREXX port, is re-sizable
    and all the other things the registered users from the previous release wanted!
 · Added GUI (but not internal code) for some user-definable options, like
   turning the search from recursive to not, and case sensetive.
 · As of 24.03.97 Finder is considered to be Enforcer Hit free. It doesn't yet
   function, but it won't crash!


                                  @{fg highlight}V 2.07@{fg text}

                           Public Release - Web Site only

 · Not much of a new version for anyone except the registered users 
   (thanks guys - you know who you are!).
   Finder will now tell you who it is registered to in the About requester.
   If you are not registered (why not?) it will say "Unregistered"
   (Many thanks to Dr. David Hamill for some help with this).


                                  @{fg highlight}V 2.06@{fg text}

                           Public Release - Aminet

 · Only added the Keyfile checking routine. PLEASE REGISTER FINDER.
   Especially since IT IS FREE!
 · Fixed a silly bug with library opening (icon.library was closed twice).


                                  @{fg highlight}V 2.05@{fg text}

                           Public Release - CUCD III

 · MAJOR bug fix. Up until now, Finder used a simple loop for it's IDCMP
   handler. This is a fairly standard way of doing things and is the
   default generated method with GadToolsBox, but it does have a VERY nasty
   side-effect - It uses ALL available CPU time so it can do the loop as
   fast as possible. There is a much better way of doing it. That is to
   wait until a message is recieved rather than assume one has and start
   trying to figure out what it is (usually nothing). This 'new' method was
   already being used by the AppMenu handler (the code came straight from
   the RKM examples, I hadn't really looked at it). The added command is:
      "WaitPort(FinderWnd->UserPort);"
   Extermely simple and very irritating, but at least now Finder won't
   swallow your CPU everytime you run it!
   I am considering putting a counter into an old version of Finder to work
   out the average number of times it ran the loop unsuccessfully. Maybe
   this could be the start of a new benchmark!
 · Totally new error handling system. Finder now uses a CON: window to
   present any errors and a solution to the user.
 · The ListView has a new feature specific to OS3.0+ which is that you can
   select items in it. Doing this will have no effect on the program, but
   it provides a useful way of remembering a particular file name/path.
 · Cleared up an interesting problem with the stack. Finder was allocating
   too much stack and would cause the machine to hang on a long search. This
   has been solved by using dynamic stack code (a dice compiler option).
 · Oh dear. We have a little problem. I now own my Blizzard 1230-IV (with 8Mb
   SIMM) and hence have an MMU. I have tested Finder with Enforcer and
   discovered at least four Enforcer hits.
   They seem to be involved with opening and closing the window (a problem
   with GadToolsBox?).
   Unfortunately, I have absolutely no idea what the hell the Enforcer output
   means! So I can't debug it. Sorry if these hits make your machine crash, but
   unless somebody explains to me what I am supposed to do they will have to
   stay there!
 · Tested again with CodeWatcher. Seems to be that some allocated memory is
   not being freed, but I can't find it (a compiler error?). Most of it claims
   to be ROM space (huh?).


                                  @{fg highlight}V 2.04@{fg text}

                               Not released

 · Finder will now open on the default public screen, not Workbench.
   (most users will not notice any difference as Workbench is usually
   the default public screen, but if you use DOpus 5+, it might not be).
 · When the window is re-opened (e.g. after zooming or AppMenu), the list
   is not cleared.
 · Major bug fix. I have finally found the cause of the silly Listview
   bug. I was initialising the list as soon as the search was over so
   any names not being displayed were 'forgotten'. Boy do I feel stupid!
 · Cleaned up the source and moved some functions around to make it
   easier to recompile using GadToolsBox (see ReadMe in the Source drawer)
 · Tested with CodeWatcher (I can't get easy access to an MMU for Enforcer
   to use because the Blizzard A1230-IV is so bloody difficult to get hold
   of! They are being sold before even being made!).


                                  @{fg highlight}V 2.03@{fg text}

                               Not released

 · Added busy pointer while search is happening. (buttons pressed with a
   busy pointer will be activated when the normal pointer returns).
 · Listview bug evades me yet again (AAAAAARRRGH!)


                                  @{fg highlight}V 2.02@{fg text}

                               Beta release

 · Added option (via Tooltypes) to put Finder in the 'Tools' menu _WITHOUT_
   opening the GUI (can therefore be used from the WBStartup drawer easily)
 · Still can't find Listview bug.


                                  @{fg highlight}V 2.01@{fg text}

             First public Release (AUI coverdisk 82 - May '96)

 · Tested with Enforcer (seems OK so Listview bug must be a 'legal' bug!).
 · Added AppMenu support.
 · Cleaned up code a bit.
 · Can't find Listview bug.


                                  @{fg highlight}V 2.00@{fg text}

                               Not released

 · GUI updated from Finder v1.00 by Toby Simpson.
 · Search routines revised.
 · Bugged to hell!

@ENDNODE

@NODE Credits
@TITLE "Finder V3.00 Credits"

                          Finder V3.00 by Chris Jones
                              Help from Dr. Hamill
                           'Poking' from Dave Michael
                         Finder V1.00  by Toby Simpson
                          CygnusEd by Cygnus Software
                            SAS/C  by SAS Institute
                            MUIBuilder by Eric Totel
                              MUI by Stefan Stuntz
                            Amiga by Commodore-Amiga

I would like to take this opportunity to thank Imdad Shah and David Ward for 
very kindly including Finder V2.01 on an Amiga User International coverdisk.  I
didn't expect them to, but they did.  Cheers guys!  Sorry it was bugged!

Matt Bettinson deserves a mention too, for putting the much less bugged V2.05 on
CUCD III. Thanks Fingers you slapper!

Also, thanks to Thomas Frieden of DIgital DImensions for his excellent utility
"AssignPrefs". Some sections of the code for Finder are based on his code (especially
the reading of Tooltypes which is nigh on impossible if you don't own RKMs).For this 
reason, I have included full source to Finder and filled it with comments so that 
anybody who wants to use my code can (please do).

Last and VERY definitely NOT least, I would like to say a VERY big thank you to all of
the wonderful guys who registered Finder. They were all very helpful and made some
good suggestions which may or may not make it into future versions depending on how
well the rest of my C programming uni course goes!

@ENDNODE

@NODE Author
@TITLE "Contacting the author"

Please send all bug reports, comments, suggestions, A4000Ts, etc. to:

   Chris Jones
   7 The Heights
   Brighton
   East Sussex
   BN1 5JX
   England

   WWW:    http://www.calweb.com/~aces/finder.htm

   E-mail: aces@calweb.com          (due to change soon)
           ee61cj@ee.surrey.ac.uk   (may change soon)
           Ng@death-star.com        (will NOT change)

   PGP key:

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6.2i

mQCNAzOoqIgAAAEEANrxBsVPpTQxvXzJg07sAtJ4PP24+4HxT6jOwFNBF2m+ao5y
L+wwLJ3d9h8JKlzqBqcO4t7p4ZJjYUnLTQqWDGm/6rWLT+n2fSZ84LRKjN1lswPe
qI7gtb4E9MjFW5UIzPW7HI3G74lgjrLc8Mc3O6qZilzBXjArWnNidiBd47wFAAUR
tB1DaHJpcyBKb25lcyA8YWNlc0BjYWx3ZWIuY29tPg==
=PtMD
-----END PGP PUBLIC KEY BLOCK-----


@{b}Personal Plea:@{ub} If anyone knows how to calculate the CPU usage % (as in
Driectory Opus 4) PLEASE mail me with the code (not using sysinfo.library from
Executive).

                                   Thank you.

@ENDNODE

@NODE Todo
@TITLE "Finder`s future"

NOTE: Finder will be getting regular updates, but they will only be available from
      the Finder web site (http://www.calweb.com/~aces/finder.htm). Only major
      releases will be on Aminet (it is unlikely there will be anymore major
      versions, but I will keep Finder going through small updates).

If I get feedback from you (and if I can be bothered), these are some of the
things I would like to see appear in Finder:

· Ability to abort the search (useful for searching CDs!)
· Localisation (anybody want to translate for me?).
· Control case sensetivity/directory recusion.
· Option to search any assign 'add's (e.g. if FONTS: points to more than one directory)
   Example-script:

      $VER:startup-sequence v39.29
      assign FONTS: SYS:Fonts
      assign FONTS: Work:Fonts ADD

   Currently, Finder would only search SYS:Fonts. If I can work out how to do it, it
   would also search Work:Fonts


If you would like to get involved with updating Finder, please contact me at the
address in the @{"Contacting the Author" link Author} section.

@ENDNODE

@remark : Unless you are reading this with an ASCII reader, you won`t see
@remark :  this!
@remark : Hello Mum & Dad!
@remark : Chris.
@remark : ~~~~~~
@remark : Bullet point ASCII 183 : "·"
@remark :
@remark : If you are cheeky enough to read this, you deserve a reward.
@remark : That reward is the I will let you in on a secret.
@remark :
@remark : Bananas are yellow and bent!!
