Tiger 3 Detailed Catalogue Application 
by Graham Crow and Mike Hobbs
   
This application is an update of the Tiger application, originally published ON RISC User disc 3:10, and updated to Tiger 2 on the RISC User disc 5:9.

Overview
--------

Under RISC OS, filenamesare restricted to 10 characters. Tiger (big CATalogue) allows you to enter discriptions of up to 125 characters for all files, directories and applications. Dragging the contents of a Filer window to Tiger will compile a list of all the objects to which descriptions can then be added.

Quick start
-----------

Double-click on the Tiger icon to install Tiger on the Icon Bar. Drag the RISC User icon onto the Tiger icon. Tiger will scan the RISC User disc and open a window in the top left of the screen. Click on the Toggle Size icon to open the window to its full extent. Down the left hand side of its window, Tiger will display the icons and names of all the applications on the RISC User disc. Next to !!RiscUser will be the first 125 characaters from its Help file. To get Tiger to display information on the rest of the applications, drag their icons into the Tiger window. The descriptions can be edited at any time, and the new data can be saved by clicking Menu in the Tiger window and clicking on 'Save data'. The descriptions are saved in an application called TigerData. TigerData will be created in every directory that is scanned by Tiger. Double-clicking on the TigerData icon will automatically load the descriptions for that directory into Tiger.

Example uses
------------

If you keep all your correspondence in a single directory, you can use Tiger to add a description to each letter, giving the date, addressee, and subject. By double-clicking on the letter's filename in Tiger, the relevant application and document will be loaded.

The 'Save text' option (F4) provides a quick method for compiling a hard copy catalogue of the contents of your disc with descriptions to help you find the files you need.

Any executable object can be run by double-clicking on it in the normal way. You can add or edit descriptions at any time and use Tiger's menu to save them as data or text. You can also drag objects from Tiger to a different Filer window, and the description will be transferred with it.

Installing and loading Tiger
----------------------------

Running the Tiger application installs the Tiger icon on the icon bar. Subject to memory, you may have several copies of Tiger running simultaneously.

Drag any object from a Filer window onto the Tiger icon on the icon bar. Alternatively, double-click on any TigerData icon to install Tiger with the relevant directory loaded.

When the Tiger window appears, click the Toggle Size icon to open the window to its full extent. You can drag any object from a Filer window onto the Tiger window to load the relevant directory. If you drag a directory with Shift held down, then the contents of the dragged directory are loaded into Tiger.

There are two columns - object name and object description. The top line is for information only, and shows the description (if any) of the current directory. Note that this is added and edited in the parent directory.

Object names
------------

A single click on an object name selects it. A double-click has the following effects:

 if the object is executable (a file or application) then it is run

 if the object is a directory, then its contents are loaded into Tiger, replacing the original contents.

The contents of an application are loaded by double-clicking with the Shift key held down.

Object descriptions
-------------------

Clicking Select in the description column moves the caret to the cursor pointer position. Text is inserted at the caret position, with left and right scrolling if necessary.

Clicking Adjust marks/unmarks a description. A marked description may be copied to the slot containing the caret by pressing Ctrl-C. To restore the original description press Ctrl-R.

Menu options
------------

There are seven options, with F1 to F6 providing shortcuts when Tiger has the input focus (title bar must be highlighted).

'<filename>'    Leads to a submenu with the following items:
        Info            Information on the selected object
        Rename          Rename object and preserve description
        Copy            Copy object and preserve description
        Delete          Delete object and description
        Convert         Convert TigerData version 1 files to version 3 files

'Open viewer F1'        Opens the Filer window for the directory concerned.

'Goto parent F2'        Loads Tiger with the parent of the displayed directory.

'Save data   F3'        Saves data to disc in !TigerData. Saving with Shift held down deletes any redundant descriptions from the data file.

'Save text   F4'        Saves data as a text file

'Set extent  F5'        Allows you to toggle the window width between 80 and 132 column modes. The initial setting is appropriate for the mode at the time of launching Tiger.

'Refresh     F6'        Redraws the Tiger window. This is useful if you have changed the contents of a Filer window.

Copying objects between directories
-----------------------------------

Dragging an object name from Tiger to a Filer window copies the object to the target directory, together with any description(s). Directories are copied recursively. Note that the 'Force' option is set so that an object in the target directory with the same name as the dragged object will be overwritten without warning - take care!

If you drag an object with Shift held down, then the source will be deleted after copying.

Prompt to save data
-------------------

If you have added or edited a description, and then attempt any operation which would replace the contents of the Tiger window without having first saved the data, you are asked 'Save edited descriptions?' and must reply with Yes, No, or Cancel.

'Yes'           saves the descriptions and carries out the action 
'No'            carries out the action without saving the descriptions 
'Cancel'        merely returns you to the Tiger window.

Improvements over release 1
---------------------------

Descriptions are saved as files in an application directory (!TigerData) to allow file operations. Double-click on !TigerData to run Tiger with that directory loaded.

