@database DF.guide
@master DF.doc

@author Chris Lawrence
@(c) 1993-94 Chris Lawrence
@remark May only be distrbuted with DirFool 2.40

@$VER: DF.guide 2.40 (20.4.94)

@node Main "DirFool 2.40 AmigaGuide documentation"
DirFool 2.40 User Documentation

@{b}Table of Contents@{ub}

@{"What is DirFool?" link WhatsDF}

@{"Usage" link Usage}
@{"Examples" link Output}

@{"Advanced Options" link Advanced}
@{"Other Information" link OtherInfo}

@{"New features" link Update}
@{"To Do List" link ToDo}

@{"Legal Stuff" link Legal}
@endnode


DirFool 2.40
By Chris Lawrence


@node WhatsDF "What is DirFool?"
What is DirFool?

@{fg highlight}DirFool@{fg text} (DF) is a small (10.5k) utility that, when using AmigaDOS
2.04, replaces the Dir and List commands with a single command.  DF
has several different operating modes and can work in a used-defined
manner.
@endnode


@node Legal "Legal Stuff"
DirFool is © 1992-94 Chris Lawrence. The program may be freely distributed,
as long as following are met:

1. This file remains unmodified
2. The program file and its documentation files remain unmodified
3. All these files are distributed as one package

Please contact me if you are interested in anything other than ordinary
PD distribution.

This package may be included on CD-ROMs of freely distributable software,
such as the Walnut Creek Aminet CD-ROM.

If you like DirFool, a donation of $5 to foster future development is
encouraged, but not required. Send to:

Chris Lawrence
RHIT Box 1137
5500 Wabash Avenue
Terre Haute, Indiana 47803-3999

Internet: @{fg highlight}Chris Lawrence <lawrenc@freenet.fsu.edu>@{fg text}
@endnode


@node Update "New features"
This is @{fg highlight}DirFool 2.40 (20.4.94)@{fg text}, the fifth public release of DirFool.

Changes from DF 2.36 (18.4.94):
-------------------------------
* Added support for LFORMAT-style output

* Re-organized the documentation somewhat; more highlighting


Changes from DF 2.35 (23.3.94):
-------------------------------
* The MUFS and NOMUFS options now work correctly

* New flag: WEEKDAYS displays the Yesterday, Tuesday, etc. instead of
  the real date in lists. NOWEEKDAYS will reset this option if it is placed
  in DFMODE.

* Changed internal sprintfs to use RawDoFmt; saves 2.2K.


Changes from DF 2.34 (7.1.94):
------------------------------
* Now supports 'u' bit in MultiUser protection mask

* Removed never used, obsolete 'h' bit from protection mask

* Recompiled with SAS/C 6.51.

* Better memory handling: as a result, a small speed increase

* Improved documentation


Changes from DF 2.33 (22.9.93):
-------------------------------
* More efficient storage.

* Recompiled with SAS/C 6.50


Changes from DF 2.32 (18.9.93):
-------------------------------
* Bug-fix in the REVERSE sort option.


Changes from DF 2.31 (31.8.93):
-------------------------------
* Now supports the MultiUser file system.

* Documentation now in AmigaGuide format.

* Code improvements.
@endnode


@node ToDo "To Do List"
* Support for recursive directory listings

* Even better documentation

* Some sort of fancy Internet tech support interface, via World Wide Web,
  for all of my products.

* "List only files with certain protections" support
@endnode


@node Usage "Operating instructions"
DF is designed to run under Release 2.04 and later of AmigaDOS.
DF will not work under earlier versions of AmigaDOS, including most of
the beta/disk releases of 2.0.

DF can be run through the Workbench's "Execute Command" option, or by
using the CLI or Shell. To use the program, use the following syntax:

DF [pattern] [options]

