@DATABASE LhADir.dopus.guide
@AUTHOR "Edmund Vermeulen"
@(C) "Copyright © 1993 by EAV Productions International"
@$VER: LhADir.dopus.guide 1.3 (25.11.93)

@WIDTH 76
@NODE MAIN Contents

@{B}Contents@{UB}

@{" Description " link Description}         What is LhADir.dopus?
@{" Installation " link Installation}        How to install it in your system.
@{" Supported commands " link Commands}  What functions will it perform?
@{" Some tips " link Tips}           How to make it work faster.
@{" Revision history " link History}    Changes to the program.


This is the AmigaGuide® documentation for:

@{B}LhADir.dopus 1.3@{UB}

Copyright © 1993 by EAV Productions International
Placed in the public domain. No restrictions on distribution or usage.

Author: Edmund Vermeulen
        Primulastraat 2
        3202 RN  Spijkenisse
        Holland
        telephone 01880-13925

Please report any problems, bugs or suggestions to the address above.

@ENDNODE
@NODE Description

@{B}Description@{UB}

LhADir.dopus is an ARexx script for Directory Opus that allows you to show
the contents of an LhA archive file in a window and operate on the files and
directories inside the archive.

With LhADir.dopus you can:

 - browse through the directory structure of an archive file
 - read/play/show files from an archive
 - delete files and directories with the Delete button
 - extract or add files or directories with the Copy button

LhADir.dopus was tested with @{" Directory Opus v4.11 " link Copyrights} and @{" LhA V1.50r " link Copyrights}.


@{B}Other features@{UB}

 - works with more than one copy of Directory Opus running
 - view an archive in an archive by extracting it from it's mother archive
   to the 'T:' directory
 - show a file's internal version string on the top line
 - I myself use LhADir.dopus nearly every day, so I can honestly say that
   LhADir.dopus is safe to use.

@ENDNODE
@NODE Installation

@{B}Installation@{UB}

Before you can use LhADir.dopus from Directory Opus you first have to copy
the file 'LhADir.dopus' to your 'REXX:' directory. And of course
LhADir.dopus won't work without ARexx activated. You can activate ARexx by
double clicking the 'RexxMast' icon in the 'System' drawer or by placing it
in the 'WBStartup' drawer and rebooting.

Before changing your own personal DOpus config you may first try out
LhADir.dopus by using the supplied example config. You can open this config
file, called 'LhADir.CFG', from the Configuration main screen in Directory
Opus.

When changing your own config you may examine the Buttons, Filetypes and
Menus parts of the supplied example config.

In short this is how to call LhADir.dopus:

 - For Buttons and Menus set the cycle gadget to 'ARexx' and choose
   'LhADir.dopus' from the filerequester. Add one of the supported commands
   as an argument to the command line (e.g. LhADir.dopus Copy).

 - For Filetypes (double click, click move click) set the cycle gadget to
   'AmigaDOS' and enter 'REXX:LhADir.dopus GetDir {p} {o}'.
   For Click-m-click the 'GetDir' command should be replaced by 'Browse'.
   In the flags area you must switch on 'Run asynchronously'. All other
   flags should be switched off.

@ENDNODE
@NODE Commands

@{B}Supported commands@{UB}

LhADir.dopus supports the following commands:

 GETDIR, BROWSE, PARENT, ROOT, DELETE, COPY, MAKEDIR, GETSIZES,
 READ, ANSIREAD, HEXREAD, SHOW, PLAY, LOOPPLAY, PRINT, ICONINFO,
 VERSION, MULTIVIEW, VIEWTEK, RETINADISPLAY, AMIGAGUIDE.

When calling LhADir.dopus one of these commands must be passed along as an
argument. They are not case sensitive.

Please note that all of LhADir.dopus' functions work equally well on listed
archives as on normal directory lists. This means you don't have to define
two buttons for one function. Instead you can change the existing buttons to
call LhADir.dopus instead.


GETDIR

 Lists the contents of the selected directory or .LHA/.LZH/.RUN archive file
 in the same window. If nothing is selected the current directory or archive
 will be rescanned.
 Within a listed archive you cannot double click a directory to list it.
 If you do so by mistake use the GETDIR function to list the directory
 anyway.

BROWSE

 Works identical to the GETDIR command, but instead uses the opposite window
 for listing the files and directories.

PARENT

 Lists the contents of the parent directory.
 Within a listed archive you cannot use the window's border as a parent
 button. If you do so by mistake, use the GETDIR function to list the
 directory anyway.

ROOT

 Lists the contents of the root directory.
 With a listed archive this function will show the root directory within the
 archive. If you are already in the archive's root directory then the root
 directory of the archive's path is listed.