Improved screen design, using icons for filetypes.

Space for slightly longer descriptions.

Dragging directory onto Tiger loads contents of dragged directory.

Can drag file from Tiger to Filer and transfer description (Shift-Drag as above deletes source after transfer).

Menu option allows you to rename, copy and delete objects (and Tiger automatically does same to descriptions).

PreQuit works properly (i.e. prompt to save edited descriptions if choose Exit from Task Manager menu).

Saving data with Shift deletes redundant/null description files.

Object info is a menu option.

New menu option to save information as a user-definable text file (printing is now done using text file in DeskEdit or similar application).

New menu option to toggle between 80 and 132 column widths.

Keys F1 to F6 provide menu shortcuts.

Modifications by Mike Hobbs
---------------------------

Files dragged to Tiger icon will be processed according to the following criteria:

 Directories will open Tiger window for that directory (not the parent as in the original). The parent is opened by holding Shift.
 
 Applications are scanned for Help files and the first 125 characters are used as the description (if there was not already a Tiger description). The application's parent will be displayed in Tiger viewer.
 
 If enabled, files of type &0FF (TabText) will have all tabs expanded to modulo 8 tab positions. This is to handle files that were created on Digital machines where terminals have hardware tab stops.
 
 Files of type &FFF (Text) will be scanned for mail header and subject line ("From:", "Date:", "Subj:" or "Subject:") and if present this will be used to construct the Tiger description file. If "Subj:" is found without the from and date fields then the following text up to the line terminator will be used as the description for TigerData.

 If "Title:", "Class:" or "Object:" are found before any other subject information then the remaining text on that line will be used as the file description. Also, if "ENET:" or "NODE:" is present but there is no "From:" then the following text up to the first space will be used as the sender and the node name will be removed.
 
 PipeDream files will be converted to Text type and some %xx% type and similar operators will be discarded if the file has no PipeDream version operator at the front (ie its actually a plain text file but converted to PipeDream format). Proper PipeDream files will be left untouched but mail header and subject information will be used if present.
 
 Dragging files to the Tiger icon with Shift held down will cause Tiger to open the parent directory. Also, dragging !TigerData directories to the Tiger icon will open the parent rather than the directory itself. Dragging any other directory to the Tiger icon will open the directory with a Filer window and a Tiger window.
 
 Postscript files (type &FF5) will be untouched but if "%!PS-Adobe" is detected then the text up to the point where it was found will be filed separately in a Text file with the same name and an appended number. The PostScript part will be filed with type &FF5. Note: the routine does not yet strip appended mail distribution junk so PostScript printers might print some rubbish or an error on the last page.
 
 When creating new (converted) files the leaf name will be cleaned up. This takes out the last underscore and text after it. This is because Zmodem appends "_txt" or other file type information to the end of the leafname. This can cause duplicate filenames and where this would occur a new leaf name is created by appending a number to the leaf name. This is recursive so it should eventually find a unique name to use.
 
You can now drag from Tiger to an application via Wimp$Scrap.

The title bar text has been changed so that when the Tiger main window is shrunk to the pinboard the icon name reflects the directory name rather than simply "Tiger:".

The run file has been altered to prevent new Tiger tasks starting up on every double click on a !TigerData.

Originally, Tiger limited descriptions to 111 characters (although it said it was 132). Now it will handle 125 characters and not crash when the limit is reached as it did before. It also makes full use of the screen width in mode 102.

Enhancements
------------

Psion Agenda files processed to produce text from diary report suitable for downloading to a Vax, where, if executed, it will create a file using the logical Schedule$Report.

Note - if you are using BST (summer time) setting, you might end up with all your agenda times being one hour out. This is because the SWI that does the time conversion applies the BST time advancement even if the time has already had the advancement applied. There appears to be no way to stop the SWI from doing this so the easiest thing to do is turn off BST and set the time manually.

Support for "send" mail files. That is, files that contain "send" on the first line are assumed to be either for sending or already sent and the next two lines are assumed to be the addressee and the subject which will be used for the Tiger description.

All references to the TabText filetype have been commented out. If you wish to use this facility, uncomment the appropriate lines in the !Boot, !Run and !RunImage files.

Customising Tiger
-----------------

Since Tiger is written in Basic it is fairly easy to customise the way it handles various filetypes. The most likely areas that may need customisation are the following (which are relevant to mail files):

 Distribution list deletion
 Keywords that identify the addressee, date and subject information

Currently Tiger is set up to handle files from Digital Equipment Corporation's VAXmail and ALL-IN-1 mail formats. Internet news group articles are also handled but these will most likely be the same for most users whatever news server they may be using.

The procedures that you should look at are:

 DEFPROCmain (distribution list deletion is done here)
 DEFPROCdesc (mail addressee and subject information are handled here)
 DEFPROCfrom (mail addressee and date are handled here)
 
You might also want to change the size of the field for the addressee and this simply means altering the fromwidth% variable.

 RISC User 1991,1992,1993