The pattern is a path and/or pattern that specifies the files you
wish to list.  For example, DF sys:~(#?.info) would list all of the
files in your boot directory except icon files.

The options are any of the following; however certain combinations
will not work for obvious reasons.

COLS=n     Specify number of columns to be output. Default=3.

WIDE       Output five columns per line, 14 character filenames.

THREE      Output three columns per line, 25 character filenames (default).

LIST       Output full information (similar to List command). Filenames are
           30 characters, directories 24.  A synonym is FULL.

ANSI       Show directories in THREE and WIDE listings in square brackets
           and highlighted (default).

NOANSI     Show directories in THREE and WIDE listings in square brackets.

QUICK      (Must be specified with LIST)  Outputs only filenames;
           supresses header and trailer information (see below).

FANCY      (Must be specified with LIST)  Outputs a full listing; displays
           the header and trailer information (default).

NAME       Sort by name (default).

DATE       Sort by date (most recent is first).  A synonym is DATES.

SIZE       Sort by size (largest is first).

SORT       Sets sorting mode on (default).

NOSORT     Turns sorting mode off.

REVERSE    Reverses sort to opposite of regular sequence.

FORWARD    Sort in regular sequence (default).

SLASH      List directories with a forward slash (/) at the end of the
           name (softlinks are listed with a »).

NOSLASH    List directories within square brackets around the name
           (default).

ICONS      Include icon files in directory listing (default).

NOICONS    Do not include icon files in directory listings.

NOFILES    Only list directories in listing.

NODIRS     Only list files in listing.

BLOCKS     In full listing format, show number of blocks files occupy.
           In all formats, disk usage is based on blocks used.

BYTES	   In full listing format, show byte size of files.  In all
           formats, disk usage is based on total bytes used (default).

MUFS       Enable printing of MUFS protections (default if multiuser.library
           is available; will not work if MUFS not present).
        
NOMUFS     Disable printing of MUFS protections; useful for listing floppies
           without the extra protections.

WEEKDAYS   Show "Yesterday," "Today," "Monday" etc. in LIST mode, instead
           of regular dates.

NOWEEKDAYS Print regular dates in the LIST mode (default).

LFORMAT    Specify argument formatting strings. The following substitutions
           are supported:
           
           %a - File attributes
           %b - File size (blocks)
           %c - Filenote (comments)
           %d - Date [in globally specified format]
           %e - The file extension (everything after the last period)
           %g - The group ID of the file's owner
           %k - Key block (starting address of the file)
           %l - File size (bytes)
           %m - The file, up to its extension
           %n - The filename
           %o - The file's owner name (MUFS only -- without MUFS formats
                                       an empty string)
           %p - The file path
           %s - The full pathname of the file [_not_ same as LIST %s]
           %t - Time
           %u - The user ID of the file's owner
           
           In addition, the "-" and number formatting flags are allowed.
           For example, for up to 10 characters (and no more) of the file's
           owner, left justified, use:
           
           LFORMAT="%-10.10o"

For more information, see the @{"examples" link Output} below:
@endnode


@node Output "Output examples"
The DF command will show different output, depending on which options
are used.  The following gives a few examples:

@{fg highlight}Work:Lang>@{fg text} DF WIDE

Work:Lang on 15-Jun-92 at 22:56:24
[conman]       [DirFool]      [FTS]          [GadFool]
[ITextL]       [KD-Freq]      [ReqTools]     [SASLibs]
GadFool.info   InterComm.info readme.first.d ReqTools.info
3077 bytes used - 19237888 bytes free on volume

@{fg highlight}System2.0:System>@{fg text} DF COLS=2

System2.0:System on 15-Jun-92 at 22:58:34
AddMonitor                 AddMonitor.info
BindMonitor.info           CLI
dfformat                   DiskCopy
diskinfowb                 FixFonts
Format                     Format-HD
Format.info                formatHDs
Fountain.info              Install-HD
installHDs                 NoFastMem
prep                       RexxMast
Setmap
148041 bytes used - 3168768 bytes free on volume


