$VER: LhADir.dopus 1.1 documentation (16.8.93)

LhADir.dopus 1.1
© 1993 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.



Description
===========

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 a single file 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.01 and LhA V1.50r.



Extra features
==============

- automaticly adds up all file sizes in a directory
- 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



Installation
============

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 including the line 'RexxMast >NIL:' in your User-Startup.

Before changing your personal DOpus config you may first try out
LhADir.dopus by using the supplied example config. You can open this
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 GetDir).

- 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.



Possible commands
=================

The following arguments are possible for LhADir.dopus. They are not
case sensitive.

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

Please note that all of LhADir.dopus' functions work equally well on
listed archives as on normal directory lists.


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').

READ, ANSIREAD, HEXREAD, SHOW, PLAY, LOOPPLAY, PRINT, ICONINFO

 These are all internal Directory Opus commands. When the active window is
 a listed archive then the first selected file will be extracted to 'T:' so
 that it can be viewed, showed or whatever. The file will be deleted from
 'T:' immediately afterwards.

VERSION

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

MULTIVIEW, VIEWTEK, RETINADISPLAY

 These are external programs that are called from within LhADir.dopus.
 If you don't own these programs or keep them in a different path than I
 do, they won't work.
 It's possible to add support for other external programs, but you will
 have to alter the ARexx code yourself.



Tips
====

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.

- If you own the Rexx Plus Compiler you may compile LhADir.dopus. This has
  been tested with version 1.30 of the compiler. LhADir will work
  approximately twice as fast. It's file length will increase to over
  70 Kb though.



Revision history
================

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!