DELETE

 Deletes all selected files and directories.
 Please note that when deleting from an archive there is no way to get the
 deleted files back, so be careful! LhADir.dopus will honour the config
 setting about asking before commencing deletion.

COPY

 Copies all selected files and directories to the destination specified in
 the opposite window.
 Both source and destination window can be either a normal directory or a
 listed archive. When copying between two archives the T: directory will be
 used as an intermediate. This means that there must be enough ram
 available. When copying files to a subdir within an archive all files will
 also be placed in the T: directory first before they can be added.

MAKEDIR

 Creates an empty directory.
 With MAKEDIR it's also possible to create a new (empty) archive file. Just
 enter the archive's name (ending in '.lha').

GETSIZES

 Calculates the size of all selected directories by adding up the size of
 the files they contain.
 With a listed archive it will also set the directory's date and time in
 accordance to the newest file it contains.

READ, ANSIREAD, HEXREAD

 These are asynchronous internal Directory Opus commands.
 When the active window is a listed archive only the first selected file
 will be extracted to 'T:' and viewed. Afterwards it is deleted immediately.

SHOW, PLAY, LOOPPLAY, PRINT, ICONINFO

 These are normal internal Directory Opus commands.
 When the active window is a listed archive then the selected files will be
 extracted one by one to 'T:' so that they can be showed, played or
 whatever. Afterwards they are deleted immediately.
 Note that, when working on multiple files, it's always possible to abort by
 pressing both mouse buttons in the DOpus window.

VERSION

 Shows the internal version string of the first selected file on DOpus' top
 line.
 It accomplishes this by calling the AmigaDOS 'Version' command.
 When the active window is a listed archive the file will be extracted to
 'T:' first and deleted afterwards.

MULTIVIEW, VIEWTEK, RETINADISPLAY, AMIGAGUIDE

 These are external programs that are called from within LhADir.dopus.
 All selected files will be passed along to the external program one by one.
 With a listed archive the files are extracted as needed.
 If you haven't got these external programs or keep them in a different
 directory path than I do, these commands won't work.
 It's possible to add support for other external programs, but you will have
 to alter the ARexx code yourself. This isn't very difficult though.
 Note that, when working on multiple files, it's always possible to abort by
 pressing both mouse buttons in the DOpus window.

@ENDNODE
@NODE Tips

@{B}Some tips@{UB}

The following measures help to speed up the operation of LhADir.dopus:

 - Copy 'LhADir.dopus' to RAM: and call it there from Directory Opus.

 - Copy 'LhA' to RAM: and make RAM: the first in your search path.
   This is usually already the case. Check this with the 'Path' command.

@ENDNODE
@NODE Copyrights

@{B}Copyrights@{UB}

Directory Opus is Copyright © 1993 by Jonathan Potter/INOVAtronics
LhA is Copyright © 1991,92 by Stefan Boberg
AmigaGuide is Copyright © 1991-93 by Commodore-Amiga, Inc.

@ENDNODE
@NODE History

@{B}Revision history@{UB}

Version 1.0 released 21-07-1993

Version 1.1 released 16-08-1993

 - Fixed several problems regarding filenames containing wildcard characters
   like '[]()#~%|*'. For example it was not possible to read such a file.

 - Delete stopped when it ran into a file containing spaces. (I forgot the
   quotation marks.)

 - Added ICONINFO and RETINADISPLAY commands.

 - Fixed problem with internal deletes on delete protected files.

 - It's now possible to copy over existing files in an archive.

 - Doesn't relist the archive's contents anymore after deleting from it.

 - Cleaned up code. Size is now smaller!


Version 1.2 released 30-09-1993

 - Added AMIGAGUIDE command (external program) for pre KS3.0 users.

 - Added GETSIZES command and removed the automatic dir size calculation.
   Listing archives with lots of files in dirs is now up to 40% faster.

 - Both internal and external commands will now work on all selected files
   instead of just the first selected.

 - It's not possible anymore to compile LhADir.dopus with the Rexx Plus
   Compiler due to the use of the interpret command. If anybody cares about
   this please contact me for a change.

 - Documentation is now in AmigaGuide format.

 - Example config is now in Directory Opus 4.1 format.


Version 1.3 released 25-11-1993

 - Asynchronous internal DOpus commands (READ, ANSIREAD and HEXREAD) now
   only act on the first selected file.

 - Added the possibility to abort when viewing/playing/etc multiple files by
   pressing both mouse buttons in the DOpus window.

 - MultiView now opens it's window on the DOpus public screen.

 Thanks to Andrew de Jong for reporting the next 3 problems:

 - Fixed problems with file- and dirnames with leading blanks.

 - MakeDir didn't work with dirnames containing spaces. (I forgot the
   quotation marks again.)

 - Fixed problem with some PC generated .lzh files with strange date fields.

@ENDNODE