@{fg highlight}System2.0:>@{fg text} DF SYS:Tools/~(#?.info) LIST DATE

System2.0:Tools on 15-Jun-92 at 23:03:23
<DIR> Commodities                    ----rwed 13-Apr-92
Fed                            29384 ----rwed 06-Jan-92
HDToolbox                      95896 ----rwed 26-Dec-91
Enforcer                        6400 ----rwed 25-Dec-91
ShowConfig                     10436 ----rwed 25-Dec-91
Lacer                            296 ----rwed 25-Dec-91
BRU                           101832 ----rwed 25-Dec-91
MEmacs                         52484 --p-rwed 25-Dec-91
CMD                             7768 ----rwed 25-Dec-91
Calculator                     16916 ----rwed 25-Dec-91
Colors                          5616 ----rwed 25-Dec-91
KeyShow                        10684 ----rwed 25-Dec-91
InitPrinter                     1104 ----rwed 25-Dec-91
GraphicDump                     2988 ----rwed 25-Dec-91
PrintFiles                      2196 ----rwed 25-Dec-91
HDBackup.help                  11573 ----rw-d 25-Dec-91
HDBackup                       83248 ----rwed 25-Dec-91
IconEdit                       46584 ----rwed 25-Dec-91
PrefsDrawer                      532 ----rwed 09-Oct-91
KeyMapEd                       67352 ----rwed 20-Jul-91
PerfMon                        10044 ----rwed 28-Feb-91
FreeMap                         7260 ----rwed 28-Feb-91
IE                             57804 --p-rwed 09-Oct-90
628397 bytes used - 3168768 bytes free on volume


@{fg highlight}System3.0:>@{fg text} df list rexx:#?.cpr lformat="rx %s"
rx Work:Rexx/avail.cpr
rx Work:Rexx/dbptr.cpr
rx Work:Rexx/dbstr.cpr
rx Work:Rexx/devices.cpr
rx Work:Rexx/devs.cpr
rx Work:Rexx/execbase.cpr
rx Work:Rexx/fphex.cpr
rx Work:Rexx/fpregs.cpr
rx Work:Rexx/ints.cpr
rx Work:Rexx/libraries.cpr
rx Work:Rexx/libs.cpr
rx Work:Rexx/makeaptr.cpr
rx Work:Rexx/memory.cpr
rx Work:Rexx/mods.cpr

Note that directories are always listed first in the listings, even
if the list is not sorted.
@endnode


@node Advanced "Advanced Options"
DirFool also supports a few options for the advanced user, especially
those that use the CLI a lot.  These options can be set in two
environment variables, DFMode and DateFormat.

The @{b}DFMode@{ub} variable can be used to set default modes for DirFool's
output.  All of the command line options are supported, which are
then set as your defaults.  These defaults can be over-ridden by
using the DF command line.  It is not recommended that you set a
default pattern (ideally, DF without a pattern should list the
current directory). DFMode can be a ENV variable (set by SETENV) or a
local variable (set by SET).

The @{b}DateFormat@{ub} variable (a holdover from the ARP generation) is a way
to use the multiple date formats supported in DOS 2.0 (but,
unfortunately, not in its commands).  DateFormat should be set to one
of these values (example date is June 11, 1992):

AmigaDOS               0   11-Jun-92 (default)
International          1   92-06-11
U.S.A.                 2   06-11-92
Canadian/U.K.          3   11-06-92
Locale-Specific        4   06/11/92 (for U.S. locale; requires Release 2.1)
@endnode


@node OtherInfo "Other information"
DF will work with programs that set RNF_WILDSTAR (programs that allow
the use of the asterisk (*) instead of #?), such as my StarFool
program, included in this archive.

DF 2.32 and above support the MultiUser File System. If you have the
multiuser.library installed, DirFool will print all 16 protection bits and
the file owner (if applicable), for all volumes. Note that DirFool cannot
tell (at this time) whether or not you are listing a MUFS partition. In
addition, the extra information may overflow a 78 column shell window --
this is a feature that will be kept to support overscan Workbenches.

An upcoming release will support  recursive directory listing
(as in DIR ALL). This will mean that DF will be able to more or less
completely replace both commands.

I hope you enjoy using DirFool and will find it useful.

Chris Lawrence
20 April 1994
@endnode
