home *** CD-ROM | disk | FTP | other *** search
- 940505 QuickTools Release 1.1
- Requires an Amiga with OS compatible with Workbench 2.04.
-
- Copyright © 1994 Ultima Thule Software, All Rights Reserved.
- Author: Eivind Nordseth
-
- This package is NOT public domain, but it is freely distributable. In other
- word it is FreeWare. This means that you can copy it and give it to all
- your friends, upload it to a BBS or include it in a PD-library. The only
- restrictions are: All the files included in this archive must be in their
- original form without additions, deletions or modifications of any kind.
- QuickTools may not be distributed for profit. Only a nominal charge may be
- associated with its distribution. If you want to distribute QuickTools
- along with any commercial product you need written permission from the
- author. QuickTools is provided "AS IS" without warranty of any kind, and
- the author is not responsible for any damage this software may do. (Just in
- case :-)
-
-
- BACKGROUND:
- ~~~~~~~~~~~
- This package started with Qcd (Quick Change Directory) a few years ago. Qcd
- was made because I was tired of writing long pathnames when I should move
- around on my harddisk. I had seen a utility on PC which did CD to
- directories by writing a part of the directory name (NortonCD). I wanted to
- make something like it on the Amiga. Up the years Qcd has been improved and
- I got the idea to make a search package for both files and directories. And
- here it is: QuickTools.
-
-
- QUICKTOOLS PACKAGE
- ~~~~~~~~~~~~~~~~~~
- This package consist of:
- - quicktools.library: This library contains the search-routines for
- searching in the database.
- - GetQInfo: Scans disks to build up the database of files and directories.
- - Qcd: Change directory by searching the database.
- - QFind: Find files in the database.
- - QMan: Finds documentation files using the database.
- - QPop: Commodity for finding files and directories.
- - QAsn, Qdir: Scriptfiles using Qcd.
-
- If you want to use the search routines in the library from your own
- programs, the autodocs and includes for the library are included in this
- package.
-
-
- INSTALLATION
- ~~~~~~~~~~~~
- The installation is quite simple. Just copy the library to LIBS: and put
- the executables from the bin directory somewhere in your path. Qcd, QFind
- and QMan is pure and can be made resident. (If the pure-bit is not set on
- your copies, use "Protect" to set it.) If you want QPop to start up every
- time the computer boots, you can drop the QPop icon in the WBStartup
- drawer. The scriptfiles from the S directory should be in the S: directory.
- (If the script-bit is not set on your copies, use "Protect" to set it.)
-
- The default path when storing the datafiles used to hold the database of
- files and directories is "S:". If you want to store the datafiles somewhere
- else can you set the envirorment variable called "QuickTools/DataPath" to
- contain the prefered path. If you change the "QuickTools/DataPath" setting
- must you either rerun GetQInfo or copy the old datafiles from the old path
- to the new one.
-
- The database itself is stored in two files. These are: QuickTools.Dirs and
- QuickTools.Files.
-
-
- USING WILDCARDS
- ~~~~~~~~~~~~~~~
- All programs using quicktools.library for searching will allow the use of
- standard AmigaDOS wildcards. A '#?' wildcard is automaticaly added to every
- file and directory name used for searching. So searching for 'tes' equals
- searching for 'tes#?', and searching for wo:sou/qto/#?.c equals searching
- for 'wo#?:sou#?/qto#?/#?.c#?'.
-
-
- GETQINFO
- ~~~~~~~~
- Before you can use Qcd, QFind and QPop you must use GetQInfo to gather the
- database for the library. GetQInfo should be run on a regular basis to
- keep your database up to date.
-
- The parameters GetQInfo takes are:
- DRIVE/M - Drives to scan for files and directories.
- OLDERTHAN/N/K - The drives will only be scanned if the database is older
- than a given number of days.
- DELAY/K/N - Seconds to delay before scanning drives.
- SAVEREQUEST/S - Pop up a requester before saving the database. Use this to
- ensure the database is not saved when the machine is about
- to crash.
- EXCLUDEDIR/K - Exclude pattern for directories. Standard AmigaDOS
- wildcards. The exclude pattern will be matched with the
- complete path (with volume name) of all directories found.
- EXCLUDEFILE/K - Exclude pattern for files. Standard AmigaDOS
- wildcards. The exclude pattern will be matched with the
- complete path (with volume name) of all files found.
- USAGE/S - Show help. Same as using no parameters.
-
- Example:
- GetQInfo System2.0: Work: EXCLUDEDIR Work:xfh EXCLUDEFILE #?.info
- Scans drives System2.0: and Work: for directories and files and stores
- them in the database. The Work:xfh directory (with subdirectories) and
- all files ending with .info will not be added to the database.
-
- The OLDERTHAN and DELAY parameters are ment to be used if you have GetQInfo
- in your S:User-Startup. Example from my User-Startup:
-
- run >nil: Tools:myC/GetQInfo Sys: Tools: OlderThan 1 Delay 30 SAVEREQUEST
-
- Scans Sys: and Tools: and builds a new database if the old database is
- older than a day, but wait 30 seconds before scanning. The reason for
- waiting is to delay the scanning so it starts after the User-Startup and
- WBStratup is done.
-
- When using the EXCLUDEDIR and EXCLUDEFILE parameters there is no need to
- give the *complete* path in the pattern.
- Example:
- EXCLUDEFILE #?/data/bbs0/#?
- This will exclude the following files:
- Grab:Thor/data/BBS0/MsgData0
- Grab:Thor/data/BBS0/tmp/ThisTo
- Work:Source/bbsread/data/BBS0/MsgData0
-
- It is possible to stop GetQInfo while scanning and without destroying the
- database by pressing CTRL-C.
-
- Arguments to GetQInfo can also be put in the environment variable
- "QuickTools/GetQInfoArgs". This variable will be scanned before your
- command line arguments. If you put all your drives in this variable you
- don't have to write them each time you want to build a new database.
-
-
- QFIND
- ~~~~~
- QFind uses the database to search for files. It takes just a few seconds to
- search trough the database, while ordinary file-searching program could use
- several minutes.
-
- The parameters QFind takes are:
- FILE - Partial path and/or partial filename to search for.
- USAGE/S - Show help. Same as using no parameters.
-
- Examples:
- QFind qfi
- Search for files in database matching 'qfi#?'.
-
- QFind tes/qfi
- Search for files in database matching 'qfi#?' and with a parent directory
- matching 'tes#?'
-
-
- QPOP
- ~~~~
- QPop is a Workbench commodity which searches for files or directories with
- quicktools.library. It's quite simple to use, one just write the search
- specification in the string gadget and press enter. All the entries in the
- database that match the search spesification are then shown in the the
- ListViewGadget. The ListViewGadget can be scrolled with the cursor keys in
- combination with shift and ctrl. Located at the bottom of the window are
- gadgets labeled 'Hide', 'Cut', 'Copy' and 'Type'. The 'Hide' and 'Quit'
- gadgets are standard commodities gadgets. 'Cut' copies the selected entry
- in the ListViewGadget to the clipboard and hides QPop. 'Copy' does only the
- copying to the clipbroard. To retrive the text from the clipboard, you
- could use a tool for pasting text from the clipboard to the input stream
- (Snap could be used). It is also possible to paste text to a console window
- by using R-Amiga V if the program using the console supports it. The 'Find'
- cycle gadget switches between file and directory searching. Pressing return
- when the string gadget is not active has the same effect as pressing the
- 'Cut' gadget.
-
- QPop takes its parameters as tooltypes:
- CX_PRIORITY, CX_POPKEY, CX_POPUP - Standard commodities toolstypes.
- FINDTYPE - Which searchtype to start with. Possible values are 'File' and
- 'Dir'.
-
-
- QCD
- ~~~
- Qcd is the main reason for making this toolpackage, and is perhaps the CLI
- utility I use the most. With Qcd you could change to any directory on the
- disks in the database by just giving enough of the name and/or path to
- identify it. As the other QuickTools utilities Qcd also support use of
- wildcards. Before any searching in the database is done, Qcd tests if the
- parameter is a directory relative to the current directory by trying to
- change to a directory with the name of the parameter. If this fails the
- database will be searched. This means that after you have installed Qcd on
- your system you don't have to use the old CD command.
-
- The parameters Qcd takes are:
- DIR - Partial path and/or partial name of directory to change to.
- SEARCHES/N - Change to the n'th directory matching the DIR parameter.
- SHOW/S - Show the full path and name of the directory Qcd changed to.
- Handy in scriptfiles.
- NOGUI - Don't pop up the match requester.
- USAGE/S - Show help.
-
- Special cases of the DIR-parameter:
- '-' : Changes to the directory which last was current. Qcd stores the
- previous current directory in a local environment variable called
- 'QCDLASTPATH'.
- '..' '...' '....' : Go up one [two][three] directory levels.
-
- If more than one directory matches the DIR parameter and the SEARCHES
- parameter is not used, a requester with all the matched directories will
- pop up. This requester can be controlled with the mouse or cursor keys in
- combination with shift and ctrl. The return key equals the 'OK' gadget and
- the ESC key equals the 'Cancel' gadget.
-
- If you set the NOGUI switch and use the same dir parameter more than once,
- will Qcd change to the next directory that matches the dir parameter.
-
- Examples of how Qcd can be used:
- If you want to change to a directory with the following path:
-
- 'Harddisk0:Work/SAS/SelfMade/QuickCD'
-
- There are several ways to do it:
- You can write: 'Qcd Harddisk0:Work/SAS/SelfMade/QuickCD' (the hard way)
- Or : 'Qcd hard:/sas//quic'
- Or : 'Qcd Self/Quick'
- Or : 'Qcd :///#?cd'
- Or : 'Qcd QuickCD'
- Or just : 'Qcd qui' (the fast way)
-
- And bang, you are in 'Harddisk0:Work/SAS/SelfMade/QuickCD' !!
- Quite nice eh!!
-
- Arguments to Qcd can also be put in the environment variable
- "QuickTools/QcdArgs". This variable will be scanned before your
- command line arguments.
-
- If you think it will be hard to remember to write Qcd instead of CD, you
- can use the alias command 'Alias CD Qcd'.
-
-
- QMAN
- ~~~~
- QMan is a documentation finding utility. By giving a program name will
- the QuickTools database be searched for .doc, .man and .guide files
- which matches the given program name. The found documentation file can
- be shown with a configurable viewer. If more than one documentation file
- is found can you choose which one to view in a selection requester
- containing the names of the found files.
-
- The parameters QMan takes are:
- MANPAGE - The program to find and show the documentation for.
- Wildcards are of course allowed. The complete program name
- isn't necessary either.
- GUIDECOMMAND/K - Command to use for viewing guide files. The default
- command is "Sys:utilities/multiview".
- TEXTCOMMAND/K - Command to use for viewing text files. The default command
- is "Sys:utilities/multiview".
- USAGE/S - Show usage information. Same as using no parameters.
-
- Examples:
- QMan QuickTools
- Search for and show documentation file matching
- "QuickTools#?.(guide|doc|man)".
-
- QMan A
- Search for all documentation files with a "a" as the first letter. The
- found files will be shown in the selection requester. (If there are
- more than one.)
-
- Arguments to QMan can also be put in the environment variable
- "QuickTools/QManArgs". This variable will be scanned before your command
- line arguments. You should put the GUIDECOMMAND and TEXTCOMMAND parameter
- here. Then you don't have to write them each time you use QMan.
-
-
- ENVIRONMENT VARIABLES
- ~~~~~~~~~~~~~~~~~~~~~
- Since environment variables is used to set your defaults to the most of the
- utilities in the QuickTools package I will take a short tutorial.
-
- You set a environment variable with the SetEnv command (which comes with
- AmigaDos). SetEnv take two arguments:
- NAME - Name of the environment variable to set.
- STRING - The string to set the environment variable to.
-
- Examples:
- SetEnv QuickTools/QManArgs TEXTCOMMAND Tools:myC/XMore
- This will set the command to use for QMAn to show text files to
- "Tools:myC/XMore".
-
- SetEnv QuickTools/DataPath Data:
- This will set the default path to store the datafiles in.
-
- To keep you settings after a reboot, you must copy the changed environment
- variables to "ENVARC:"
- This can be done by: "Copy ENV:QuickTools ENVARC:QuickTools"
-
-
- SCRIPTFILES
- ~~~~~~~~~~~
- There are also two scriptfiles which uses the Qcd utility.
-
- Qasn: With this script can you do assigns as quick and easy as CD's with
- Qcd.
- Usage: Qasn [logical_name:] [dir] [SEARCHES]
-
- Qdir: Dir any directory quick and easy.
- Usage: Qdir [dir] [SEARCHES]
-
- If you want to use Qcd in your own scripts, here are the error codes Qcd
- returns:
- OK (0) - Everything is ok.
- ERROR (10) - The directory given as parameter doesn't match any
- directorys in the database.
- FAIL (20) - A serious error has occured. Either are the datafiles
- missing, directorys in the database doesn't exist or the
- change to last current dir function failed.
-
-
- KNOWN PROBLEMS
- ~~~~~~~~~~~~~~
- When using Qcd in combination with custom shells, there could be problems
- with the path in the prompt update after changing directory. This is *not*
- a bug in Qcd. The problem is with custom shells who doesn't use the correct
- store for the path used in the prompt. So if you experience this problem
- flame the author of the shell and not me :-)
-
- One workaround could be:
- Rename Qcd to Qcd.bin and use a script like this named Qcd:
- <--------------- cut here ----------->
- .key DIR,SEARCHES,SHOW,USAGE
- Qcd.bin <DIR> <SEARCHES> <SHOW> <USAGE>
- cd >NIL:
- <--------------- cut here ----------->
-
-
- RELEASE HISTORY
- ~~~~~~~~~~~~~~~
- 930915 - QuickTools Release 1.0:
- - quicktools.library 2.43
- - GetQInfo 3.120
- - Qcd 3.93
- - QFind 1.48
- - QPop 1.97
-
- 940505 - QuickTools Release 1.1:
- o quicktools.library 2.46
- - Fallback to default public screen if unable to get lock on public
- screen given by QT_PubScreen.
- - Added 2 tags to SetupMatchData(): QT_ExactLastPart and QT_ExactMatch.
- - Uses the envirorment variable "QuickTools/DataPath" to determine where
- to look for the datafiles.
-
- o Qcd 3.112
- - Opens now the selection requester on the active public screen if
- possible.
- - Default arguments for Qcd can be set in envirorment variable
- QuickTools/QcdArgs. These will be parsed before the commandline.
- - New switch: NOGUI. This switch makes Qcd not use the requester when
- more than one directory matches.
- - New feature when using the NOGUI switch:
- Using the same dir parameter again, change to the next directory
- witch matches the dirparameter.
-
- o QFind 1.51
- - Cleaned up some code.
-
- o GetQInfo 3.137
- - Default arguments for GetQInfo can be set in the envirorment variable
- QuickTools/GetQInfoArgs. These will be parsed before the commandline.
- - Will not longer give up scanning when a lock on a directory failes.
- - New parameters:
- o OLDERTHAN - The drives will only be scanned if the database is
- older than a given number of days.
- o DELAY - Seconds to delay before scanning drives.
- o SAVEREQUEST - Pop up a requester before saving the database.
- o EXCLUDEDIR - Directories not to include in the database.
- o EXCLUDEFILE - Files not to include in the database.
-
- o QPop 1.98
- - Uses newlook menues under V39+.
-
- o QMan 1.3 (This is not a version of QMan 1.01 released by Torgeir Hovden,
- but it works quite similar)
- - New little utility to use the QuickTools database to search for and
- show documentation files.
-
-
- FUTURE PLANS
- ~~~~~~~~~~~~
- o Real font sensitive GUI for QPop. (Maybe MUI)
- o Possiblilties to keep the database contents for disks when doing a scan
- with GetQInfo.
-
-
- THANKS
- ~~~~~~
- Thanks go to:
-
- - All who have emailed me telling how usefull QuickTools is. :-)
- - The betatesters.
- - Marius Mortensen for thanking me for Qcd in Offline.doc. :-)
- - Torgeir Hovden for releasing a utility using quicktools.library. Sorry
- that I stole your idea, but i needed a program to test some new tags :-)
- - Ola Fosheim Grøstad, Marius Mortensen and Espen Lyngaas for bug reports
- and/or suggestions on earlier releases of Qcd.
- - Amiga for being such a great computer with such a great OS.
-
-
- HOW ABOUT SOME FEEDBACK
- ~~~~~~~~~~~~~~~~~~~~~~~
- Please send donations, bug reports or a list of features you would like to
- have included in future releases to:
-
- Eivind Nordseth
- Herman Krags Vei 17-21
- N-7035 TRONDHEIM
- Norway
-
- Email: eivindno@idt.unit.no
-
- You can also get in touch with me at the following BBSes in Norway:
- Ultima Thule, Byte Bazzar, Crusaders, Rodeløkka and Mediafoto.
-