@database DiskMaster.guide
@master DM2.guide
@$VER: "DiskMaster.guide 1.94 (00-11-23)"
@AUTHOR "Rudolph Riedel"
@(C) "1997-2000 by Rudolph Riedel"

@REMARK Use an amigaguide-reader to read this!
@REMARK .1
@node "Last" "Last"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                  Last				      (v2.5b4)
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Opens a requester to display the last message that
          has been shown in the title-bar.

@{b}Format:@{ub} Last

@{b}Arguments:@{ub} none

This command is not affected by @{"Quiet" link "Quiet" 0}.
You will able to display the last message even if it hadn`t
been displayed.

@endnode
@node "Quiet" "Quiet"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                  Quiet				      (v2.5b5)
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Surpresses all messages for the current command-line.

@{b}Format:@{ub} Quiet

@{b}Arguments:@{ub} none

@{b}Example:@{ub}

AddCmd QuietCheck, 10, Quiet;UnMark OFF;Check %s

This will perform a @{"Check" link "Check" 0} without displaying
every single filename in the titlebar thus increasing the performance.

*Note well that 'Quiet' affects a whole bunch of commands.
 Delete, Copy, Move, Pack, Unpack ...
 All of these will be performed without displaying a result!

@endnode
@node "Hynek" "Teamwork on the run..."
@REMARK .1
@{b}-------------------------------------------------------------------------------
                                   Co-Author
-------------------------------------------------------------------------------@{ub}

Hi, as being also an Co-Author like Richard I'm going to copy the
most of his structure :-).

Here we go:

Name:   Hynek Schlawack
Aka:    hys
Born:   March 25th, 1980 in Prague/Czech Republic
Home:   Berlin/Germany
Groups: 7Wire Technologies, developing a new BBS. Look for
        Nucleon!

Computer History:

  I got a Amiga quiet late, it was 1993 and it was an Amiga 500. I
played arount with AmigaBASIC, AMOS Pro and MaxonPASCAL and I even
released one program: HSKonvert, it was even on the cover disk of the
AmigaPlus and I've got some registrations :-).

Current System:

  Amiga 1200TE, OS 3.5
  2 MB Chip / 32 MB Fast
  Maxtor 4.3 GB HD
  Funai 16x CD-ROM drive
  Blizzard 1240T/ERC
  USR Sportster V.90 FLASH
  Seikosha SL90

Real Life:

  I'm currently doing my a-levels and will attend the
Humboldt-University in Berlin in computer sciences.

Hobbies:

  My girlfriend, computers, hard rock / heavy metal, politics (proud
member of the JU) and just going out to have fun...

Contact:

  e-mail:   mailto:hynek.s@web.de
  homepage: http://me.in-berlin.de/~hys


                  Dedicated to my beloved Monika.
@endnode
@node "Main" "DiskMaster-Guide Main"
@REMARK .1
@{b}-------------------------------------------------------------------------------
                                DiskMaster II
-------------------------------------------------------------------------------@{ub}
     Copyright © 1997-2000 by @{"Rudolph Riedel" link "Slave" 0} (rudolph-riedel@t-online.de)

                   @{"      Introduction      " link "Intro" 0}
                     @{"       Copyright        " link "Copyright" 0}
                       @{"        The Team        " link "Team" 0}
                         @{"       Disclaimer       " link "Disclaimer" 0}
                           @{"      Installation      " link "Install" 0}

                           @{"       Functions        " link "Functions" 0}
                           @{"    Keyboard Support    " link "Keyboard" 0}

                           @{"      Distribution      " link "Dist" 0}
                           @{"    Tools and Sources   " link "Tools" 0}

                           @{"  Where to get updates  " link "Home" 0}

                           @{"    Known Bugs in DM    " link "Bugs" 0}
                           @{"   Send your wishes!    " link "Wish" 0}
                           @{"  Questions & Answers   " link "Questions" 0}

           @{"        The Past!       " link "past" 0}       @{"       The Future?      " link "future" 0}
                           @{"     Cheers & Hellos    " link "Creds" 0}

                           @{"    DM2 Mailinglists    " link "Mailing" 0}


DiskMaster II Guide V 1.94 (00-11-23)
@endnode
@node "Team" "Currently under development by:"
@REMARK .3
@{b}-------------------------------------------------------------------------------
                                 The Team:
-------------------------------------------------------------------------------@{ub}

@{"Rudolph Riedel" link "Slave" 0}    Responsible for all the bugs lately...

@{"Richard Backhaus" link "Company" 0}  Co-Author, Web-Master, currently off...

@{"Jody Tierney" link "SmegHead" 0}      Coordinator of the to-do list, Co-Author...

@{"Hynek Schlawack" link "Hynek" 0}   Co-Author...

@{"Nils Görs" link "Nils" 0}         Translator, Tester, Co-Author...
@endnode
@node "Slave" "The stupid that hacked all this text into his machine..."
@REMARK .2
@{b}-------------------------------------------------------------------------------
                                    Author
-------------------------------------------------------------------------------@{ub}

Yep, my name is Rudolph, exactly like the famous Reindeer... :^)

I was born 24.01.1972 in Ratzeburg, Germany

Scene-Life:

Group: Star Cracks Inc. - C64
Handle: Cat
Function: Coder / Cracker

Group: Paralyze - C64
Handle: Shadowolf
Function: Demo-Coder, Leader more or less

Group: Incal!
Function: Party anymal!


Today I`m working in a company the develops and tests all
kind of components used in cars.

I`m only a dedicated DMII user that was fed up with seeing this
fantastic programm dieing.


If you have any questions about DiskMaster,
feel free to contact me at:

@{b} rudolph-riedel@t-online.de@{ub}

Please use "@{b}diskmaster@{ub}" somewhere in the subject, this will help
me to bring back some structure into my pm.

I also like to receive your Startup.DM and ARexx-Scripts for DiskMaster.


Or give me a phone call: +0049 5083 911444


My A1200 is now equiped as follows:

Self-Made Desktop Case with PC PSU

2 MB CHIP , 16 MB FAST, 2G HD
Blizzard 1240/40
NEC Multispin 4*4 ATAPI CD Changer
Creatix V34+ Modem, FiberLine 10MBit PCMCIA, MIAMI 3.2b
Kickstart/WB 3.1
FlickerFixer/Scandoubler
Keyboard Interface
Topolino PC-Mouse Interface


Dedicated to Angela, the most wonderfull reason for my
problem with getting enough spare time...

@endnode
@node "Company" "Now we are a team..."
@REMARK .1
@{b}-------------------------------------------------------------------------------
                                   Co-Author
-------------------------------------------------------------------------------@{ub}

Name	: Richard Backhaus

*Unfortunately Richard left the team a while ago after he has rewritten
 the sort-function in DM2.
@endnode
@node "SmegHead" "'Colourless green ideas sleep furiously.' - Prof. Noam Chomsky"
@REMARK .1
@{b}-------------------------------------------------------------------------------
                                Idea Collector
-------------------------------------------------------------------------------@{ub}

  Bitten by a radioactive spider...  No, wait, that wasn't me.  I don't spin
a web, any size, or capture thieves just like flies, but I @{u}do@{uu} collect ideas
for new DiskMaster features and suggestions for improving existing ones.

Name:       Jody Tierney
Born:       May 8, 1970
Home:       Elkhart, Indiana - USA

Amiga:      A1200 - WB 3.0
            Blizzard 1260
            2MB Chip/16MB Fast RAM
            Western Digital 1.62GB HD
            Cardinal 33.6 modem
            Reno 2x CD-ROM drive
            SyQuest EZ135 drive

Hobbies:    Programming - Amiga E, ARexx
            Graphics
            Reading - Science fiction, science, comic books, philosophy,
                      Playboy, biography
            Procrastinating  :-)

Trivia:     In high school, I was voted most likely to be least likely voted
            "most likely" anything.  :-)

Home page:  http://www.cyberlink-inc.com/jtierney/


Send your DM suggestions to:  @{b}jtierney@cyberlink-inc.com@{ub}
(I'll also see/collect them if you post to the DM2 @{"mailing list" link "mailing"}.)

@endnode
@node "Intro" "What`s that all about?"
@REMARK .1
@{b}-------------------------------------------------------------------------------
            What the heck is DiskMaster and why exists this Guide?
-------------------------------------------------------------------------------@{ub}

DiskMaster is simply one of the very best directory-utilities ever!

DM is small fast and compatible, easy to use, easy to configure.
And among the best things it comes for free now!

You simply have to try out DiskMaster to become one of it`s fans!


I came across DiskMaster early 1993, as far as I can remember.
To be honest, someone gave me a copy of this program that
I tried out on my A500 with 1MB and Kick 1.3 .
Half a year later I really was into it and >honest< from then
I tried to buy the program but there was nobody selling it.
We even tried to phone Progressive, this was back in 1994 or so.

In late 1994 I got hold of a copy of DiskMaster 2.1c,
again from an unknown source - no way to track it down.

In late 1995 I bought my modem - That finally opened the door.
As soon I had a connect to the german z-netz, I started writing adverts.
But again no-one was willing or able to sell an original.

It was in October 1996 when I finally made it to the internet.
On November 13. I put my first advert in COMP.SYS.AMIGA.MARKETPLACE .
And the 16.11.1996 became the day, I was waiting for so long.
Jerry W. Rubemeyer from Iowa offered me his DiskMaster 2.0
together with the manual I ever needed so badly (100 pages).
Thanks again, Jerry!

On December 10. I put my first offer to swap Startup.DMs on the net.

The reactions on this and the following adds convinced me that I am
on the right way still supporting this splendid dir-util.
And as it looks like a lot of users received DiskMaster from the Cover-Disk
or from dubios sources like myself, I decided to write this guide to help all
these fellowers out there that are not so happy
to get hold of the original manual.

Additionally the manual is rather brief on some issues and I received a lot
of examples that I can provide to demonstrate the power of DiskMaster.

To my shame I basically copied the manual so far adding only few comments.
But I also provided some not mentioned functions.
The reason for this is that I wanted to have a solid basis first
to which I may attach new ideas easier.

And now that I received the source for DiskMaster, this is no longer a
stand-alone product but the official documentation for DiskMaster II.

I spent and will spend a lot of work on this, so apreciate it!

@endnode
@node "Copyright" "Copyright"
@REMARK .1
@{b}-------------------------------------------------------------------------------
                                  Copyright
-------------------------------------------------------------------------------@{ub}

@{b}DiskMaster@{ub} II is written by @{b}Greg Cunningham@{ub}

It`s his baby and I`m only a kind of step-father!

On 97-03-10 I finally received the source-code from Greg.

So at this point I took over development to bring
DiskMaster to a more stable and even better point.

DiskMaster II is now © 1997/98/99 by @{"Rudolph Riedel" link "Slave" 0}

The current status of DiskMaster is @{b}Freeware@{ub}!

And this means that you are allowed to copy and use it for free,
NOT that DiskMaster is Public Domain!

It is not allowed to gain any profit by selling any part of this
distribution in any form.
PD collectors have to ask for my permission first!
And this also includes magazines that want to release DM
on one of their cover-disks!

It is also not allowed to distribute only parts of this package,
all files mentioned in @{"Distribution" link "Dist" 0} have to be included.

And finally it is not allowed to use file compression methods like crunching
the exec using PowerPacker/StoneCracker/<other Crap> on any file
in the distribution in order to re-distribute them in that form.

A distribution on Aminet CD`s is always allowed.
As well as I gave my permission for distribution on comp.sys.amiga.binary.

-------------------------------------------------------------------------------

This Guide is © 1997/98/99 by @{"Rudolph Riedel" link "Slave" 0} (rriedel@amiga.on-luebeck.de)

The current status of the guide is @{b}Mailware@{ub}!

So if you use it, all I request is that you send me an e-mail or
a postcard to give me a little feedback for my work.

My Address is:

@{"Rudolph Riedel" link "Slave" 0}
Pollhöfen 31
29369 Ummern
Germany

Phone: +0049 5083 911444

But please READ this guide before asking and PLEASE be patient,
I read all your mail but I`m very slow in answering now...

@endnode
@node "ReqTools" "Requester magic..."
@REMARK .1
@{b}-------------------------------------------------------------------------------
                                   ReqTools
-------------------------------------------------------------------------------@{ub}

This aplication is using the ReqTools.library.

@{b}ReqTools is Copyright © Nico François and Magnus Holmgren!@{ub}

@endnode
@node "Disclaimer" "This is really necessarry..."
@REMARK .1
@{b}-------------------------------------------------------------------------------
                                  Disclaimer
-------------------------------------------------------------------------------@{ub}

@{b}The author is in no way liable for any damages or loss of data
directly or indirectly caused by the information given in this document!
Some of the information could be false other could be easily misused.@{ub}

In other words:
When you try any of the supplied examples on your configuration you
do this completly on your own risk!

@{b}Like it`s not my fault when you delete your files, you pushed the button!@{ub}

DiskMaster itself is provided as is, you use it entirely on your own risk!

@endnode
@node "Install" "Really no joke..."
@REMARK .1
@{b}-------------------------------------------------------------------------------
                         How to install DiskMaster II
-------------------------------------------------------------------------------@{ub}

This is one of the simpliest things on earth, so I won`t spend any time on
writing a special installer script.

1. Copy DM2 and DM2.info to your favourite "Tools" directory using
   the Workbench or DiskMaster itself.
2. Copy DM2.guide to any directory of your choice.
3. If you like, copy the ARexx scripts from DiskMaster/rexx to Sys:Rexx
   and the tools from ../c to Sys:C

That`s it!

Additional steps:

1. Start DiskMaster and select "Save Config" from the "Project" menu.
2. *READ* this guide and use a text-editor to customize your Startup.DM.
   The file "MyStartup.DM" may give you additional ideas.
3. Use an Icon-Ed or even better SwazInfo to select your favourite icon.

@endnode
@node "functions" "Functions"
@REMARK .5
@{b}-------------------------------------------------------------------------------
               DiskMaster Functions - @{"  General Information  " link "GInfo" 0}
-------------------------------------------------------------------------------@{ub}

@{"     About      " link "About" 0}  @{"    Dirlist     " link "Dirlist" 0}  @{"   OpenWindow   " link "OpenWindow" 0}  @{"    SetDate     " link "SetDate" 0}
@{" AddAutoCommand " link "AddAutoCmd" 0}  @{"      Dupe      " link "Dupe" 0}  @{"      Pack      " link "Pack" 0}  @{"   SetFormat    " link "SetFormat" 0}
@{"   AddCommand   " link "AddCmd" 0}  @{"     Expand     " link "Expand" 0}  @{"     Parent     " link "Parent" 0}  @{"    SetList     " link "SetList" 0}
@{" AddKeyCommand  " link "AddKeyCmd" 0}  @{"     Extern     " link "Extern" 0}  @{"      Pens      " link "Pens" 0}  @{"   SetPattern   " link "SetPattern" 0}
@{" AddMenuCommand " link "AddMenuCmd" 0}  @{"    Filestat    " link "Filestat" 0}  @{"    PrintDir    " link "PrintDir" 0}  @{"      SetX      " link "SetX" 0}
@{"    Archive     " link "Archive" 0}  @{"      Find      " link "Find" 0}  @{"    Priority    " link "Priority" 0}  @{"     Single     " link "Single" 0}
@{"      Auto      " link "Auto" 0}  @{"      Font      " link "Font" 0}  @{"    Protect     " link "Protect" 0}  @{"      Sort      " link "Sort" 0}
@{"   BarFormat    " link "BarFormat" 0}  @{"      GUI       " link "GUI" 0}  @{"     Quiet      " link "Quiet" 0}  @{"     Status     " link "Status" 0}
@{"     Batch      " link "Batch" 0}  @{"   HostScreen   " link "HostScreen" 0}  @{"      Quit      " link "Quit" 0}  @{"     StdIO      " link "StdIO" 0}
@{"     Button     " link "Button" 0}  @{"      Icon      " link "Icon" 0}  @{"      Read      " link "Read" 0}  @{"      Swap      " link "Swap" 0}
@{"     Check      " link "Check" 0}  @{"    Iconify     " link "Iconify" 0}  @{"   Recursion    " link "Recursion" 0}  @{"   Swapselect   " link "Swapselect" 0}
@{" ChangeCommand  " link "ChgCmd" 0}  @{"      Info      " link "Info" 0}  @{"     Rename     " link "Rename" 0}  @{"  TitleFormat   " link "TitleFormat" 0}
@{"     Choose     " link "Choose" 0}  @{"      Last      " link "Last" 0}  @{"     Reset      " link "Reset" 0}  @{"     UnLock     " link "UnLock" 0}
@{"  CloseWindow   " link "CloseWindow" 0}  @{"   LoadConfig   " link "Batch" 0}  @{"   ReqPattern   " link "ReqPattern" 0}  @{"     UnMark     " link "UnMark" 0}
@{"     Color      " link "Color" 0}  @{"      Lock      " link "Lock" 0}  @{"      REXX      " link "REXX" 0}  @{"     Unpack     " link "Unpack" 0}
@{"    Comment     " link "Comment" 0}  @{"    Makedir     " link "Makedir" 0}  @{"      Root      " link "Root" 0}  @{"      View      " link "View" 0}
@{"    Confirm     " link "Confirm" 0}  @{"      Move      " link "Move" 0}  @{"   SaveConfig   " link "SaveConfig" 0}  @{"      Wait      " link "Wait" 0}
@{"      Copy      " link "Copy" 0}  @{"      Msg       " link "Msg" 0}  @{"    ScrBack     " link "ScrBack" 0}  @{"     Window     " link "Window" 0}
@{"     Delete     " link "Delete" 0}  @{"     NewDir     " link "NewDir" 0}  @{"    ScrFront    " link "ScrFront" 0}  @{"    WinInfo     " link "WinInfo" 0}
@{"    Deselect    " link "Deselect" 0}  @{"   NewScreen    " link "NewScreen" 0}  @{"     Select     " link "Select" 0}

@{"Removed Functions" link "removed" 0}
@endnode
@node "GInfo" "Some notes on the functions described"
@REMARK .1
@{b}------------------------------------------------------------------------------
                              General Information
------------------------------------------------------------------------------@{ub}

- All DiskMaster functions can be issued through ARexx.
  (Arexx only functions are marked)
 This is why there is so less documentation in here for ARexx...

- The entire command, including menu, title, @{"command" link "cmd" 0} string,
  etc., can be no longer than 255 characters.

- The maximum amount of arguments for a function is 29.

- Due to restrictions in the function parser, all function names
  could be savely abreviated down to five characters.
  E.g. "Extern" could be abreviated as "Exter".

- A special link to the @{"flags" link "flags" 0} being used.

In the functions below, arguments enclosed in "< >" are required,
while those enclosed in "[ ]" are optional.

My very own comments are marked with "*".

@endnode
@node "About" "About"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                     About
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Brings up the "About"-Requester.

@{b}Syntax:@{ub} About

@{b}Arguments:@{ub} None

@endnode
@node "AddAutoCmd" "AddAutoCmd"
@REMARK .3
@{b}-------------------------------------------------------------------------------
                                AddAutoCommand
-------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Adds an AutoCommand to the list.

          When a file is double-clicked, DiskMaster attempts to determine
          what type of file it is by loading the first 500 bytes of that
          file and comparing this with a list of known patterns.
          If one of these patterns is found in the preload-buffer,
          the corresponding AutoCommand will be executed upon that file.
          This function works non case-sensitive for both the file content
          and for the filenames.

@{b}Syntax:@{ub} AddAutoCmd [data,@{"pattern" link "pattern" 0},@{"command" link "cmd" 0}]

@{b}Arguments:@{ub}

@{b}(no arg):@{ub} If this function is issued with no arguments, a requester will appear
          asking for the proper arguments.

@{b}data:@{ub} The data compared against the first 500 bytes of the file,
      to determine wheter or not this AutoCommand is to be executed.

      Have a look in your DOS manual for all the options of
      DOS pattern-matching that work with this function.

      Two special flags may be used in place of the data: TEXT and DEFAULT.
      The TEXT AutoCommand will be executed if no other patterns
      are matched and the file is a text file.
      The DEFAULT AutoCommand will be executed
      if no other patterns are matched.

@{b}Examples:@{ub}

 AddAutoCmd FORM????ILBM#?,View %s

After double-clicking on a file, DiskMaster will read the first 500 bytes
of the file and attempt to match it with the pattern "FORM????ILBM#?",
which is the pattern for IFF pictures.

It means: start with "FORM", ignore the next four characters,
"ILBM" must be there and allow unlimited characters following this.

If the pattern is matched, the picture will be shown with the
internal @{"View" link "View" 0} datatypes viewer.

 AddAutoCmd ?PNG#?,Extern Tools:ppshow @{"%s" link "flags" 0}

This is the pattern for PNG pictures, this only requires
one character at the beginning to be ignored.

 AddAutoCmd ??????JFIF#?,Extern Tools:Fastview %s

This is the same for JPEG files, only with more unknown characters.

 AddAutoCmd GIF8#?,#?.GIF,Extern Tools:Fastview @{"%s" link "flags" 0}

The file must end with ".GIF" and must match the data pattern also.

 AddAutoCmd ,#?.PCX,Extern Tools:Fastview @{"%s" link "flags" 0}

The data doesn't matter, but the filename must end with .PCX to match.

 AddAutoCmd (FORM????ILBM#?|?PNG#?|??????JFIF#?|GIF8#?), view %s

IFF, PNG, JPEG and GIF pictures will be shown with @{"View" link "View" 0}.

Merging auto-commands this way might speed things up a bit.
@endnode
@node "AddCmd" "AddCmd"
@REMARK .1
@{b}-------------------------------------------------------------------------------
                                  AddCommand
-------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Adds a command to the current command window.

@{b}Syntax:@{ub} AddCmd [title,##,@{"command" link "cmd" 0}]

@{b}Arguments:@{ub}

@{b}title:@{ub} The text that will appear in the command window to
       identify this command.

@{b}##:@{ub} A two digit number, specifying the foreground and background
    colors to be used to display the @{b}Title@{ub} text.
    The two numbers used are DM color palette register values.

@{b}Example:@{ub}

 AddCmd   DH0:,10,NewDir DH0:*

Adds a command called "  DH0:" to the current command window,
which when activated, changes the current window directory to dh0: .
The text "  DH0:" will be displayed using color 1 as its forground
and color 0 as its background.

@endnode
@node "AddKeyCmd" "AddKeyCmd"
@REMARK .2
@{b}------------------------------------------------------------------------------
                                 AddKeyCommand
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Add a keyboard command.

@{b}Syntax:@{ub}   AddKeyCmd [key,@{"command" link "cmd" 0}]

@{b}Arguments:@{ub}

@{b}key:@{ub} The key to be pressed for the command.
     Valid are printable keys as well as F1-F10, Help and Del.

You may define as much as 100 keyboard commands.

@{b}Examples:@{ub}

 AddKey c,Copy @{"%s" link "flags" 0} @{"%d" link "flags" 0}

Press "c" to begin a file copy.

 AddKey C,Copy @{"%s" link "flags" 0}

Press SHIFT+C to start a copy that requests dest path.
@endnode
@node "AddMenuCmd" "AddMenuCmd"
@REMARK .2
@{b}------------------------------------------------------------------------------
                                AddMenuCommand
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Adds a new menu entry to the current menu strip.

@{b}Syntax:@{ub} AddMenuCmd [menu_name,title,key,@{"command" link "cmd" 0}]

@{b}Arguments:@{ub}

@{b}menu_name:@{ub} The name of an existing or new menu to which
           the new menu item will be added.

@{b}title:@{ub} The text that will appear in the menu to identify this command.
           If you use "Barlabel," here, a separator will be added in the menu.

@{b}key:@{ub} A single printable character to be used in conjunction with the
     @{b}[Right Amiga]@{ub} key to activate this command from the keyboard.
     The character used is not case sensitive.
     However, special characters such as "&" or "©" will require
     the use of the @{b}[Shift]@{ub} or @{b}[Alt]@{ub} keys to invoke the command.

@{b}Examples:@{ub}

 AddMenu Config,About,A,About

Adds an item called "About" under the "Config" menu, which can be activated
by pressing @{b}[Right Amiga]@{ub} + @{b}[A]@{ub}.

 AddMenu Config, Barlabel,

Adds a separator to the "Config" menu.


@{b}Hint:@{ub} In the Startup.DM, adding menus prior to opening any windows
               will increase the speed of the script execution.
@endnode
@node "Archive" "Archive"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                    Archive
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Provides a multi-select feature taylor-made for file archivers.

@{b}Syntax:@{ub} Archive [ArcCommand] [Name]

@{b}Arguments:@{ub}

@{b}ArcCommand:@{ub} The external archive command with it`s normal "Add" arguments.

@{b}Name:@{ub} The name of the archive that is to be created.

@{b}Examples:@{ub}

 Archive "LHA -r a"

Opens a requester asking for the archive name, then adds all selected files to
the existing archive, or creates a new archive file.

 Archive "LHA -r a" ram:dm2.lha

Adds all selected files to the existing archice "dm2.lha" in ram:,
or creates a new archive file of that name.

* Here`s a trick I received from @{"Jody Tierney" link "SmegHead" 0}
  to "misuse" archive for multi-selection:

>- Archive _can_ be tricked into not opening a requester.  The following
> command sends the full path & name of all selected files in the source window
> to "T:Selectedfiles".  Archive "C:Echo >T:SelectedFiles" %s

* The only drawback of this is that the first selected File will appear twice.

@endnode
@node "Auto" "Auto"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                   Auto
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Uses auto commands on all selected files.

@{b}Syntax:@{ub} Auto [@{"file" link "file" 0}]

@{b}Example:@{ub}

 AddCmd Auto,20,Auto @{"%s" link "flags" 0}

Adds the Command "Auto" to the CommandWindow that when selected will
batch process all selected files.

@endnode
@node "BarFormat" "BarFormat"
@REMARK .2
@{b}------------------------------------------------------------------------------
                                   BarFormat
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Specifies which information and in what order it is to appear
          in the title bar of the Workbench or DiskMaster screen.

@{b}Syntax:@{ub} BarFormat [text][%A][%V][%C][%F][%P][%T][%D][%M][%Y][%W]

@{b}Arguments:@{ub}

@{b}text:@{ub} Any text you like to be displayed in the title-bar.

@{b}%A:@{ub} Displays the current screen/task name of DM2.
@{b}%V:@{ub} Displays the current version-number of DM2.

@{b}%C:@{ub} Amount of available CHIP RAM.
@{b}%F:@{ub} Amount of available FAST RAM.
@{b}%P:@{ub} Amount of available (public) RAM in total.

@{b}%T:@{ub} Displays the current time.
@{b}%D:@{ub} Displays the current date.
@{b}%M:@{ub} Displays the current month (abreviated).
@{b}%Y:@{ub} Displays the current year.
@{b}%W:@{ub} Displays the current weekday (localized).

@{b}Example:@{ub}

 BarFormat " %A %V Chip:%C  Fast:%F  Total:%P  %W - %D.%M.%Y  %T"

Will result in a title bar that might look like this:

 @{b} DM.1 2.4 Chip:1471496  Fast:13396056  Total:14867552  Sunday - 06.Dez.98  12:06@{ub}

* There`s a @{"Bug" link "Bugs" 63} in DM2`s main parser!

@endnode
@node "Batch" "Batch"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                  Batch
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Executes a DiskMaster batch file.

@{b}Syntax:@{ub} Batch [@{"file" link "file" 0}]

@{b}Example:@{ub}

 Batch @{"%s" link "flags" 0}

Executes the selected files in the source window as DiskMaster script files.

@endnode
@node "Button" "Button"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                  Button
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Assigns a function to the @{b}S@{ub} (source) and @{b}D@{ub} (destination) gadgets.
          Clicking on @{b}S@{ub} or @{b}D@{ub} gadget will invoke the command.

@{b}Syntax:@{ub} Button "@{"command" link "cmd" 0}"

@{b}Example:@{ub}

 Button "Parent"

When the @{b}S@{ub} or @{b}D@{ub} gadget is selected, the "Parent" function is performed.

@endnode
@node "Check" "Check"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                  Check
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Totals the number of bytes in the specified files or path and
          determines wheter or not there is room on the destination device to
          hold the files if copied.
          If there is enough room, the amount of storage space
          that will be left is displayed.
          If there is not enough room, you will be informed.
          All feedback is displayed in the DiskMaster screen title bar.

@{b}Syntax:@{ub} Check <path>

@{b}Arguments:@{ub}

@{b}path:@{ub} The AmigaDOS path which is to be totaled and
      compared to the destination.

@{b}Example:@{ub}

 Check @{"%s" link "flags" 0}

Totals the byte count of the selected files and directories and indicates
wheter or not they will fit in the destination directory.

@endnode
@node "ChgCmd" "ChgCmd"
@REMARK .1
@{b}------------------------------------------------------------------------------
                              ChangeCommand
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Requests that you select a command to be altered,
          then opens a requester allowing you to edit the command
          without editing the configuration file directly.

@{b}Syntax:@{ub} ChgCmd

@{b}Arguments:@{ub} None

@endnode
@node "CloseWindow" "CloseWindow"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                CloseWindow
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Closes the current window.

@{b}Syntax:@{ub} CloseWindow [number]

@{b}Arguments:@{ub}

@{b}number:@{ub} The number of the window to close.

@{b}Examples:@{ub}

 CloseWindow

Closes the active window.

 CloseWindow 5

Closes the fifth window.

* Could be of use in ARexx-Scripts.

@endnode
@node "Color" "Color"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                    Color
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Sets the RGB values (in hexadecimal) of each color register.

@{b}Syntax:@{ub} Color [colors]

@{b}Arguments:@{ub}

@{b}(no arg):@{ub} Opens the palette requester allowing you
          to visually change the color palette.

@{b}colors:@{ub} The set of hexadecimal values specifying the RGB value
        of the color palette register. The color registers are set from
        left to right with each RGB value separated with a space.

@{b}Examples:@{ub}

 Color

Opens the palette requester.

 Color 999 222 EEE 358

Sets the first four colors.

* Notice the 4 Bit per entry values.

@{b}This function utilizes @{"ReqTools" link "ReqTools" 0} when available!@{ub}

@endnode
@node "Comment" "Comment"
@REMARK .1
@{b}------------------------------------------------------------------------------
                             Comment (@{"Recursive" link "recursive" 0})
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Changes the comment text of the specified file.

@{b}Syntax:@{ub} Comment <@{"file" link "file" 0}> ["text"]

@{b}Arguments:@{ub}

@{b}(no arg):@{ub} Opens a requester with the current comment to be edited.

@{b}Examples:@{ub}

 Comment @{"%s" link "flags" 0}

Opens a requester with the current comment to be edited
for each selected file.

 Comment @{"%s" link "flags" 0} "Babelfish`n`Chips"

Sets the comment "Babelfish`n`Chips" for each selected file.

@endnode
@node "Confirm" "Confirm"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                  Confirm
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Opens a requester displaying a message, a "Continue" gadget,
          a "Stop" Gadget and a text line.
          All text in this requester can be customized.
          If the user selects the "Continue" gadget the requester will
          dissappear and the remainder of the command string
          will be executed.
          If the User selects the "Stop" gadget, the requester will disappear
          and the remainder of the command string will be disregarded.

@{b}Syntax:@{ub} <"text"> [Continue] [Stop] [edit text]

@{b}Arguments:@{ub}

@{b}text:@{ub} The text that will appear as headline in the requester.
      If the text is to contain spaces, it must be included in quotes.

@{b}Continue:@{ub} The text that will be displayed in the "Continue" gadget.

@{b}Stop:@{ub} The text that will be displayed in the "Stop" gadget.
      If this text is specified, the "Continue text must also be specified.

@{b}edit text:@{ub} The text that will be displayed in the string gadget.

If any text is to contain spaces, it must be included in quotes.

@{b}Examples:@{ub}

 Confirm " Drop dead?" "Yo!" "No way!";Quit

Opens a simple requester without string gadget to confirm the action "quit".

 Confirm "Name of encoded file?" "Go!" "Stop!" .uu;Extern uuencodex @{"%s" link "flags" 0} @{"%r" link "flags" 0}

Opens a requester which string gadget contains the string ".uu"
that can be modified by the user and is accessed as @{"%r" link "flags" 0}.

@endnode
@node "Copy" "Copy"
@REMARK .2
@{b}------------------------------------------------------------------------------
                            Copy (@{"Recursive" link "recursive" 0})
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Copies the specified file(s) to the specified destination.

@{b}Syntax:@{ub} Copy <@{"file" link "file" 0}> <@{"dest" link "dest" 0}> [NEWER] @{"[RENAME]" link "xrename" 0} [FORCE]

@{b}Arguments:@{ub}

@{b}NEWER:@{ub} If this flag is set files will only be copied if the source file
       of the same name is newer than the file in the destination directory
       or if the file does not exist there.

@{b}FORCE:@{ub} If this flag is set an existing destination file of the same name
       as the source-file is de-protected first.
       This flag has a lower priority than NEWER.

@{b}Examples:@{ub}

 Copy @{"%s" link "flags" 0} @{"%d" link "flags" 0}

Copies selected source files to the destination directory.

 Copy DF0: DF1:

Copies all files from DF0: to DF1:

 Copy @{"%s" link "flags" 0} @{"%p" link "flags" 0}

Will clone the source file adding a ".bak" extension.

 Copy @{"%s" link "flags" 0} @{"%d" link "flags" 0} force

Will copy the selected files even if there are protected files of the
same names in the dest-dir.

@endnode
@node "Delete" "Delete"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                   Delete
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Deletes the specified file(s).

@{b}Syntax:@{ub} Delete <@{"file" link "file" 0}> [FORCE]

@{b}Arguments:@{ub}

@{b}FORCE:@{ub} De-protect all files before deleting them.

@{b}Examples:@{ub}

 Delete @{"%s" link "flags" 0}

Deletes selected files and directories in the source window.

 Delete @{"%s" link "flags" 0} FORCE

Will also delete all files that are protected.

@endnode
@node "Deselect" "Deselect"
@REMARK .2
@{b}------------------------------------------------------------------------------
                                  Deselect
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Deselects files and directories in the source window using
          the specified pattern(s) based on DOS pattern-matching.
          This function is not case sensitive.

@{b}Syntax:@{ub} Deselect [@{"pattern" link "pattern" 0}] [pattern2] ... [pattern29]

@{b}Examples:@{ub}

 Deselect

Opens a requester asking for a pattern to match.

 Deselect #?

Deselects all files and directories in the current window.

 Deselect #?.info

Deselects all files and directories ending with ".info".

 Deselect (#?.info|#?.txt|#?.readme)

Deselects all files and directories ending with ".info",
".txt" and ".readme".

*hint - read your DOS manual to find out more about pattern-matching.
@endnode
@node "Dirlist" "Dirlist"
@REMARK .1
@{b}------------------------------------------------------------------------------
                              Dirlist (ARexx only)
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Return file data of the current window in a stem var.

@{b}Syntax:@{ub} Dirlist [comment] [date] [protect] [size] [var] [sel] [unsel]
                [file] [dir]


@{b}Arguments:@{ub}

@{b}file:@{ub} List only entries that are files.

@{b}dir:@{ub} List only entries that are directories.

@{b}sel:@{ub} List only entries that are selected.

@{b}unsel:@{ub} List only entries that are unselected.


@{b}comment:@{ub} Additionally write the entries` comment-strings to
         LIST.COMMENT.<index>.
         If an entry has no comment, LIST.COMMENT.<index> is empty.

@{b}date:@{ub} Additionally write the entries` datestamps to
      LIST.DATE.<index> as amount of days since Jan 1st 1978.

@{b}protect:@{ub} Additionally write the entries` protection-bits as
         string to LIST.PROTECT.<index> .

@{b}size:@{ub} Additionally write the entries` size as string to
      LIST.SIZE.<index> .

@{b}var:@{ub} Change the base name of the stem var from LIST to whatever
     you specify within the next argument.


Arexx vars that are always filled with information:

@{b}LIST.NAME.0:@{ub} Contains the total amount of entries.

@{b}LIST.NAME.<index>:@{ub} Contains the name of a dir-entry where <index> is
                   a number from 1 to (LIST.NAME.0).

These are filled with information when not using [sel],[unsel] :

@{b}LIST.SEL.0:@{ub} The total amount of selected entries.

@{b}LIST.SEL.<index>:@{ub} 1 if the entry is selected and 0 if the entry
                  is not selected.

These are filled with information when not using [file],[dir] :

@{b}LIST.DIR.<index>:@{ub} 1 if the entry is a dir and 0 if the entry
                  is a file.

@{b}Examples:@{ub}

-----
address DM.1
Dirlist
do i=1 to list.name.0
 say list.name.i
end
-----

Print out the names of all entries from the current dir-window.

-----
address DM.1
Dirlist sel
do i=1 to list.name.0
 say list.name.i
end
-----

Print out the names of all selected entries from the current dir-window.

-----
address DM.1
Dirlist size sel file
do i=1 to list.name.0
 say list.name.i list.size.i
end
-----

Print out the names and sizes of all selected files from
the current dir-window.

-----
address DM.1
Dirlist unsel var quark dir
do i=1 to quark.name.0
 say quark.name.i
end
-----

Print out the names of all selected dirs from the current dir-window using
an alternative stem-var.

@endnode
@node "Dupe" "Dupe"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                   Dupe
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Selects or deselects duplicate files.

@{b}Syntax:@{ub} Dupe [C] [D] [N] [S] [-]

@{b}Arguments:@{ub}

@{b}C:@{ub} Compare all files from the source-window against the files from
   the destination window if there are some with identicle comments.
   Will always fail for files with no comment!

@{b}D:@{ub} Compare the file`s creation dates.

@{b}N:@{ub} Compare the file`s names.

@{b}S:@{ub} Compare the file`s sizes.
   'Dupe S' will always fail on directories!

@{b}-:@{ub} Matching files get deselected.

@{b}Examples:@{ub}

 Dupe S

Mark all files in the source-window as seleceted that have the same
size than any of the files in the destination window.

 Dupe N S

Mark all files in the source-window as seleceted that have the same
name and size than some file in the destination window.

 Dupe C - D S

Mark all files in the source-window as un-seleceted that have the same
comment, date and size than some file in the destination window.

 Dupe S; Dupe N

Actually two commands this will mark all files as selected
that are either of the same size OR the same name.

@endnode
@node "Extern" "Extern"
@REMARK .1
@{b}------------------------------------------------------------------------------
                             Extern (@{"Recursive" link "recursive" 0})
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Use external programs as DiskMaster functions.

@{b}Syntax:@{ub} Extern [S=value] [@{"command" link "cmd" 0}] [args]

@{b}Arguments:@{ub}

@{b}S=value:@{ub} This optional argument determines the stack-size for the
         externally executed programm.
         >value< is decimal and defaults to 4000 which is also the minimum.
         This argument @{b}MUST@{ub} be the first or is otherwise
         interpreted as part of the [args].

@{b}args:@{ub} Arguments normally used by the external program. The "@{"%s" link "flags" 0}" and
      "@{"%d" link "flags" 0}" flags may be used to specify source and destination directories,
       or selected source files or directories.

       To run multiple external functions from the same command,
       separate them by placing a "\\" between each function.

@{b}Examples:@{ub}

 Extern munpack @{"%s" link "flags" 0} -f >nil:

Runs the "MUnpack" command providing the first selected file in the source
window as the name of the file to be "de-mimed".

 Extern s=30000 Tools:GfxCon %s Format GIF

Executes the programm "GFXCon" with a stack of 30000 bytes.

@endnode
@node "Find" "Find"
@REMARK .1
@{b}------------------------------------------------------------------------------
                           Find (@{"Recursive" link "recursive" 0})
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Searches the path for files containing the current pattern.
          When a file is found which matches the specified pattern, a requester
          will appear asking if you want to continue the search,
          abort the search or open a window displaying the directory
          where the file was found.

@{b}Syntax:@{ub} Find [@{"file" link "file" 0}]

@{b}Examples:@{ub}

 Find @{"%s" link "flags" 0}

Search the selected paths using the current pattern.

 SetPattern "*.txt"; Find DF0:

Search DF0: for files ending with ".txt".

@endnode
@node "Font" "Font"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                  Font
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Changes the font to be used for file and command display.

@{b}Syntax:@{ub} Font [name|size]

@{b}Arguments:@{ub}

@{b}(no arg):@{ub} DM will Open a font requester for you.

@{b}name:@{ub} The name of the font.
           The font must be located in the "Fonts:" directory.
           If the font is not found, the default font is used.

@{b}size:@{ub} The size of the font.

@{b}Examples:@{ub}

 Font clean 8

Set font to clean.font, 8 point

 Font @{"%s" link "flags" 0}

Set font to selected file ( i.e. SYS:Fonts/topaz/8, or Fonts:topaz.font)

Note: The use of proportional fonts is @{b}NOT@{ub} recommended as they
      will cause alignment problems!

@endnode
@node "HostScreen" "HostScreen"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                HostScreen
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Use a puplic screen as host.

@{b}Syntax:@{ub} HostScreen [name]

@{b}Arguments:@{ub}

@{b}name:@{ub} The name of a public screen.

@{b}Example:@{ub}

 HostScreen BAUD

All windows after this will open on the BaudBandit screen.

@endnode
@node "Icon" "Icon"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                   Icon
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Create an default icon for a given @{"file" link "file" 0}.

@{b}Syntax:@{ub} Icon

@{b}Arguments:@{ub} None

@{b}Examples:@{ub}

 Icon @{"%s" link "flags" 0}

 AddCmd Icon,20,Icon %s

@endnode
@node "Info" "Info"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                   Info
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Pop up Information requester to edit tooltypes of a given @{"file" link "file" 0}.

@{b}Syntax:@{ub} Info

@{b}Arguments:@{ub} None

@{b}Examples:@{ub}

 Info @{"%s" link "flags" 0}

 AddCmd Info,20,Info %s

@{b}Flaws:@{ub}

If a file has no Icon, WB loads "ENV:sys/def_project.info" instead.
You may edit the file`s attributes then but you can`t save the icon.
Use @{"Icon" link "Icon" 0} if you need to create a default-icon for a file.

@endnode
@node "Lock" "Lock"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                 Lock
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Locks a window as either a source or destination window.
          This function allows for the use of multiple source
           and/or destination windows.

@{b}Syntax:@{ub} Lock [S|D]

@{b}Arguments:@{ub}

@{b}S:@{ub} Locks window as source window.

@{b}D:@{ub} Locks window as destination window.

@{b}Examples:@{ub}

 Lock S

Locks last selected window as a SOURCE window.

 Lock D

Locks last selected window as a DESTINATION window.

@endnode
@node "MakeDir" "MakeDir"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                 MakeDir
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Creates a new directory.

@{b}Syntax:@{ub} MakeDir [name]

@{b}Arguments:@{ub}

@{b}(no arg):@{ub} Opens a string requester.

@{b}name:@{ub} The name to be given to the new directory.

@{b}Examples:@{ub}

 MakeDir

Opens a requester asking for the name of the new directory.

 MakeDir RAM:T

Makes a directory in RAM: called "T".

@endnode
@node "Move" "Move"
@REMARK .2
@{b}------------------------------------------------------------------------------
                               Move (@{"Recursive" link "recursive" 0})
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Copies the specified file(s) from the source to the
          destination then deletes the specified file(s) from the source.

@{b}Syntax:@{ub} Move <@{"file" link "file" 0}> <@{"dest" link "dest" 0}> [NEWER] @{"[RENAME]" link "xrename" 0} [FORCE]

@{b}Arguments:@{ub}

@{b}NEWER:@{ub} This flag specifies that only files of like names which
       have a newer file date than the existing files are to be moved.

@{b}FORCE:@{ub} If this flag is set an existing destination file of the same name
       as the source-file is de-protected first.
       This flag has a lower priority than NEWER.

@{b}Examples:@{ub}

 Move @{"%s" link "flags" 0} @{"%d" link "flags" 0}

Moves selected files from the source window to the destination window.

 Move @{"%s" link "flags" 0} RAM:

Moves selected files from the source window to the RAM: directory.

 Move @{"%s" link "flags" 0}

Requests the destination directory, then moves selected files
from the source window to that destination.

@endnode
@node "Msg" "Msg"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                  Msg
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Displays text in the DiskMaster screen title bar.

@{b}Syntax:@{ub} Msg "text"

@{b}Arguments:@{ub}

@{b}text:@{ub} Any text which is to be displayed in the DiskMaster screen title bar.

@{b}Example:@{ub}

 Msg "Do something!"

Displays the message "Do something!" in the DiskMaster screen title bar.

@endnode
@node "NewDir" "NewDir"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                  NewDir
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Changes the directory path of the source window.

@{b}Syntax:@{ub} NewDir [path|dmfile]

@{b}Arguments:@{ub}

@{b}path:@{ub} AmigaDOS path name.

@{b}dmfile:@{ub} DiskMaster script file to be executed in lieu of reading
        a new directory.

@{b}Examples:@{ub}

 NewDir

Changes the path of the current window to "none" which displays
the device list.

 NewDir RAM:*.info

Changes the path of the current window to RAM: (displays only .info files).

 NewDir %p

Refreshes the current window by selecting the current path as new path.

@endnode
@node "NewScreen" "NewScreen"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                NewScreen
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Opens a new screen for DM.

@{b}Syntax:@{ub} NewScreen [ID=value|D=value|H=value|W=value]

@{b}Arguments:@{ub}

@{b}(no arg):@{ub} Will bring up a screenmode-requester.

@{b}ID=value:@{ub} The mode-id of the screen, you want DM to open.

@{b}D=value:@{ub} The number of bitplanes to use for the custom screen.

@{b}H=value:@{ub} The height in pixels to use for the custom screen.

@{b}W=value:@{ub} The width in pixels to use for the custom screen.

All values are decimal.
Use utilities like aminet/util/misc/gmi22_usr.lha to obtain
the right mode-id for your prefered screenmode.
Or simply use @{"SaveConfig" link "SaveConfig" 0} to obtain
the perfect command-line for your screen.

@{b}Examples:@{ub}

 NewScreen

A screenmode-requester will open from wich you may select your prefered mode,
only works when starting DM2 so far.

 NewScreen ID=167936

DM2 will open a PAL/Highres screen with the depth/height/width of your WB.

 NewScreen D=2

DM2 will clone your WB except from the number of bitplanes that is set to 2.

 NewScreen H=10 W=10

DM2 will open a screen with the mode and depth of your wb
and a size of 320 * 200.

@endnode
@node "OpenScreen" "OpenScreen"
@REMARK .2
@{b}------------------------------------------------------------------------------
                                 OpenScreen
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Opens a custom screen.

* removed in 2.5b7 - use @{"NewScreen" link "NewScreen" 0} now!
@endnode
@node "OpenWindow" "OpenWindow"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                  OpenWindow
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Opens a file display or command window on the current DM screen.

@{b}Syntax:@{ub} OpenWindow [left top width height [path|dmfile|CMD]]

@{b}Arguments:@{ub}

@{b}left:@{ub} The pixel coordinate for the left boundary of the window.

@{b}top:@{ub}  The pixel coordinate for the top boundary of the window.

@{b}width:@{ub} The width of the window (in pixels).

@{b}height:@{ub} The height of the window (in pixels).

@{b}path:@{ub} The DOS path to be read and displayed in the newly opened window.

@{b}dmfile:@{ub}  The file name of a DiskMaster script file that will be
         executed upon the opening of the new window.

@{b}CMD:@{ub} Command Flag.  This flag specifies that the newly opened
     window will take over as the current command window.

@{b}Examples:@{ub}

 OpenWindow 100 150 200 50 RAM:

Open a new window which will load and display the directory "RAM:".

 OpenWindow 100 150 200 50 C:s*

Opens a new window which will display only files which start with
"S" in the C: directory.

 OpenWindow 100 150 200 50

Opens a new window which will display the device list.

 OpenWindow 100 150 200 50 CMD

Opens a new window which will take over as a new command window.

@endnode
@node "Pack" "Pack"
@REMARK .3
@{b}------------------------------------------------------------------------------
                             Pack (@{"Recursive" link "recursive" 0})
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Compress a file using XPK.
*Note:  This function requires xpkmaster.library v4 or above.
*Note:  Pack has been completely rewritten for 2.5b6.  Many differences exist
        between this and the original version.

@{b}Syntax:@{ub} Pack <@{"file" link "file" 0}> [TO @{"<dest>" link "dest"}] [METHOD=packer] [MODE=n]
             [SUFFIX] [KEEPORIG]

@{b}Arguments:@{ub}
@{b}TO@{ub}:  Where to store The new, compressed file.  This may be a path, a full
     path/name, or a DiskMaster @{"flag" link "flags"} such as @{"%d" link "flags"}.
     Default:  Same directory/name as the source file.

@{b}METHOD@{ub}:  The 4-letter ID of the XPK packer to use.  Ex: "SHRI".
         Default:  Use the packer defined with Prefs/XPKMaster.

@{b}MODE@{ub}:  Packer efficiency, a number from 0 - 100 (best).
       Default:  100.

@{b}SUFFIX@{ub}:  Append an ".xpk" suffix to the compressed file.
         Default:  No suffix.

@{b}KEEPORIG@{ub}:  The original, uncompressed file is not deleted.  An ".old"
           suffix will be appended if the compressed file has the same name as
           the original.
           Default:  The original file is deleted if Pack succeeds.

@{b}Examples:@{ub}
Pack @{"%s" link "flags" 0}
  The selected file is packed, overwriting the original file.

Pack @{"%s" link "flags" 0} TO @{"%d" link "flags"} SUFFIX KEEPORIG
  The selected file is packed and saved to the @{"%d" link "flags"} directory.   The crunched
file has the same name as the original, but with an ".xpk" appended.  The
original file is not deleted.

Pack @{"%s" link "flags" 0} METHOD=SHRI MODE=100 SUFFIX
  The selected file is packed using the Shrink (SHRI) packer at best
efficiency (100), and ".xpk" is appended to the file name.  Once compressed,
the original file is deleted.
@endnode

@node "Parent" "Parent"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                  Parent
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Displays the contents of the parent directory in the
          current directory path of the source window.

@{b}Syntax:@{ub} Parent

@{b}Arguments:@{ub} None

@endnode
@node "Pens" "Pens"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                  Pens
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Allows you to customize which color register is used
          for each AmigaDOS pen.

@{b}Syntax:@{ub} Pens [color]

@{b}Arguments:@{ub}

@{b}color:@{ub} This is the DiskMaster palette register number to be used
       for the specific AmigaDOS pen. There may be as few as two,
       and as many as eight register numbers, depending on the number of
       bitplanes being used.

       The position of the color numbers specifies which AmigaDOS
       pen will be assigned that color.  The positions are as follows:

        0 = Detail Pen
        1 = Block Pen
        2 = Text Pen
        3 = Shine Pen
        4 = Shadow Pen
        5 = HighFill Pen
        6 = HighFill Text Pen
        7 = Background Pen
        8 = Highlight Text Pen
        9 = Bar Detail Pen
       10 = Bar Block Pen
       11 = Bar Trim Pen - Only of use in V39 and up systems.

       Note: Refer to your AmigaDOS manual for a description of the
       purpose of each of these pen attributes.

@{b}Example:@{ub}

Pens 0 1 1 2 1 3 1 0 3 1 2 1

Assigns color registers 0-3 to AmigaDOS pens, as specified by
their position.
This is the default setting.

@endnode
@node "Print" "Print"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                  Print
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Prints specified file(s) (text or picture).

@{b}Syntax:@{ub} Print <@{"file" link "file" 0}> [HEX]

@{b}Arguments:@{ub}

@{b}HEX:@{ub} Specifies that the file is to be printed in hexadecimal
     format rather than in text or graphic format.

@{b}Example:@{ub}

 Print @{"%s" link "flags" 0}

Prints all selected files in the source window.

@endnode
@node "PrintDir" "PrintDir"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                  PrintDir
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Prints selected files/dirs in source window using current format.

@{b}Syntax:@{ub} PrintDir @{"file" link "file" 0} output

@{b}Arguments:@{ub}

@{b}output:@{ub} The logical device the text shall be passed to.

@{b}Examples:@{ub}

 PrintDir @{"%s" link "flags" 0} PRT:

Prints a list of all selected files using the printer.

 PrinDir @{"%s" link "flags" 0} RAM:x

Generates a file ram:x that contains the list of selected files.

@endnode
@node "Priority" "Priority"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                 Priority
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Change the current AmigaDOS priority of DiskMaster.
          Changing this priority value can have an effect on other running
          programs.  It is recommended that unless you are familiar with the
          effects of changing program priorities, you should leave the
          DiskMaster priority at its default setting.

@{b}Syntax:@{ub} Priority [#]

@{b}Arguments:@{ub}

@{b}(no arg):@{ub}  Selecting this command will open a requester,
           allowing you to edit the current priority value.

@{b}#:@{ub} The new priority value.

Example:

 Priority 0

Sets the DiskMaster priority to 0.

* Totally unnecessary.

@endnode
@node "Protect" "Protect"
@REMARK .1
@{b}------------------------------------------------------------------------------
                              Protect (@{"Recursive" link "recursive" 0})
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Changes protection/attribute bits on specified file(s).

@{b}Syntax:@{ub} Protect <@{"file" link "file" 0}> ["[+] [-] [hsparwed] [G]"]

@{b}Arguments:@{ub}

@{b}+:@{ub} Specifies that the following bits are to be turned ON.

@{b}-:@{ub} Specifies that the following bits are to be turned OFF.

@{b}hsparwed:@{ub} Optional list of bits to be turned ON or OFF when
          preceded by a plus (+) sign or minus (-) sign.
          If the plus or minus signs are NOT used,
          the list will specify the absolute bit settings.
          The bits have the following meanings:

          H - Indicates that the file should be Hidden.

          * Ofcourse NOT!
            From OS2 to 3.0 "H" was the "Hold"-Bit,
            used by the OS to automatically make "pure" commands resident.
            The support for "Hold" was removed in OS3.1 .
            Please make no use of it.

          S - Indicates that the file is an AmigaDOS Script.
          P - Indicates that the file is Pure and can be made Resident.
          A - Archive Bit; used by hard disk backup programs to indicate
              whether or not the file has been backed up.  This bit is
              automatically reset to OFF if any other tool has written to
              the file.
          R - Indicates that the file may be Read.
          W - Indicates that the file may be Written to.
          E - Indicates that the file may be Executed.
          D - Indicates that the file may be Deleted.

          Note: If bits to be turned on or off are not specified, a
          requester will appear displaying the current protect bit
          settings, allowing you to edit them.

@{b}G:@{ub} Global flag.
   When this flag is present, the requester will
   not appear for each selected file.
   Instead, the current bit setting are used for all selected file(s).

@{b}Examples:@{ub}

 Protect @{"%s" link "flags" 0}

Opens a requester, asking for protection bits to be edited for
each selected file.

 Protect @{"%s" link "flags" 0} RWED

Sets each file to "----RWED"

 Protect @{"%s" link "flags" 0} "+S-P"

Turns the script bit ON and turns the pure bit OFF on each selected file.

 Protect @{"%s" link "flags" 0} +D

Make all selected files deletable.

@endnode
@node "Quit" "Quit"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                  Quit
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Exits DiskMaster.

@{b}Syntax:@{ub} Quit

@{b}Arguments:@{ub} None

* The most useless function... ;^)

@endnode
@node "Read" "Read"
@REMARK .6
@{b}------------------------------------------------------------------------------
                                 Read (@{"Recursive" link "recursive" 0})
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub}  Opens DiskMaster's built-in file reader to display the selected
          file(s).  The reader will decrunch and display packed files if the
          XFD library is installed.  Multiple reader windows are supported,
          and DiskMaster may continue operating while reader windows are open.

@{b}Syntax:@{ub}  Read <@{"file" link "file" 0}> [WINX=num] [WINY=num] [WINW=num] [WINH=num] [WRAP=num]
              [HEX] [FONT=font name] [FSIZE=num] [PUBSCR=screen name]
              [SEARCH[=pattern]] [WAIT]

@{b}Arguments:@{ub}
@{b}WINX@{ub}:  Sets the reader window's left edge.
       Default:  0.

@{b}WINY@{ub}:  Reader window's top.
       Default:  7.

@{b}WINW@{ub}:  Width of the reader window.
       Default:  Screen width.

@{b}WINH@{ub}:  Reader window's height.
       Default:  Screen height - 7.

@{b}WRAP@{ub}:  Sets the maximum length of a line.  Lines longer than this value
       are split (at the last space whenever possible) into multiple lines.
       Valid values for WRAP are from 25 to 254 (inclusive).
       *Note:  WRAP only affects the ASCII display.  In hex mode, lines are
               always 63 characters long.
       Default:  254.

@{b}HEX@{ub}:  Forces the reader to open in hex mode.
      Default:  The reader automatically determines hex or ASCII mode.

@{b}FONT@{ub}:  Name of the font to use for the reader.
       *Note:  This must be a fixed-width font.  Proportional fonts will be
               rejected, and Topaz 8 will be used instead.
       Default:  The reader uses Topaz 8.

@{b}FSIZE@{ub}:  The size for FONT.  Ignorred if the FONT keyword is missing.
        Default:  8.

@{b}PUBSCR@{ub}:  Specifiy a public screen for the reader to open on.
         *Note:  Public screen names are case-sensitive (and are usually all
                 uppercase).
         Default:  The reader opens on the current DiskMaster screen.

@{b}SEARCH@{ub}:  Performs a search on every selected file.  If SEARCH is specified
         by itself a requester will appear, prompting for a search pattern.
         See "Searching", below, for special characters which may be included
         in the pattern.
         *Notes:
           - A reader window will only be opened if the search was successful.
           - Windows opened by SEARCH behave as if the WAIT argument (below)
             was also specified.
         Default:  No search is performed.

@{b}WAIT@{ub}:  DM will wait for the current reader to be closed (or for the
       "*" keypress; see "Other Keys" below) before continuing.  Useful when
       calling Read with many files selected to prevent being flooded with
       reader windows.
       *Note:  SEARCH (above) implies WAIT.
       Default:  Selected files will be displayed at once; DM will be free
                 to continue with other operations.


@{b}Using the Reader:@{ub}
  Once the reader has loaded the file and opened its window, the first page of
text is displayed.  Aside from the system and scrolling gadgets, the reader
also responds to various keypresses.  These are detailed below:

@{b}Scrolling:@{ub}
@{b}Cursor Up@{ub}/@{b}Down@{ub}, @{b}Keypad 8@{ub}/@{b}2@{ub}:
Move the display up or down by one line.

@{b}Cursor Left@{ub}/@{b}Right@{ub}, @{b}Keypad 4@{ub}/@{b}6@{ub}:
Move the display left or right by one column.

@{b}Shift Cursor Up@{ub}/@{b}Down@{ub}, @{b}Shift Keypad 8@{ub}/@{b}2@{ub}, @{b}Keypad 9@{ub}/@{b}3@{ub}, @{b}BackSpace@{ub}/@{b}Space@{ub}:
Move the display up or down by one page.

@{b}Shift Cursor Left@{ub}/@{b}Right@{ub}, @{b}Shift Keypad 4@{ub}/@{b}6@{ub}:
Move the display left or right by one page.

@{b}Control Cursor Up@{ub}/@{b}Down@{ub}, @{b}Control Keypad 8@{ub}/@{b}2@{ub}, @{b}Keypad 7@{ub}/@{b}1@{ub}, @{b}t@{ub}/@{b}b@{ub}:
Move to the beginning or end of the file.

@{b}Control Cursor Left@{ub}/@{b}Right@{ub}, @{b}t Control Keypad 4@{ub}/@{b}6@{ub}:
Move as far left or right as possible.

@{b}Searching:@{ub}
@{b}s@{ub}, @{b}Shift s@{ub}:
  A requester opens, prompting for a pattern to search for.  The search begins
at the current line (@{b}s@{ub}), or the top line (@{b}shift s@{ub}), and continues until a
match is found or the end of the file is reached.  Successful matches will be
highlighted, and the reader will jump to the first line in which the search
pattern occurs.
  Searching is case-insensitive (a=A) by default.  The search pattern may be
up to 80 characters long, and may include the following special characters:
  @{b}?@{ub}          - Match any one character.
  @{b}$@{ub}          - The following characters are treated as a hexadecimal number,
               until a non-hex character is encountered.  Ex:  "$4A", "$100A".
  @{b}~@{ub}          - Toggles case-sensitivity (a<>A) on and off.
  @{b}\\@{ub}          - The character after the \\ is entered into the search pattern
                as-is, regardless of whether or not it usually has a special
                function.  Another use, seen in the last example, is to
                prevent characters from being included in a hex sequence.
      \\?          - "?" (the question mark isn't interpreted as a wildcard).
      \\$          - "$".  Ex:  "\\$AB" = "$AB", not character #171.
      \\~          - "~".
      \\\\          - "\\".
      $474F\\1234  - Pattern is "GO1234" (the \\ stops "1234" from being a
                    part of the hex sequence).

@{b}n@{ub} or @{b}c@{ub}, @{b}p@{ub}, @{b}Shift n@{ub} or @{b}Shift c@{ub}, @{b}Shift p@{ub}:
Find the next or previous occurence of the search pattern.  @{b}Shift n@{ub}/@{b}p@{ub} first
jumps a page forward/backward, and then searches.
*Note:  If the SEARCH keyword is being used and there are no more matches then
        the file will be closed and searching will resume.

@{b}Copy To Clipboard@{ub}:
@{b}Left Mouse Button@{ub}, @{b}Shift Left Mouse Button@{ub}:
  Mark text to copy to the clipboard.  While the LMB is depressed, moving the
mouse will highlight the text it passes over.  Once the LMB is released the
highlighted text will be copied into the clipboard (unit 0).
@{b}Shift LMB@{ub} activates "box clipping" - dragging the mouse defines a rectangular
block, and only thoe characters within the block are copied to the clipboard.
  To cancel the copy, move the pointer back to the character originally
clicked on (until the highlight box will disappears) and release the LMB.

@{b}Other Keys:@{ub}
@{b}q@{ub}, @{b}Keyapd 0@{ub}, @{b}Esc@{ub}, @{b}Control C@{ub}, @{b}Right Mouse Button@{ub}:
Close the current read-window.

@{b}h@{ub}, @{b}m@{ub}:
Toggle between hex and ASCII modes.

@{b}g@{ub}:
Go to line.  A requester will open, prompting you for the line to jump to.

@{b}F1 - F10@{ub}, @{b}Shift F1 - F10@{ub}:
Jump to, or set, a bookmark.  @{b}Shift F-Key@{ub} will store the current top line in
one of the ten bookmark slots.  Pressing the F-Key (without shift) will jump
to the stored line.
*Note:  The ASCII and hex display modes have seperate bookmark lists.  So,
        for example, pressing shift-F1 in hex mode will not affect the ASCII
        mode's F1 bookmark.

@{b}Tab@{ub}, @{b}Shift Tab@{ub}:
Cycle forward or backwards between reader windows.  The next (or previous)
window will be activated and brought to the front.

@{b}*@{ub}:
Cancels a WAIT.  The reader window remains open and DM is allowed to continue.


@{b}Examples:@{ub}
Read @{"%s" link "flags" 0}
  Displays the selected file(s).  If multiple files were selected they will be
displayed at once, and DM will be free to perform other operations.

Read @{"%s" link "flags" 0} WAIT
  Displays the selected file(s).  If multiple files were selected they will be
displayed one at a time, with a new file being opened only after the current
one is closed or "*" is pressed.

Read @{"%s" link "flags" 0} winx=20 winy=50 winw=640 winh=200
  Reads the selected file(s) using a 640 x 200 window which is 20 pixels from
the left edge of the screen and 50 from the top.

Read @{"%s" link "flags" 0} Hex FONT=cubic FSIZE=8
  Opens the reader in hexadecimal display mode, using the font Cubic 8.

Read @{"%s" link "flags" 0} SEARCH=bubblegum
  Searches the selected file(s) for the string "bubblegum".  Only those files
which contain "bubblegum" (any case) will be displayed.

Read @{"%s" link "flags" 0} SEARCH=~bubblegum
  Searches the selected file(s) for the string "bubblegum" (lowercase only).
Only the files which contain "bubblegum" in lowercase will be displayed.

Read @{"%s" link "flags" 0} wrap=80 SEARCH PUBSCR=WORKBENCH
  The reader opens on the Workbench screen, reading the selected file(s), and
pops up a requester asking for a search pattern.  ASCII lines longer than 80
characters are split.

Read @{"%s" link "flags" 0} SEARCH=G$4f4f\\D\\?
  The reader searches for "GOOD?" ("G", $4F="O", "D", \\? = "?").

Read @{"%s" link "flags" 0} SEARCH=~Te~st
  Searches for the string "Test".  Will only match when "T" is uppercase and
"e" is lowercase, but "s" and "t" may be either case.  "TesT" and "TeST" will
match, but "test" and "TEst" will not.
@endnode
@node "Recursion" "Recursion"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                Recursion
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Enables or disables recursion, allowing for functions
          to be performed on a directory without having it performed on the
          files within that directory.

@{b}Syntax:@{ub} Recursion ON|OFF

@{b}Arguments:@{ub}

@{b}ON:@{ub} Enables recursion.

@{b}OFF:@{ub} Disables recursion.

@{b}Example:@{ub}

 Recursion OFF;Rename @{"%s" link "flags" 0}

This will allow you to rename a directory, and will not attempt
to rename any files within that directory.

@endnode
@node "Rename" "Rename"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                 Rename
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Renames specified files and/or directories.

@{b}Syntax:@{ub} Rename <@{"file" link "file" 0}> [new]

@{b}Arguments:@{ub}

@{b}new:@{ub} The file's or directory's new name.
     Without this argument, a requester will open asking for the new name.

@{b}Example:@{ub}

 Rename @{"%s" link "flags" 0}

Opens a requester asking for the new name of each selected file.
The requester uses the old name as a default, allowing you to edit it.

@endnode
@node "ReqPattern" "ReqPattern"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                ReqPattern
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub}  Opens a requester asking for a pattern to be matched
           when directories are selected.  A default pattern, and custom
           text in the title bar and gadgets may be included.

@{b}Syntax:@{ub} ReqPattern "text" [@{"pattern" link "pattern" 0}] [Okay Abort Cancel]

@{b}Arguments:@{ub}

@{b}text:@{ub} Text to be displayed in the requester's title bar.
      If the text included spaces, it must be enclosed in quotes.

@{b}Okay Abort Cancel:@{ub} This requester is used for both recursive and
                   nonrecursive operations, and contains three gadgets.
                   The first gadget accepts the pattern and closes the
                   requester, the second gadget aborts the entire (recursive)
                   operation and the third aborts the current operation.
                   The text for each of the gadgets can be changed,
                   however their functions will remain the same.

@{b}Example:@{ub}

 ReqPattern "Please enter pattern" *.c

Requests pattern to be used in the current operation with "*.c" as the default.

@endnode
@node "Reset" "Reset"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                 Reset
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Resets DiskMaster to a primitive state
          in which it contains no windows or menus.
          By placing this command at the beginning of a script,
          a running DiskMaster can be completely re-configured.

@{b}Syntax:@{ub} Reset

@{b}Arguments:@{ub} None

@endnode
@node "REXX" "REXX"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                 REXX
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Executes the specified ARexx program or string.

@{b}Syntax:@{ub} REXX [file|"string"]

@{b}Arguments:@{ub}

@{b}file:@{ub} Name of ARexx program to be executed.

@{b}string:@{ub} ARexx command(s) to be executed.  The ARexx string must
be enclosed in quotes.

@{b}Examples:@{ub}

 REXX "parse arg x,say x" @{"%s" link "flags" 0}

Echoes each selected filename to the console window previously
opened with the "StdIO" command.

 Rexx FastDMView.rexx @{"%p" link "flags" 0}

Executes the Arexx-Script "FastDMView" providing the current path as argument.

@endnode
@node "Root" "Root"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                     Root
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Displays the root directory of the current window path.

@{b}Syntax:@{ub} Root

@{b}Arguments:@{ub} None

@endnode
@node "SaveConfig" "SaveConfig"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                  SaveConfig
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Saves a batch file that will recreate the current
          environment exactly.

@{b}Syntax:@{ub} SaveConfig [@{"file" link "file" 0}] [ICON]

@{b}Arguments:@{ub}

@{b}(no arg):@{ub} Opens a requester asking for the name of the file to
          be written or overwritten with the environment information.
          You have 128 bytes in the string-gadget to enter
          the full path and name.
          The file will be saved with an icon when you press the
          "Icon" gaget in the requester instead of "Continue".

@{b}file:@{ub} Name of file to be written or overwritten with the
      environment information.

@{b}ICON:@{ub} Specifies that an icon is to be provided for the saved file.
               Has to be the second argument and upper-case!

@{b}Example:@{ub}

 SaveConfig Startup.DM ICON

Saves the file as "Startup.DM" (with an icon).

 SaveConfig

A requester is asking you for a name of the Startup.DM that is to be saved.

@endnode
@node "ScrBack" "ScrBack"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                 ScrBack
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Pushes the DiskMaster screen behind other existing screens.

@{b}Syntax:@{ub} ScrBack

@{b}Arguments:@{ub} None

@endnode
@node "ScrFront" "ScrFront"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                  ScrFront
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Brings the DiskMaster screen to the front of other existing screens.

@{b}Syntax:@{ub} ScrFront

@{b}Arguments:@{ub} None

@endnode
@node "Select" "Select"
@REMARK .2
@{b}------------------------------------------------------------------------------
                                  Select
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Selects files and directories in the source window using
          specified pattern(s) based on DOS pattern-matching.
          This function is not case sensitive.

@{b}Syntax:@{ub} Select [@{"pattern" link "pattern" 0}] [pattern2] ... [pattern29]

@{b}Examples:@{ub}

 Select

Opens a requester asking for a pattern to match.

 Select #?

Selects all files and directories in the current window.

 Select #?.info

Selects all files and directories in the current window which end with ".info".

 Select #?.info #?.readme #?.nfo #?.diz #?.lha

Selects all files and directories in the current window which end with
".info", ".readme", ".nfo", ".diz" and ".lha".

 Select (#?.info|#?.readme|#?.nfo|#?.diz|#?.lha)

Does the same as the last line but a little bit more elegant and faster.

*hint - read your DOS manual to find out more about pattern-matching.
@endnode
@node "SetDate" "SetDate"
@REMARK .2
@{b}------------------------------------------------------------------------------
                             SetDate (@{"Recursive" link "recursive" 0})
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Changes the file date and time of the specified file(s).

@{b}Syntax:@{ub} SetDate [@{"file" link "file" 0}]

@{b}Arguments:@{ub} none

@{b}Example:@{ub}

 SetDate @{"%s" link "flags" 0}

Sets the date of all selected files in the source window to the
current time and date.

@endnode
@node "SetFormat" "SetFormat"
@REMARK .2
@{b}------------------------------------------------------------------------------
                                  SetFormat
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Specifies which, and in what order information is
          displayed in the file display windows.

@{b}Syntax:@{ub} SetFormat [N] [S] [T] [D] [M] [Y] [W] [A] [C] [Text]

@{b}Arguments:@{ub}

@{b}(no arg):@{ub} Opens a requester allowing you to edit the current format.

@{b}N:@{ub} File name
@{b}S:@{ub} File size
@{b}T:@{ub} Time
@{b}D:@{ub} Date
@{b}M:@{ub} Month
@{b}Y:@{ub} Year
@{b}W:@{ub} Day of week *removed in 2.5b7 when I converted the asm functions to C.
@{b}A:@{ub} File atributes (protection bits)
@{b}C:@{ub} File comment

@{b}Text:@{ub} Any text that is to be displayed along with the file information.

@{b}Examples:@{ub}

 SetFormat

Opens a requester allowing you to edit the current format.

 SetFormat "S N A T D-M-Y C"

Changes format to SIZE NAME ATTRIBUTES TIME DD-MMM-YY COMMENT

 SetFormat "NS C"

Changes format to SIZE NAME COMMENT

* The "Text" option is somewhat useless since even qouted characters
  will be interpreted - text without a/c/d/m/n/s/t/y works fine...
@endnode
@node "SetList" "SetList"
@REMARK .1
@{b}------------------------------------------------------------------------------
                               SetList @{b}(ARexx Only)@{ub}
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Displays items in a list in a file display window,
          allowing you to use it as an ARexx item selection window.
          Using @{"DirList" link "dirlist" 0}, the status of this list
          (selected/deselected) is returned to the ARexx program.

@{b}Syntax:@{ub} SetList <stem_name>

@{b}Arguments:@{ub}

@{b}stem_name:@{ub} The stem name of the list (defined in an ARexx program)
           to be displayed.  The list must be defined prior to
           issuing this command and must be in the following format:

           SList.1='One' SList.2='Two' SList.3='Three'

@{b}Example:@{ub}

 SetList SList

Displays the items in "SList" in the current file display window.

@endnode
@node "SetPattern" "SetPattern"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                SetPattern
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Sets the pattern for the current operation, overriding
          the pattern specified by "@{"ReqPattern" link "ReqPattern" 0}".

@{b}Syntax:@{ub} SetPattern @{"pattern" link "pattern" 0}

@{b}Example:@{ub}

 SetPattern *.c

Sets pattern for current operation to *.c.

@endnode
@node "SetPrinter" "SetPrinter"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                SetPrinter
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Opens the printer option requester, allowing you to
          change the current printer setup.

@{b}Syntax:@{ub} SetPrinter

@{b}Arguments:@{ub} None

* Isn`t the requester-layout awful? This is annother subject to change.

@endnode
@node "Single" "Single"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                 Single
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} This function tells the (@{"recursive" link "recursive" 0}) function to occur only once
          when activated, regardless of how many files are selected.

@{b}Syntax:@{ub} Single

@{b}Arguments:@{ub} None

@{b}Example:@{ub}

 Single;Delete %s

Would delete only one selected file, without deleting any
directory or its contents.

@endnode
@node "Sort" "Sort"
@REMARK .2
@{b}------------------------------------------------------------------------------
                                  Sort
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Changes the sorting method.

@{b}Syntax:@{ub} Sort [ N(-) | S(-) | D(-) | C(-) | F | T ] [G]

@{b}Arguments:@{ub}

@{b}N@{ub}: Sorts the active window by name.

@{b}N-@{ub}: Sorts the active window by name in reverse order.

@{b}S@{ub} Sorts the active window by size, smallest file displayed first.

@{b}S-@{ub}: Sorts the active window by by size, biggest file displayed first.

@{b}D@{ub}: Sorts the active window by date, oldest file first.

@{b}D-@{ub}: Sorts the active window by date, newest file first.

@{b}C@{ub}: Sorts the active window by comment.

@{b}C-@{ub}: Sorts the active window by comment in reverse order.

@{b}T@{ub}: Toggles the sort-mode from the current-one to the next.
   The order is NSDC.
   It will keep the direction and you can`t toggle in or out
   of the 'F' mode.

In all these modes, the drawers are always on top of the lists.

@{b}F@{ub}: Disables all sorting, added for testing purposes.
   Will be removed in a future release.

@{b}G@{ub}: Global-Flag, resets all windows to the same sort-type.

@{b}Examples:@{ub}

 Sort N

The active window will be sorted by name.

 Sort S-

The active window will be sorted by size, biggest file first.

 Sort D G

All windows will be sorted by date, oldest file first.

 Sort G

All windows will be sorted by the last selected sort-type.

 Sort T

The active window will be sorted by the next mode in line.
If it has been sorted by name it will be sorted by size then.
@endnode
@node "Status" "Status"
@REMARK .1
@{b}------------------------------------------------------------------------------
                               Status @{b}(ARexx Only)@{ub}
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Returns string in result for ARexx programs.

@{b}Syntax:@{ub} Status <D|E|F|H|P|S|V|W>

@{b}Arguments:@{ub}

@{b}D:@{ub} Returns the current destination path.

@{b}E:@{ub} Returns the amount of files within the source window.

@{b}F:@{ub} Returns the current file display format.

@{b}H:@{ub} Returns the host screen name or the name of the public screen
   that is identical with the port-name and the task-name.

@{b}P:@{ub} Returns the current path of the source window.

@{b}S:@{ub} Returns the amount of selected files within the source window.

@{b}V:@{ub} Returns "DiskMaster 3.4" or whatever the current version is.

@{b}W:@{ub} Returns the number of the window currently active.

@{b}Example:@{ub}

 Status P

@endnode
@node "StdIO" "StdIO"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                 StdIO
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Opens or closes an Input/Output window to allow
          interaction with external program.

@{b}Syntax:@{ub} StdIO [filespec] [CLOSE]

@{b}Arguments:@{ub}

@{b}filespec:@{ub} Standard console window information such as the
          console handler, window dimensions and window title.

@{b}Close:@{ub} Closes previously opened I/O window.
       This argument may appear at the end of the command string which
       opened the I/O window.

@{b}Examples:@{ub}

 StdIO "CON:240/20/260/40/DiskMaster I/O"

Opens a console window.

 StdIO CLOSE

Closes the window.

Note: The I/O window opened by DiskMaster is NOT a CLI window.
It is available to provide a method of program interaction for those programs
which such, but do not supply their own method of communication.

* This function will add an "/SCREENDM.n" automatically to your StdIO string
to make sure that the window will allways open on the right screen.

@endnode
@node "Swap" "Swap"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                  Swap
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Swaps the directory paths between two windows.

@{b}Syntax:@{ub} Swap [ID]

@{b}Arguments:@{ub}

@{b}ID:@{ub} An optional number to identify the window that swaps it`s
             path with the source window.

@{b}Examples:@{ub}

 Swap

This will swap the directory paths between source and destination window.

 Swap 0

This will swap the directory paths of the source-window and the window
with the number '0' as long it`s existing and not the CMD window.

 Swap 240

Will likely swap the directory paths between source and destination window
as no-one will have 240 windows opened...

@endnode
@node "SwapSelect" "SwapSelect"
@REMARK .1
@{b}------------------------------------------------------------------------------
                              SwapSelect
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Simply toggles all files from selected state to
          deselected state and vice versa.

          Purpose: When you have a large list of files and wish to
                   manipulate the most of them you may now select only
                   those files you don`t want to Copy/Move/Delete or
                   whatsoever and call 'SwapSel'.

@{b}Syntax:@{ub} SwapSel

@{b}Arguments:@{ub} None

* This is kind of experimental, it may become part of @{"Select" link "Select" 0}
  in a future release.

@endnode
@node "TitleFormat" "TitleFormat"
@REMARK .2
@{b}------------------------------------------------------------------------------
                                TitleFormat
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Specifies which, and in what order information is
          displayed in the file display window title bar.

@{b}Syntax:@{ub} TitleFormat [%A] [%B] [%C] [%F] [%I] [Text]

@{b}Arguments:@{ub}

@{b}%A:@{ub} The tïtal amount of file`s sizes in a dir.

@{b}%B:@{ub} Total number of bytes in the selected files.

@{b}%C:@{ub} Number of files in directory.

@{b}%F:@{ub} Amount of available (free) space on the disk.

@{b}%I:@{ub} Number of files selected in the window.

@{b}Text:@{ub} Any text that you may want to display in the window title bar.

@{b}Examples:@{ub}

 TitleFormat "Selected: %I of %C files totaling %B out of %A in dir"

Displays a mixture of text and system information resulting in a
window title bar that may appear as below:

@{b}Selected: 5 of 20 files totaling 24674 B out of 142 K in dir@{ub}

 TitleFormat "%B/%F  %I/%C  %A"

All information in a more compact way:

@{b}24674 B/233 M  5/20  142 K@{ub}

* There`s a @{"Bug" link "Bugs" 63} in DM2`s main parser!

@endnode
@node "UnLock" "UnLock"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                 UnLock
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Unlocks the selected window, or all windows.

@{b}Syntax:@{ub} UnLock [ALL]

@{b}Arguments:@{ub}

@{b}(no arg):@{ub} Unlocks the currently selected window.

@{b}ALL:@{ub} Unlocks all windows.

@endnode
@node "UnMark" "UnMark"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                UnMark
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Enables or Disables automatic deselection of files during operations.
          This feature allows multiple operations to be performed
          on a set of selected files without the need of
          re-selecting them after each operation.

@{b}Syntax:@{ub}  UnMark [ON|OFF]

@{b}Arguments:@{ub}

@{b}ON:@{ub} Enables deselection.

@{b}OFF:@{ub} Disables deselection.

@{b}Example:@{ub}

 UnMark OFF;Copy @{"%s" link "flags" 0} @{"%d" link "flags" 0}

Copies all selected files without deselecting them.

@endnode
@node "Unpack" "Unpack"
@REMARK .2
@{b}------------------------------------------------------------------------------
                             Unpack (@{"Recursive" link "recursive" 0})
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Decompress a file.
*Note:  This function requires xfdmaster.library v37 or above.
*Note:  Unpack has been completely rewritten for 2.5b6.  Many differences
        exist between this and the original version.

@{b}Syntax:@{ub} Unpack <@{"file" link "file" 0}> [TO @{"<dest>" link "dest"}] [KEEPORIG]

@{b}Arguments:@{ub}
@{b}TO@{ub}:  Where to store The new, decompressed file.  This may be a path, a full
     path/name, or a DiskMaster @{"flag" link "flags"} such as @{"%d" link "flags"}.
     Default:  Same directory/name as the source file.

@{b}KEEPORIG@{ub}:  The original, compressed file is not deleted.  An ".old"
           suffix will be appended if the decompressed file has the same name
           as the original.
           Default:  The original file is deleted if Unpack succeeds.


@{b}Examples:@{ub}
Unpack @{"%s" link "flags" 0}
  The selected file is unpacked, overwriting the original file.

Unpack @{"%s" link "flags" 0} TO @{"%d" link "flags"} KEEPORIG
  The selected file is decrunched and saved to the @{"%d" link "flags"} directory.   The
decompressed file has the same name as the original.  The original file is
not deleted.
@endnode
@node "View" "View"
@REMARK .2
@{b}------------------------------------------------------------------------------
                                  View
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} A simple datatypes viewer.
          It calls Amigaguide.library to open the file you selected.
          This means you are able to view all files you have a valid
          datatype for under OS V39 and up.
          With OS V38 you can only read amigaguide-documents.

@{b}Syntax:@{ub} View [@{"file" link "file" 0}]

@{b}Examples:@{ub}

AddMenu GFX, View, View @{"%s" link "flags" 0}

Defines a menu-entry that enables you to view all kind of files on demand.

AddAutoCmd @database,View @{"%s" link "flags" 0}

Defines an autocommand that reacts on double-clicked .guide files.

AddAutoCmd DEFAULT,View @{"%s" link "flags" 0}

Defines an autocommand that reacts on all double-clicked files you
haven`t defined a special auto-command for.

* This is the first step to give you back both 'ShowPic' and 'Play'.
@endnode
@node "Wait" "Wait"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                  Wait
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Causes a timed delay or a cued delay.

@{b}Syntax:@{ub} Wait [seconds|text]

@{b}Arguments:@{ub}

@{b}(no arg):@{ub} Asks user to press [return] (A StdIO window must be open)

@{b}seconds:@{ub}  The number of seconds to wait before proceeding with
          the remainder of the command string.

@{b}text:@{ub} The text that will remind the user to press [return].

@{b}Examples:@{ub}

 Wait 4

Waits for 4 seconds.

 Wait "Please press RETURN.....NOW!"

Waits untill the user has pressed the [return] key.

@endnode
@node "Window" "Window"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                Window
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Selects a window, making it the source window.

@{b}Syntax:@{ub} Window <Path|Dest|Next>

@{b}Arguments:@{ub}

@{b}Path:@{ub} An AmigaDOS path.
      The window that matches the specified path will be selected.

@{b}Dest:@{ub} Selects the destination window.

@{b}Next:@{ub} Selects the window which appears as the next window in the list.

@endnode
@node "removed" "These are gone now..."
@REMARK .3
@{b}------------------------------------------------------------------------------
                      Removed functions since 2.1c:
------------------------------------------------------------------------------@{ub}

Removed in 2.2b2 :
                      @{"    DiskCopy    " link "DiskCopy" 0}
                      @{"     Format     " link "Format" 0}
                      @{"      Play      " link "Play" 0}
Removed in 2.2b3 :
                      @{"  Backpattern   " link "Backpattern" 0}
                      @{"    ShowPic     " link "ShowPic" 0}
Removed in 2.5b5 :
                      @{"      Print     " link "Print" 0}
                      @{"   SetPrinter   " link "SetPrinter" 0}
Removed in 2.5b7 :
                      @{"   OpenScreen   " link "OpenScreen" 0}
@endnode
@node "Play" "Play"
@REMARK .2
@{b}------------------------------------------------------------------------------
                                  Play
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Play a music module.

* removed in 2.2b2 - use @{"View" link "View" 0} now.

@endnode
@node "DiskCopy" "DiskCopy"
@REMARK .2
@{b}------------------------------------------------------------------------------
                                DiskCopy
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Performs sector copy from source floppy disk to destination
          floppy disk(s).

* removed in 2.2b2

@endnode
@node "Filestat" "Filestat"
@REMARK .1
@{b}------------------------------------------------------------------------------
                              Filestat (ARexx only)
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Give information about the file in question.

@{b}Syntax:@{ub} WinInfo <file> [var]

@{b}Arguments:@{ub}

@{b}file:@{ub} A valid filename with complete path to it.

@{b}var:@{ub} Change the base name of the stem var from LIST to whatever
     you specify within the next argument.


Arexx vars that are always filled with information:

@{b}LIST:@{ub} Contains "-1" when the file was not found,
      "0" if the file exists and "1" if it`s a dir.
      Alternatively the ARexx internal stem RESULT
      also holds the return value.

@{b}LIST.COMMENT:@{ub} Contains the file`s comment.

@{b}LIST.DATE:@{ub} Contains the file`s date in days from jan 1st 1978.

@{b}LIST.PROTECT:@{ub} Contains the file`s protection bits.

@{b}LIST.SIZE:@{ub} Contains the file`s size.


@{b}Examples:@{ub}

-----
address DM.1
Filestat 'c:list'
say LIST.COMMENT LIST.DATE LIST.SIZE LIST.PROTECT
-----

Print out the file-data for "c:list".

-----
address DM.1
Filestat 'c:list' var boing
say BOING.COMMENT BOING.DATE BOING.SIZE BOING.PROTECT
- ---

Print out the file-data for "c:list" out of the var "BOING".

-----
address DM.1
filestat 'c:novalidfileofthisname'
say LIST
-----

Print out "-1" as the file could not be found.

----
adress DM.1
filestat 'c:list'
say result
say list
----

Will most probably print out:

1
1

----
adress DM.1
filestat 'c:novalidfileofthisname'
say list
say result
----

Will print out:

-1
1

This is because "result" will always return the last op`s status.

@endnode
@node "Expand" "Expand"
@REMARK .2
@{b}------------------------------------------------------------------------------
                                  Expand
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Specifies whether the expanded AmigaDOS volume and path names or
          unexpanded device names will be used to display directory paths.

@{b}Syntax:@{ub} Expand [ON|OFF]

@{b}Arguments:@{ub}

@{b}(no arg):@{ub} Toggles between the two modes.

@{b}ON:@{ub} Specifies that all paths are to be expanded to their fullest.

@{b}OFF:@{ub} Specifies that physical and logical device names will be used as
     part of the directory path.

@{b}Example:@{ub}

 Expand ON

Tells DiskMaster to expand all path names.
@endnode
@node "Format" "Format"
@REMARK .2
@{b}------------------------------------------------------------------------------
                                  Format
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Formats one or more floppy disks.

* removed in 2.2b2

@endnode
@node "Backpattern" "Backpattern"
@REMARK .2
@{b}------------------------------------------------------------------------------
                              Backpattern
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Loads any size IFF ILBM as a pattern.

* removed in 2.2b3
@endnode
@node "ShowPic" "ShowPic"
@REMARK .2
@{b}------------------------------------------------------------------------------
                              ShowPic (@{"Recursive" link "recursive" 0})
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Displays IFF ILBM picture files, or plays IFF 8SVX sound files.

* removed in 2.2b3 - use @{"View" link "View" 0} now.
@endnode
@node "flags" "Flags"
@REMARK .1
@{b}------------------------------------------------------------------------------
                               DiskMaster Flags
------------------------------------------------------------------------------@{ub}

%a - The name of the ARexx-port / public-screen / task.
%d - The destination path.
%n - The name of a file or directory.
%p - The source path.
%r - The string from a requester. (also returned in RESULT for ARexx)
%s - The selected file or drawer with full path.

@endnode
@node "cmd" "Command"
@REMARK .1
@{b}------------------------------------------------------------------------------
                              The "Command" Keyword
------------------------------------------------------------------------------@{ub}

@{b}command:@{ub} The command-string DiskMaster will execute when you selected an
         option from the menu or the CommandWindow, when you double-clicked
         a file and it matched with one of the AutoCommands
         or when you press a key for a Key-Command.

The string may contain several internal or external functions seperated by ";".

@endnode
@node "file" "File"
@REMARK .1
@{b}------------------------------------------------------------------------------
                            The "File" Keyword
------------------------------------------------------------------------------@{ub}

@{b}file:@{ub} The file or drawer you selected to perform a function on.
      This could be provided absolute or as @{"%s" link "flags" 0}.

@endnode
@node "pattern" "Pattern"
@REMARK .1
@{b}------------------------------------------------------------------------------
                            The "Pattern" Keyword
------------------------------------------------------------------------------@{ub}

@{b}pattern:@{ub} Any printable text may be used as the pattern to be matched.
         The wild card characters "?" (single unknown) and "*" (multiple
         unknown) may also be used.

@endnode
@node "dest" "dest"
@REMARK .1
@{b}------------------------------------------------------------------------------
                            The "dest" Keyword
------------------------------------------------------------------------------@{ub}

@{b}dest:@{ub} The destination path.
      The @{"%d" link "flags" 0} flag may be used in place of this argument to specify
      that the path specified by the destination window is to be used.

@endnode
@node "xrename" "xrename"
@REMARK .1
@{b}------------------------------------------------------------------------------
                              [Rename]
------------------------------------------------------------------------------@{ub}

@{b}Rename:@{ub} If this flag is set, a requester will ask for the name
        that is to be set for the copy of the file.

        Notice well that this requester has three gadgets:

        "OK" "Abort" "Cancel"

        Pressing "OK" or >Enter< confirms that you agree with the displayed name.

        Pressing "Abort" stops the whole action - nothing gets copied/moved anymore.

        Pressing "Cancel" just quits the rename-requester so the file will
        be copied/moved under it`s original name.


@endnode
@node "recursive" "Recursive"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                 Recursive
------------------------------------------------------------------------------@{ub}

Functions marked as "Recursive" will work on all selected files and
all files in selected directories by being invoked untill the function
was performed on all of them.

When you have five files selected and perform the @{"Comment" link "Comment" 0} function
on them, then the requester will pop up five times to let you enter the comment
for the selected file in the row.

* The default-setting for "comment" is:

AddCMD Comment, Comment,Recurse OFF;Comment @{"%s" link "flags" 0}

So you won`t be able to set the comments for files within a selected drawer.
Otherwise you are able to set a comment for a selected drawer.

@endnode
@node "Keyboard" "Hackin` da keyz..."
@REMARK .1
@{b}------------------------------------------------------------------------------
                These keys are already in use by DM2:
------------------------------------------------------------------------------@{ub}

Escape - use it to abort operations.

Tab    - just ignored so far.

Cursor up/down/left/right - use them for scrolling the windows.

Numeric Keypad up/down/left/right/Home/End/Page Up/Page Down - as above.


@endnode
@node "Dist" "The goodies included..."
@REMARK .1
@{b}------------------------------------------------------------------------------
                You should find these files in the archive:
------------------------------------------------------------------------------@{ub}

@{"C" link "cdir" 0}
@{"Icons" link "Icondir" 0}
@{"Rexx" link "scripts" 0}
DM2               61292 Bytes 2.4 - The actual binary.
DM2.guide        152991 Bytes 1.85 - The document you are currently reading.
DM2.guide.info     1576 Bytes - The Original Icon
DM2.info           1567 Bytes - A nice magic WB icon,
                                provided by Eddie Ivanov (eivanov@tfs.net)
MyStartup.dm       9851 Bytes 2.34

My very own Startup.DM provided as example on how DM2 could look like.

MyStartup.DM.info   850 Bytes - A non-lace Icon I created using the original.

Versions.txt      14105 Bytes - older version info removed from the guide.

@endnode
@node "cdir" "Tiny but usefull..."
@REMARK .1
@{b}------------------------------------------------------------------------------
                            Small little helpers:
------------------------------------------------------------------------------@{ub}

Head   388 Bytes 1.0 - by Synthetic/Incal

@{b}Head@{ub}:

This was written for me by a friend some years ago.
Usage: Head %s
Result: The first 2048 bytes of the given file are copied to ram:head
Purpose: Allows a fast sneak into binaries with DiskMaster

@endnode
@node "Icondir" "Look at these!"
@REMARK .1
@{b}------------------------------------------------------------------------------
                              Alternative Icons:
------------------------------------------------------------------------------@{ub}

DM2_Pat_Giever.info  1657 Bytes - Drawn by Pat Giever,
             I received this Icon from Clay Alberts <clay@umcc.umcc.umich.edu>

@endnode
@node "scripts" "Arexx-Magic"
@REMARK .1
@{b}------------------------------------------------------------------------------
                           ARexx-Scripts included:
------------------------------------------------------------------------------@{ub}

AssignList.rexx     1723 Bytes     by @{b}Steven D. Kapplin@{ub}
DM-Vir.DM           2765 Bytes 1.1 by @{b}Inorix Scripts (Jan-willem van Eys)@{ub}
DMSpopper.rexx      1162 Bytes 1.0 by @{"Rudolph Riedel" link "Slave" 0}
FastDMView.rexx      680 Bytes 3.0 by @{"Rudolph Riedel" link "Slave" 0}
FileShow.rexx       9000 Bytes 3.1 by @{b}Inorix Scripts (Jan-willem van Eys)@{ub}
Sub_FileRecog.REXX  3344 Bytes 2.8 by @{b}Inorix Scripts (Jan-willem van Eys)@{ub}
WindowTest.rexx      246 Bytes 2.0 by @{"Rudolph Riedel" link "Slave" 0}
Parents.dmrx        2147 Bytes 1.3 by @{b}Nils Goers@{ub}
VisageDMSlide.dmrx  1117 Bytes 1.0 by @{b}Nils Goers@{ub}


Some scripts from @{"Jody Tierney" link "SmegHead" 0}:

All scripts have instructions at the top of the file.
Scripts with names not beginning with "DM" do not require DiskMaster II
to work.

Script                  Function
----------------------  -------------------------------------------------------
ArcMast.rexx            Extract, List, and test many types of archives.

ArcTrans.rexx           Transform archives to either LZX or LHA.
                        Requires:  ArcMast.rexx, RexxReqTools.library.

Decrunch.rexx           Uses XFDDecrunch to decrunch files.  Removes ".pp" and
                        ".xpk" extensions from the decrunched files.

Duplicate.rexx          Copies the selected file, adding a ".dup" extension.

DMCommAll.rexx          All selected files recieve the same comment.
                        Requires:  RexxReqTools.library.

DMIntCmtAll.rexx        Same as DM2CommAll.rexx, but doesn't use
                        RexxReqTools.library.

DMCopyChkVer.rexx       Copies selected files to Dest, first comparing version
                        strings if the same file exists in Dest.
                        Requires:  DoVer, RexxReqTools.library.

DMCopyCmt.rexx          All selected files in the Dest dir recieve the same
                        comment as the first selected file in the Source
                        window.

DMDest2Source.rexx      Change Dest (or open a new win.) to either Source's
                        path or Source's parent.

DMDirLevel.rexx         Change to a new dir level (root, 1 level below root,
                        etc.)  New dir list can appear in Source, Dest, or a
                        new window.
                        Ex:  Current dir = "X-Files:Text/HomePage/prgs"
                             Dir level 1 = "X-Files:Text"

DMExecOnMany.rexx       Execute a command on many selected files.  The min. (0
                        or 1) and max. number of files to allow can be set.

DMFilter.rexx           Display only files which match a certain pattern.

DMFontsToo.rexx         Selects the ".font", ".metric", and ".otag" files (if
                        any) for all selected files.

DMIBrowse2CmtURL.rexx   IBrowse goes to the URL contained in the selected
                        file's comment.

DMIBrowseShowFile.rexx  Tells IBrowse to open the selected file.

DMIconsToo.rexx         Selects the ".info" files (if any) for all selected
                        files.

DMLZXList2Win.rexx      List an LZX archive to a window (Source, Dest, or a new
                        win).

DMLZXSelExt.rexx        Extract selected files from an LZX archive listed with
                        DMLZXList2Win.rexx.

DMMultiExec.rexx        Execute a command on all selected files.

DMMultiRename.rexx      Rename all selected files in a similar manner, possibly
                        stripping file extensions and adding index numbers.

DMNameCmp.rexx          Selects files in the Source dir whose names exist in .
                        the Dest dir.

DMSelect.rexx           The same as DM's Select and DeSelect commands, except
                        that the pattern is remembered for the next use.

DMSelectByCmt.rexx      Selects files based on their comments.

DMSelectByDate.rexx     Selects files according to their dates.

DMSizeCmp.rexx          Sorts the Source dir by size, then selects all files
                        which are the same size.

DMTextSearch.rexx       Searches selected files (or the whole dir) for a string
                        pattern.

DMVirusCheck.rexx       Scans the Source dir for virii using Virus Checker II.

TTM-DM2LoadIcon.rexx    Opens a TTManager window for all selected files.



@{b}AssignList.rexx@{ub} :

AssignList.rexx - DiskMaster utility to get assign an create new command
window which contains a listing of all mounted volumes and assigns.
When you click on any items in the list a new DM window will open
with a listing of the directory for the selected device or assign.
Makes it easier to navigate through you hard drive system.
You may also add additional devices which may not show up in
the lists produced by ARexx's showlist() function.


@{b}DM-Vir.DM@{ub} :

Intelligent Viruskiller script for DiskMaster II.
It will check for running Virus_Checker v7.18+ or VirusZ II v1.33+.
If neither is running, it will start one.


@{b}DMSpopper.rexx@{ub} :

An example script to show the power of ARexx.
It opens a new command window for special treatment of autodetected DMS files.


@{b}FastDMView.rexx@{ub} :

A multi-selection script for FastView.
FastView has the ability to load and process as much pictures as there
is space in your memory.
The bad thing is that DM has no multi-selection feature and FastView`s
command line is restricted to 256 Bytes in length.
So this script is the solution.


@{b}FileShow.rexx@{ub} :

A File_ID.diz extractor for DiskMaster II


@{b}Sub_FileRecog.REXX@{ub} :

FileRecog subroutine

FR_T clip : Filetype
FR_S clip : Short type identifier
FR_I clip : first 48 chars as hex string

 Known filetypes:
 ----------------
 Archives: LZH,LHA,LHA-SFX,LZX,ZIP,ARC,RAR,ARJ,DMS,Zoom,XMash,XArchive,
           PackDev.
 Packed  : XPK,PP20.
 Images  : GIF,JPEG,IFF,ANIM.
 Sound   : WAVE,8SVX.
 Other   : EXE,ICON,GUIDE,IntroCAD.
 IFF     : ILBM,ANIM,8SVX,CTLG,PREF,CDAF,FAXX,STFax.


@{b}WindowTest.rexx@{ub} :

Just an example for the functions introduced in 2.2b8 .

Add "AddMenu Test, WinRexx, Rexx WindowTest.rexx %a" to your Startup.DM .


@{b}Parents.dmrx@{ub} :

opens a rexxtricks.library listview window on DM screen with
the subdirs and assign-ADDs from the directory displayed in
the source window. For example my LIBS: assign:

HardDisk:LibsNew
  + HardDisk:Libs
  + HardDisk:Classes
  + HardDisk:Program/MUI/Libs
HardDisk:


@{b}VisageDMSlide.dmrx@{ub} :

is a picture display and slideshow script without swapping between pictures
and DiskMaster screen and correct subdir support (also see FastDMView.rexx)


@{b}DMFilter.rexx@{ub} :

Purpose:  Filters the source directory to display only certain files.

Usage:  DMFilter.rexx [pattern]

pattern - Only files matching this pattern will be displayed.
          If no pattern is given, a requester will pop up asking for
          one.

Note:  To get a complete listing again, either "NewDir %p", call
       DMFilter.rexx again with a pattern of "*", or activate the window's
       string gadget and press <RETURN>.

Examples:
          AddCmd Filter, 10, REXX DMFilter.rexx

          AddCmd Only Icons, 10, REXX DMFilter.rexx *.info

@endnode
@node "Tools" "All the little helpers listed..."
@REMARK .1
@{b}------------------------------------------------------------------------------
      This tells more about all the little extra utilities beeing used:
------------------------------------------------------------------------------@{ub}

Most of the tools I use to expand the capabilities of DM
could be found on aminet.
Nevertheless I`ll try to give you more information on all these little
helpers like the complete path on aminet and the version numbers.

@{b}FTPMount@{ub}: Mounts FTP sites as part of a filesystem.
          Version: 1.0
          Path:    Aminet/comm/tcp/FTPMount_1_0.lha

@{b}HTMLess@{ub}:  Converts HTML to standard text files.
          Version: 2.5
          Path:    Aminet/text/hyper/htmless.lha
          Usage:   Extern HTMLess -w %s

From @{b}Fredrik Ismyren@{ub}:

@{b}Den6@{ub}:     Small readable 7x6 font for 640x256 WB.
          It's perfect for Diskmaster!
          Version: 1.0
          Path:    Aminet/text/font/den6.lzh
                   (Didn't find it in Scandinavia!?)
                   * Also available on Aminet CD 8.

@{b}FiDED@{ub}:    Creates dirfiles from File_ID.diz information.
          Version: 39.503
          Path:    Aminet/comm/misc/FiDED39503.lha

@{b}Nuke@{ub}:     This small program is a secure "delete" command.
          Secure means that the file is physically destroyed
          and cannot be recovered in any way.
          Version: 1.0
          Path:    Aminet/util/sys/Nuke10.lha

@{b}Swipe@{ub}:    A replacement for the "Delete" command which is
          able to remove assigns and to clear the RAM-disk while
          leaving the system directories intact.
          Version: 1.56
          Path:    Aminet/util/sys/Swipe1.56.lha

* please note that these may not the latest versions...

@endnode
@node "Home" "Where in the world is DM2..."
@REMARK .3
@{b}------------------------------------------------------------------------------
	                    Here you find DiskMaster:
------------------------------------------------------------------------------@{ub}

Aminet/util/dir  - The actual and complete distribution

comp.sys.amiga.binary  - I gave permission to release DM2 in this group.
			
http://home.t-online.de/home/rudolph-riedel

            - Online since january 2000
            - Always holds the actual beta as well as the
              translators version of the guide.
@endnode
@node "Bugs" "Bugs"
@REMARK .3
@{b}------------------------------------------------------------------------------
                 These are the known Bugs in DiskMaster
------------------------------------------------------------------------------@{ub}

I can`t answer all your mails anymore but I will react on them,
so please keep this mails as short as necessary, thank you.

And please try to be precise.
An "I think there once was a bug when I tried something like this..."
is not very helpfull.

- not 100% C -> even more work to make it portable to AROS or the like.

- When you start DM without "NewScreen" in your Startup.DM,
  DM will open on the WB, this is OK.
  But when you select "NewScreen" from an window then,
  the screen will open but DM won`t move to it`s new home.

- Something like "%s.x" is ignored on the command line.
  Reported by Rainer Koppler (rk@gup.uni-linz.ac.at).

- PATH`s added with the PATH command during startup-sequence
  are not recognized by DM.
  Reported by Nils Goers (N.Goers@Art-line.de).

  Workbench processes do not support the PATH, launch DM from
  a shell and it will work the way you expect it to.

- Pressing "ESC" while DM is doing nothing but waiting will deactivate
  the "S"/"P" buttons untill the next command is executed.
  Reported by Andre' Vellori.
  Hey, looks like this bug is really old.

- 'Makedir' is limited to paths with 255 bytes in length total.
  This limitation is caused by the OS`s BCPL strings and there
  is only one workaround - call CurrentDir() to always use
  relative path-handling.
  And this is not very easy to implement afterways...

- The dir-buffering is somewhat broken as it may happen that
  two windows with the same dir won`t get updated as well as you
  can`t have different (filtered) filelists in these two.

- The main parser tries to parse the arguments for
  @{"BarFormat" link "BarFormat" 0} and @{"TitleFormat" link "TitleFormat" 0}
  when you have an argument at the very begin of your line that is
  identicle with one of the @{"flags" link "flags" 0}.
  Example:

  Barformat "%a xxxxx"

  This will cause DM2 to hang.
  To avoid this just insert a space at the begin of your line:

  Barformat " %a xxxxx"

- When removing a disk DM2 is listing in it`s window the icon
  stays on the WB.

  This is due to bugs in StartNotify() / EndNotify().
  The only way to get around this would be to detect a disk-change
  before it actually happens...
  Therefore this feature is turned off by default.

@endnode
@node "wish" "You want it?"
@REMARK .5
@{b}------------------------------------------------------------------------------
                   What features do you like to see in DM?
------------------------------------------------------------------------------@{ub}

If you have any ideas on how DM could be improved,
then send a mail to @{"Jody Tierney" link "SmegHead" 0}!
But please read the guide carefully before.

Last Update:  20-Nov-00


New:      03.59
          03.60
          04.16
          05.29
          09.37

Removed:

-----------------------

Sections:  S01.  ARexx - Existing Commands
           S02.  ARexx - New Commands
           S03.  Commands - Existing
           S04.  Commands - New
           S05.  Dir. Windows
           S06.  Flags
           S07.  Keyboard
           S08.  Menus
           S09.  Misc.
           S10.  Text Viewer.


Abbreviations:
- <name(s)>    - This/these person(s) made this suggestion.
2-<name(s)>    - This/these person(s) also supported this idea.
[<text>  - J.] - My own comments.
[D.Q.]         - A direct quote; it either speaks for itself, or I wasn't sure
                 how to paraphrase it.  :-)
(ID:  ##.##)   - The suggestion's ID number, for voting.
w/             - with.
w/in           - within.
w/o            - without.



S01.  ARexx - Existing Commands
===============================
DirList
  - list.path = Dir window's path, with trailing "/" if necessary.

    - Jody Tierney <jtierney@cyberlink-inc.com>
    (ID:  01.18)

  - Arg to select which window is listed; source (default), dest, next, or
   <window ID>
   Ex:  DirList WIN DEST

    -  Jody Tierney <jtierney@cyberlink-inc.com>
    2- Nils Goers <nils@goers.line.org>
    (ID:  01.19)


SetList
  Template:  SetList <stem> [RealDir <path>]
    <stem>  - Var containing data for the dir window.  <stem> should have the
             same structure as DirList's LIST var (eg <stem>.sel.x,
             <stem>.dir.x, etc.)

    RealDir - Treat the window as a valid directory.  <path> is displayed in
             the window's path gadget.

    - Jody Tierney <jtierney@cyberlink-inc.com>
    (ID:  01.17)


Status
  P - Include trailing "/" when appropriate.

    -  Hannu Nevalainen <henk@it.kth.se>
    2- Nils Goers <nils@goers.line.org>
     - Jody Tierney <jtierney@cyberlink-inc.com>
  (ID:  01.20)

  P<ID> - Return path of window # <ID>.
  Ex:  Status P3 ; SAY result -> "Work:Utils/"
  (ID:  01.07)

  S[id] - Return a window's amount of free disk space.  Or all of the
         TitleFormat info. in a _fixed_ format.

         [id] - "S" - Source window.  Default.
                "D" - Destination window.
                <n> - Window ID number.
  (ID:  01.08)

  WL    - Return IDs of open windows.
  Ex:  Status WL ; SAY result -> "1 3 4"
  (ID:  01.09)

  W<ID> - Return window info (x, y, w, h, path) of window #<ID>.  CON: style.
  Ex:  Status W3 ; SAY result -> "10/10/120/120/DH0:WBStartup/"
  (ID:  01.10)

    - Hannu Nevalainen <henk@it.kth.se>

  - Remake Status <character> into Status <Keyword>, & have all easily
   accessable information available for request.

    - Hannu Nevalainen <henk@it.kth.se>
    (ID:  01.12)


  - Return the path/name of the <StartUp.dm>-script currently in use.

    - Hannu Nevalainen <henk@it.kth.se>
    (ID:  01.21)



S02.  ARexx - New Commands
==========================
ARexx
  Purpose:  Run ARexx scripts asynchronously.

  - Hannu Nevalainen <henk@it.kth.se>
  (ID:  02.01)



S03.  Commands - Existing
=========================
AddAutoCmd
  - Hex recognition.

    -  Nils Goers <nils@goers.line.org>
    2- Fabrizio Bartoloni <Lanch@dns.caribusiness.it>
    (ID:  03.01)


AddCommand
  Ability to also specify keyboard shortcuts.

  - Karen Lindsey <ksl@usa.net>
  (ID:  03.02)


BarFormat
  - Option to display years as 4 characters or two, "2000" or "00".

    - Bablos <bablos@cableinet.co.uk>
    (ID 03.54)

  - Mem sizes (%C, %F, %P) in the new-style format (like TitleFormat sizes).
    - Jean Marie Boucher <boucher21@caramail.com>
    (ID:  03.58)


CloseWindow
  Template:  CloseWindow [number] [ALL]
  Purpose:   Option to close all open windows.

  - Hannu Nevalainen <henk@it.kth.se>
  (ID:  03.03)


Color
  8-bits per entry instead of 4.  $FFFFFF instead of $FFF.

  - Nils Goers <nils@goers.line.org>
  (ID:  03.50)


Confirm
  Ability to include returns in requester text.

  - Nils Goers <nils@goers.line.org>
  (ID:  03.04)


Copy
  - ASYNC option.

    - Hannu Nevalainen <henk@it.kth.se>
    (ID:  03.05)

  - Check version strings.

    - Kaare Johansen <kaarej@alpha.barentsnett.no>
    (ID:  03.06)

  - Abitliy to ignore (sub)directories which don't have any files matching a
   supplied pattern.

    - Kaare Johansen <kaarej@alpha.barentsnett.no>
    (ID:  03.51)


Copy & Move
  - Accept a file as a destination.
    Ex:  Copy %s Path/Filename

    - Nils Goers <nils@goers.line.org>
    (ID:  03.44)


Copy, Move, & Rename
  - Warning requester if a file w/ the same name already exists:
      File <filename> already exists!  Overwrite?
      <Source file size>  <Dest file size>
      <Source file date>  <Dest file date>
      Yes|No

    -  Nils Goers <nils@goers.line.org>
    2- Fredrik Ismyren <myrn@tjohoo.se>
     - Moses Wildermuth <mosespro@ecity.net>
    (ID:  03.07)

    - The proposed warning req.'s buttons should be "Yes|Always|No"

      - Martin Samuelson <sam@oden.se>
      (ID:  03.08)

    - The warning req should be optional (ex:  Copy WARN), and should set an
     error code for the bebefit of ARexx scripts.

      - Hannu Nevalainen <henk@it.kth.se>
      (ID:  03.47)


Delete
  - Warn if a file is protected; option to delete/overwrite it.

    - Rudolph Riedel <rriedel@amiga.ON-Luebeck.de>
    (ID:  03.09)

  - Ability to delete soft-linked files/dirs.

    - Fabrizio Bartoloni <Lanch@mail.caribusiness.it>
    (ID:  03.49)


Find
  - Ability to exclude directories from searches; possibly using a "NoFind"
    comment.

    - Martin Samuelson <sam@oden.se>
    (ID:  03.35)

  - Fixed positions for the "Continue", "Abort", & "Open" gadgets.

    - Martin Samuelson <sam@oden.se>
    (ID:  03.15)


Icon
  - Recognize executable, ARexx, and script files.

  - Jean Marie Boucher <boucher21@caramail.com>
  (ID:  03.56)


MakeDir
  - ICON keyword to allow MakeDir to automatically create a default icon.

    -  Jacob Dahl Pind <rachael_@gmx.net>
    2- Johan Banis <j.banis@worldonline.nl>
    (ID:  03.53)


NewScreen
  - Parameter to set the screen's name.

    - Moses Wildermuth <mosespro@ecity.net>
    (ID:  03.36)

  - Ability to clone an existing screen.
    Ex:  "NewScreen ID=Workbench" will clone the Workbench screen.

    - Nils Goers <nils@goers.line.org>
    (ID:  03.38)


OpenWindow
  Specify alternate (zoom) sizes (x, y, w, h), ala CON:.
  Ex:  OpenWindow 0 11 120 120 RAM: 40 80

  - Hannu Nevalainen <henk@it.kth.se>
  (ID:  03.14)


Protect
  A GUI w/ checkbox gadgets, instead of the current string-gadget interface.

  - Mohammad Asiri <m.asiri@csu-e.csuohio.edu>
  (ID:  03.39)


Rename
  - Remove 30 character name limit.
  - Remove name checking.
    Purpose:  To allow path names such as ":something" and ":a/really/long/path/name/myfile".

    - Hannu Nevalainen <henk@it.kth.se>
    (ID:  03.16)

  - Pressing Escape key should cancel the operation.

    - Jostein Klemmetsrud <klemmetj@c2i.net>
    (ID:  03.59)

  - The requester should be font sensitive, and better looking.

    - Jostein Klemmetsrud <klemmetj@c2i.net>
    (ID:  03.60)


Root, Parent
  - NOVOL option to prevent the volume/device listing from being displayed when
   "Root" or "Parent" is used on a root dir.

    - Fredrik Ismyren <myrn@tjohoo.se>
    (ID:  03.33)

  - Ability to root other windows.  Ex.  Root RAM:  - Roots all windows
   displaying subdirectories of RAM:.

    - Fredrik Ismyren <myrn@tjohoo.se>
    (ID:  03.34)


Select
  - Ability to select files older/newer than a certain date, or between two
   dates.

    - Fredrik Ismyren <myrn@tjohoo.se>
    (ID:  03.18)

    - Suggested Template:  Select Date [+|-] [<date>]
        +      - All files at or after <date>.
        -      - All files before,but not including, <date>.
               - Defaults to selecting files w/ the exact date.
        <date> - Allow for a 4 digit year.  Pop up a req. if not given.

      - Hannu Nevalainen <henk@it.kth.se>
      (ID:  03.19)

    - Suggested Template:  Something like AmigaDOS's List cmd:
        Select UpTo <date>, Since <date>, Since <date> UpTo <date>, Date <Date>

      - Martin Samuelson <sam@oden.se>
      (ID:  03.20)

  - Ability to select files based on their comment.

    - Fredrik Ismyren <myrn@tjohoo.se>
    - Bablos <bablos@enterprise.net>
    (ID:  03.31)

  - Ability to select file(s) based on their position.
      Ex:  Select POS 5
           Select POS 1 TO 10

      - Hannu Nevalainen <henk@it.kth.se>
      (ID:  03.48)


TitleFormat
  %D:  Number of dirs in the window.
  (ID:  03.40)

  %G:  Number of directories selected in window.
  (ID:  03.41)


Window
  - Add [prev] and [ID] arguments.
    (ID:  03.23)

    -  Hannu Nevalainen <henk@it.kth.se>
    2- Nils Goers <nils@goers.line.org>
     - David Garcia <davidgarcia_ccs@yahoo.com>


  - Don't ActivateWindow() on a "Window Next".
    (ID:  03.24)

    - Hannu Nevalainen <henk@it.kth.se>


  - Path arg. to accept wildcards.  Ex:  Window SYS:Util#?

    - Fredrik Ismyren <myrn@tjohoo.se>
    (ID:  03.32)


View
  - "SCREEN" &/or "BESTID" options.

    - Jean Marie Boucher <boucher21@caramail.com>
    (ID:  03.57)


- Return BackPattern (ID:  03.25),
         DiskCopy (ID:  03.26),
         Format (ID:  03.27),
         Play (ID:  03.28),
         ShowPic (ID:  03.29).

  - Various.



S04.  Commands - New
=========================
AddClickToWin
  Purpose:  Set action to be performed when a file is selected & then a new
           window is clicked in.

  Examples:AddClickToWin DEFAULT, Copy %s %d
           AddClickToWin ,*.lzx, Extern C:LZX x %s %d
           AddClickToWin ,*.xpk, Extern C:PackX %s TO %d SUFFIX .xpk GUI PUBSCR %a

  - Nils Goers <nils@goers.line.org>
  2- Jody Tierney <jtierney@cyberlink-inc.com>
  (ID:  04.07)


AskString  - String requester.

  Instead of the all-in-one Confirm.

  - Nils Goers <nils@goers.line.org>
  (ID:  04.01)


Compare
  Purpose:  Checks two identical drawers if files have changed.

  - Bill Simon <bills@webgate.net>
  (ID:  04.02)


Continue
  Purpose:  The entire command line is executed, even if one of the functions
           fails.
       Ex:  Continue; <function 1>; <function 2>; <function 3>

  - Fredrik Ismyren <myrn@tjohoo.se>
  (ID:  04.12)


History
  Template:  History [NEXT] [PREV] [SHOW]
  Purpose:  To move back & forth through previously visited directories.
            "History SHOW" could open a cmd window with NewDir assignments.

  - Chris <flat.black@erols.com>
    Xavier Messersmith <xcaliber@xav.to>
  (ID:  04.16)

KeyMonitor
 Purpose:  Pops up a window with a close gadget; for every keystroke recieved,
          display the character that should be used for AddKeyCommand.

  - Hannu Nevalainen <henk@it.kth.se>
  (ID:  04.11)


MultiRename
  Purpose:  Change names of all selected files in one go; "*.jpeg" to "*.iff",
           for example.

  - Erik van 't Hof <e.van't.hof@freeler.nl>
  (ID:  04.15)


RequestDevice
  Purpose:  Pops up a device requester, returns the chosen device in %r.

  - Nils Goers <nils@goers.line.org>
  (ID:  04.10)


Update
  Purpose:  Control how often (or if) DM tests dirs for changes.
  Ex:  Update 0  - No updating.
       Update 5  - Update every 5 seconds.

  - Robert Goodlett <goody@eskimo.com>
  (ID:  04.13)


WBExtern
  Purpose:  Execute files as if from Workbench, using the icon's stacksize,
           tooltypes, etc.
  [Aminet:util/libs/WBStart.lha could be helpful.  - J.]

  -  Fredrik Ismyren <myrn@tjohoo.se>
  2- Erik van 't Hof <e.van't.hof@freeler.nl>
  (ID:  04.06)


WinBack [ID]
WinFront [ID]
  (ID:  04.04)
WinMove  [ID] <x> <y>
  (ID:  04.05)

  Window arrangement commands.
  [ID] accepts:  "S" - Source (default).
                 "D" - Destination.
                 <n> - ID number.

  WinMove's <x> & <y> allow for relative positioning.
  Ex:  WinMove 'D' -10 +50

  - Hannu Nevalainen <henk@it.kth.se>
    Nils Goers <nils@goers.line.org>



S05.  Dir. Windows
==================
- If a nonexistent path is entered in the string gadget then try to find the
  last valid directory.
  Ex:  "CD0:Aminet/util/clo/" doesn't exist, so try "CD0:Aminet/util/".

  - Jens Granseuer <jensg@steingym.ham.nw.schule.dey>
  (ID:  05.03)


- Option to specify the color for directories & volumes.

  - Rachid <Rachid@shoto.com>
  (ID:  05.04)


- Make pen settings GUI independant.  [D.Q.]

  - Rachid <Rachid@shoto.com>
  (ID:  05.05)


- Refresh directories as a file's size changes (to see it grow).

  - Karen Lindsey <ksl@usa.net>
  (ID:  05.06)


- Refresh volume/device lists whenever something is (dis)mounted.

  - Karen Lindsey <ksl@usa.net>
  (ID:  05.07)


- Font sensitivity.

  - Nils Goers <nils@goers.line.org>
  (ID:  05.09)


- Do _NOT_ ActivateWindow() if _all_ DM windows are inactive.  Leave it as a DM
  _internal_ "marking".  [D.Q.]

  - Hannu Nevalainen <henk@it.kth.se>
  (ID:  05.10)


- "S" & "D" markings to be more prominent.  Maybe Src window has one background
  color, another BG for the Dest window, & system defaults for inactive windows.

  - Hannu Nevalainen <henk@it.kth.se>
  (ID:  05.11)


- Double-clicks on selected files to be recognized.

  - Martin Samuelson <sam@oden.se>
  (ID:  05.12)


- Display FFS Hard Links in italics &/or color to spot them.

  - Francis Labrie <fb691875@er.uqam.ca>
  (ID:  05.13)


- Buffered directories.

  - Jody Tierney <jtierney@cyberlink-inc.com>
  (ID:  05.14)


- Non-resizable, non-dragable, non-closeable window options.

  - Kenneth "ALBANASINIA" Weese <alban@citynet.net>
    Nils Goers <nils@goers.line.org>
    Hans Guijt <H.Guijt@inter.NL.net>:
  (ID:  05.16)


- Multi-threaded windows.

  - Stephen Doogan <steved@lawman.u-net.com>
  (ID:  05.17)


- The scrollbar should not reset to the top when the window is updated.

  - Fredrik Ismyren <myrn@tjohoo.se>
  2- Nils Goers <nils@goers.line.org>
  (ID:  05.18)


- Selected items should not be deselected when the window is updated.

  - Nils Goers <nils@goers.line.org>
  - Hannu Nevalainen <henk@it.kth.se>
  2- Jody Tierney <jtierney@cyberlink-inc.com>
  (ID:  05.19)


- Size Check totals to survive entering & exiting dirs.
  Ex:  Call Check on a dir, enter the dir, exit the dir, & still have the total
      displayed.

  - Edith Goldstein <edgo@ca-aug.org>
  2- Fredrik Ismyren <myrn@tjohoo.se>
  (ID:  05.20)


- Option to not reactivate the last-used window after an external prg is run.

  - Nils Goers <nils@goers.line.org>
  (ID:  05.23)


- Dir windows are AppWindows when DM is running on the WB screen.

  - Fabrizio Bartoloni <Lanch@mail.caribusiness.it>
  (ID:  05.25)


- Shift-clicking on an item (de)selects all items between (& including) the
 last-clicked-on item and this one (the shift-clicked item).

  - Hannu Nevalainen <henk@it.kth.se>
  (ID:  05.26)

  - Use <Ctrl> instead of <shift>.

    - Martin Samuelsson" <sam@home.se>
    (ID:  05.27)


- Drag & drop files between windows.

  - Moses Wildermuth <mosespro@ecity.net>
  (ID:  05.28)


- "Back" button, like in a browser, to recall previously visited directories.

  - Chris <flat.black@erols.com>
  (ID:  05.29)



S06.  Flags
===========
- The file name without its extension.

  - Fredrik Ismyren <myrn@tjohoo.se>
  (ID:  06.01)


- Variable for the first file selected in dest. dir. (could be used for file
 merges, sorts, etc.)

  - T.L.Bullock <havoq@pandemonia.demon.co.uk>
  (ID:  06.02)


- A path's root directory.  Ex:  Return "SYS:" for "SYS:Storage/DOSDrivers/".

  - Fredrik Ismyren <myrn@tjohoo.se>
  (ID:  06.03)


- %S, a "sticky" version of "%s" - When a file (%s) is copied, "%S" would be
 the filename with the full destination path (basically "%d%n").

  - Fredrik Ismyren <myrn@tjohoo.se>
  (ID:  06.04)


- %m, all selected entries with full paths (multi-selection).
  - Nils Goers <nils@goers.line.org>
  (ID:  06.05)


- Each use of %s [or maybe a new flag?  - J.] to expand to the next selected
 entry.
 Ex:  "Show3Files %s %s %s" - The first "%s" would be the first selected
 entry, the second "%s" would be the second selected entry, etc.

  - Nils Goers <nils@goers.line.org>
  (ID:  06.06)


- A flag like %s (or %m) but that also allows no files to be selected.
  Ex:  Visage %M  - Visage will be passed all selected files, or run even if
  no files are selected.

  - Fredrik Ismyren <myrn@tjohoo.se>
  (ID:  06.07)



S07.  Keyboard
==============
- Recognize qualifier combinations.  Ex:  rshift ctrl q = Right Shift + Control + q
                                          lamiga lalt m = Left Amiga + Left Alt + m

  - Dave Weeks <dotoran@net.bluemoon.net>
    Manuel Martin-Vivaldi <manuel@webmedia.es>
  (ID:  07.01)


- Much more keyboard support (TAB, function keys, cursor keys...).

  - Karen Lindsey <ksl@usa.net>
    Wojciech Kocjan <kocjan@ka.onet.pl>
    Nils Goers <nils@goers.line.org>
    Hannu Nevalainen <henk@it.kth.se>
    Manuel Martín-Vivaldi <manuel@webmedia.es>
  (ID:  07.02)


- Suggested keys/functions:
  - <TAB> - Change from one window to another (excluding CMD windows).
    (ID:  07.03)
  - a-z - Jump to the first entry beginning w/ that letter.
    (ID:  07.04)

    - Nils Goers <nils@goers.line.org>

  - <Space> - Select/deselect entries.
  (ID:  07.07)

    - Rudolph Riedel <rriedel@amiga.ON-Luebeck.de>
    2- Wojciech Kocjan <kocjan@ka.onet.pl>

  - Hold down CTRL to "look" for a file (like Norton on the PC).
  (ID:  07.08)

    - Wojciech Kocjan <kocjan@ka.onet.pl>


- Keypress recorder for AddKeyCommand (able to read HELP, F-keys, etc.).
  (ID:  07.09)

  - Hannu Nevalainen <henk@it.kth.se>


S08.  Menus
===========
- v39-style command keys in menus (CTRL, ALT, etc).

  - Hans Guijt <H.Guijt@inter.NL.net>:
  (ID:  08.02)


- Menu to keep track of hidden windows; pop them to front.

  - Hans Guijt <H.Guijt@inter.NL.net>:
  (ID:  08.03)


- Sub-menus.

  -  Chris Hall <hybrid@slinknet.com>
     Dave Pierson <fishb@gte.net>
  2- Nils Goers <nils@goers.line.org>
  (ID:  08.04)



S09.  Misc.
===========
- The ability to CD to '%s' and then pass all the selections to a command in
  one go would be useful (at the moment I use a *really* nasty script to
  manage this).  [D.Q.]

  - Karen Lindsey <ksl@usa.net>
  (ID:  09.03)


- Middle mouse button support.

  - Micheal Green <MFG21@student.canterbury.ac.nz>
  (ID:  09.04)


- Treat archives as directories; display their contents in a window & add or
  extract files from them.

  - Micheal Green <MFG21@student.canterbury.ac.nz>
  (ID:  09.05)


- Macro recorder; allow recording, playback, and saving.

  -  Hans Guijt <H.Guijt@inter.NL.net>:
  2- Erik van 't Hof <e.van't.hof@freeler.nl>
  (ID:  09.06)


- More colors/pens.
  [16 could be easily(??? :-) ) supported if AddCmd recognized hex, like:
   - "AddCmd NiftyCmd, 5C, ..." - J.]

  -  Fredrik Ismyren <myrn@tjohoo.se>
  2- Xavier Messersmith <xcaliber@xav.to>
  (ID:  09.08)


- Ability to execute commands w/ or w/o args.
  Ex:  "HippoPlayer %s" -> Run HippoPlayer even if nothing's selected.

  - Fredrik Ismyren <myrn@tjohoo.se>
  (ID:  09.09)


- Localization.

  - Fabian Sloos <fsloos@hol.nl>
    Georg Hazianastasiou <haz@geocities.com>
    Dieter Kaye <MaxII@B-52.ohz.north.de>
  (ID:  09.11)


- Ctrl X, K, & U support in string gadgets.

  - Jody Tierney <jtierney@cyberlink-inc.com>
  (ID:  09.12)


- Real buttons.

  - Jody Tierney <jtierney@cyberlink-inc.com>
  (ID:  09.13)


- Different Fonts for title, menus, window text...

  - Georg Hazianastasiou.
  (ID:  09.14)


- NewLook screen, menus, gadgets.

  - Everyone.
  (ID:  09.15)


- Ability to use a different font for CMD windows.

  - Nils Goers <nils@goers.line.org>
  (ID:  09.16)


- Ability to treat comments like fine names:  sort, select, move, & rename.

  - Martin Samuelsson <sam@furry.nu>
  (ID:  09.17)


- Ability to close StdIO windows w/ the right mouse button.

  - Fredrik Ismyren <myrn@tjohoo.se>
  (ID:  09.18)


- Modularize DM with Plug-Ins.  A user would then only have the features he/she
 needs/wants.

  - Robert Goodlett <goody@eskimo.com>
  (ID:  09.19)


- Buttons like SID II, DOpus, or DiskMagic.  Clicking on them w/ the right
 mouse button switches to a new button list.

  cryto@gridpoint.cnetbbs.net
  (ID:  09.20)


- A GUI-based configuration editor.

  - Moses Wildermuth <mosespro@ecity.net
  (ID:  09.23)


- Require config files to begin with "DM2" to prevent DM from trying to
 interpret other files as DM configurations.
  - Nils Goers <nils@goers.line.org>
  (ID:  09.24)


- Clicking on a command window's "C" button swaps between multiple command
 banks.  "AddCmd.<bank> <title>, <color>, <command>" to set up the banks.
  -  Nils Goers <nils@goers.line.org>
  2- Manuel Martin-Vivaldi <manuel@webmedia.es>
   - Spencer Pearce <spencer@spannerwerx.freeserve.co.uk
  (ID:  09.26)


- DM as a Commodity.

  - Moses Wildermuth <mosespro@ecity.net>
  (ID:  09.27)


- Command windows which can be associated/connected to a specific directory
 window.

  - Moses Wildermuth <mosespro@ecity.net>
  (ID:  09.28)


- Option for command windows to have commands laid out horizintally.

  - Moses Wildermuth <mosespro@ecity.net>
  (ID:  09.29)


- Greater control of DM's GUI's appearance (different colors or patterns for
 screens & windows).

  - Moses Wildermuth <mosespro@ecity.net>
  (ID:  09.30)


- Internal functions (like text viweing, copy) to run asynchronously.

  - Christophe Tosello <christophe.tosello@wanadoo.fr>
  (ID:  09.31)


- Ability to use a different font for the file winow's path gadget.

  - Fredrik Ismyren <myrn@tjohoo.se>
  (ID:  09.32)


- Support for long file names offered by SFS & PFS.

  - Jacob Dahl Pind <rachael_@gmx.net>
  (ID:  09.33)


- Ability to set devices as always source or dest.  E.g. Senseless to have
 CD-ROM as Dest (or write-protected floppies (if anyone still uses those :-)
 )).

  - Nils Goers <nils@goers.line.org>
  (ID:  09.34)


- Ability to have scripts executed for disk changes & at shutdown.

  - Nils Goers <nils@goers.line.org>
  (ID:  09.35)


- Allow command lines longer than 256 chars.

  - Jean Marie Boucher <boucher21@caramail.com>
  (ID:  09.36)


- Ability to choose the icon image DM displays in its iconified state.

  - Moses Wildermuth <mosespro@ecity.net>
  (ID:  09.37)



S10.  Text Viewer
=================
- Goto <n>%.
  (ID:  10.04)
- Print.
  (ID:  10.05)
- Snapshot current screen.
  (ID:  10.06)
[I think there were more suggestions, but I don't have this mail anymore; I'm
relying on my memory here.  - J.]

  - Hannu Nevalainen <henk@it.kth.se>


- Help page listing options & their keys.

  -  Hannu Nevalainen <henk@it.kth.se>
  2- Nils Goers <nils@goers.line.org>
  (ID:  10.07)
@endnode
@node "Questions" "Look here first..."
@REMARK .1
@{b}------------------------------------------------------------------------------
                                   Ask Dr.DM
------------------------------------------------------------------------------@{ub}

I`ll try to present this like a FAQ, answering to all kind of questions.

Q: Is there a "Delete *.info" command?

A: Use "Select *.Info;Delete %s"

Q: If you have a program such as Cybershow that can show multiple files
   like this: "cybershow <options> file1 file2 file3 file4"
   How may I use this with DM?

A: Check out FastDMview.rexx, this is taylor made for this purpose.
   (And finally working 100% since 2.2)
   Also read the hint in @{"Archive" link "Archive" 0}.
   A simple to use multi-selection feature is already planned.

Q: Is there an opposite to @{"SetFormat" link "SetFormat" 0}, maybe "GetFormat"?

A: There is, use "@{"Status" link "Status" 0} F".

Q: Is there a way to let DM open it`s windows on WB?

A: Just leave out the @{"NewScreen" link "NewScreen" 0} command-line.

Q: Is there a way to have buffered directory-windows?

A: There is, open a new window, adjust it to the required path and
   to minimal size, then throw it in the background.
   All paths from opened windows will be checked periodically.
   I just remembered that I used this technique with my old A500
   and it`s slow disk-drives.

Q: I like to start a script/launch some tools/execute an ARexx script
   when starting or quitting DM, is there a way?

A: The answer is: Startup.DM !
   Startup.DM is a batch that is interpreted line by line when DM starts.
   So you may add any commands you like to it:

   ;$VER: Startup.DM 2.2...

   Extern execute s:myDMstartscript
   Rexx dosomethingonDMstart.rexx
   makedir ram:c
   copy c: ram:c
   Reset

Q: Everytime I start DM it comes up with the screenmode-requester...

A: You read this? Then try to read some of the rest...

@endnode
@node "Past" "All the tortures listed below..."
@REMARK .1
@{b}------------------------------------------------------------------------------
                 What happened to the binary so far:
------------------------------------------------------------------------------@{ub}

2.5 (00-xx-xx) 68xxx Bytes

- Added an alias for 'Batch' - 'LoadConfig'
  Suggested by Jeff Grimmet <Jeff_Grimmett@elric.cts.com>
- Bugfix: terminating an ARex-Script while a requester was open
  lead to a deadlock - thanks for reporting to Nils Goers!
- Bugfix: DM2 now refuses to terminate itself if there are still
  DM2-launched ARexx-Scripts running.
- Bugfix: The path-string is now beeing interpreted by DOS during
  init of the window - thanks for reporting to Jeff Grimmett!
- Bugfix: Swapping two windows did not swap their sort-type.
  Thanks for reporting to Fredrik Ismyren!
- Bugfix: calling 'Root' twice didn`t showed the DEV/VOL/ASN list.
  Thanks for reporting to Fredrik Ismyren!

- Added pagewise horizontal jumping by pressing shift/cursor.
  Thanks for reminding me to Fredrik Ismyren!
- Asl.library is no longer needed to start DM2!
  DM2 will now start from a disk having nothing else on it than
  the executable itself - without Font-/Screenmode-/Color- requester though.
- Limited the reader to 256K
  Suggested by Dirk Teunis <parcival@dma.be>
- General Speed-Up by eliminating some function-calls that have been
  called for every single command.
- Bugfix: Moving to write-protected media only resulted in deleting
  the files - thanks for reporting to Jody Tierney <jtierney@cyberlink.com>!
- Bugfix: Moving a file "x" to a dir "y" that contained a sub-dir
  also called "x" only resulted in deleting the file "x".
  Thanks for reporting to Bryan K. Williams <icar@evilgeniuses.org>!
- Bugfix: "Move %s %d RENAME" only worked between different volumes.
  Thanks for reporting to Jody Tierney!
- Changed the main-loop once again:
  The main-title with the clock gets updated now every second (more or less).
  As well as the drawers are scanned in this interval.

- Bugfix: there was a tricky hidden and ancient bug in the
  drawer-double-click handling that trashed the bottom scroller-gadget
  of the destination-windwow under special conditions.
  Thanks to Fredrik Ismyren for reporting and the very detailed
  information on how to reproduce the bug!
- Bugfix: Overseen when I did the speed-up, the dir-window now gets
  resortet when you are in sort-by-comment mode and
  modify a file`s comment.
- When no active window is left, DM2 drops it`s refresh-rate from
  once every second to once every four seconds thus saving
  a few dozen computrons when not beeing used.
- Bugfix: Annother speed-up side-effect was that 'SizeCheck' did not update
  the dir-window properly anymore.
  Thanks for reporting to Fredrik Ismyren!
- Modified the main-loop once again.
  The title-screen now is updated only once in a minute.
- Cut-off the seconds from the clock.

- Flagged out some dead code.
- Bugfix: created an Enforcer-Hit when fixing "Move %s RENAME".
  Thanks for reporting to Xavier Messersmith <xcaliber@xav.to>
- DM2 displays the free space on a volume now as B / K / M
  thus supporting drives beyond 2gigs free.
  Should work fine with up to 2Tera-Bytes.
- Rewritten 'Check' - shouldn`t also have a problem with
  large drives anymore.
- 36 Bytes more and the added sizes of all selected files
  are also displayed in 'new style'.
- Added an exception-handling for zero-sizes as
  "0 B" looks somewhat odd.
- Added new command 'Last' that opens a requester with the
  last message shown in the title-bar.
  Suggested by Fredrik Ismyren.
- Bugfix: 'Archive' wasn`t updating the file-windows since 2.5b2
  Reported first by Michael M. Rye <mrye@execpc.com> - thanks!
- Added support for the 'Del'-Key to 'AddKeyCmd'.
  The compare-strings are 'del' and 'DEL' for the 'Del'-Key
  beeing pressed without or together with a 'Shift'-Key.

- Bugfix: 'AddAutoCmd ??-lh,Extern Lha <* x %s;Delete %s'
  didn`t updated the dir-window properly.
  Thanks for reporting to Ivan Awfulitch <ivan@mnsi.net>!
- Source for menus rewritten - Hynek Schlawack
- Source for reader rewritten - Jody Tierney
- Made support for >2gig complete - also size-checking dirs
  will work now.
- Removed 'Print' and 'SetPrinter' upon user-request.
- Added new command 'Quiet' that forces silent operation.
- Added new option to 'TitleFormat'.
  %A returns the the total amount of file`s sizes in a dir.
  Suggested by Nils Goers.
- fixed a little bug in 'Pens'.
  Giving less than the necessary pens will result now
  in using the rest from the systems default-pens.
- Fixed a potential bug in 'DirList'.
- Added the new command 'Filestat' that analyzes a given file.
  Suggested by Nils Goers.
- Added the new command 'WinInfo' that returns all windows`
  ID, path and status - suggested by Nils Goers.
- Added support for F1-F10 + shifted as well as HELP.
  Done by Jody Tierney with some bits from me.
- BugFix: removed two Enforcer-Hits that I introduced in 2.4b21 .
  Just annother "read from ..." issue that appeared under
  a condition that I wasn`t thinking of...
  Thanks for reporting to Ivan Awfulitch <ivan@mnsi.net>!
- Bugfix: >2gig support still doesn`t worked properly with
  >2gig of files in a dir - so my visit of the MS2k didn`t only
  delayed the release...

- Rewritten 'Parent' and 'Root' again.
  Links are now resolved only when calling 'Parent' from the
  'Root-dir' of a link.
- Reimplemented 'Expand'.
- Bugfix: 'Auto' won`t be executed inside of auto-cmds anymore.
- Bugfix: 'Window' has immediate effect now and is thus working
  with e.g. 'NewDir' in a single command-line.
- Bugfix: Win9x won`t rename locked files so I`ve rewritten 'Rename'.
  Thanks to  Ron Jensen <ron@jentronics.com> for reporting!
- Bugfix: "select dir, click right" and "select dir, click nextwin"
  features left the former Source-Window with one file selected
  according to the title bar.
- New feature for AddMenu: BARLABEL
- New library opening/closing code.
- Bug fix:  Unsafe loop-exit.
- Pack & Unpack rewritten to use XPK & XFD libraries and add features.
- Reader can display packed files (using XFD).
- Bug fix:  Reader would print control characters other than
  TAB or ANSI sequences.
- Improved reader's find next/previous routine.
- Bug fix:  Added NULL-checks in reader for font & drawinfo.
- Bug fix:  The reader didn't free all of the memory it allocated.
  Reported by Fredrik Ismyren.
- Bug fix:  The reader's display could become out-of-synch with the
  scroller until the scroller was released.
- The reader accepts "c" as find-next ("Shift c" also works as find-next page).
  Requested by Ivan Awfulitch.
- The reader accepts "BackSpace/Space" as page up/down.
  Requested by Fredrik Ismyren.
- Changed some code in the reader's event handling.  Saved some bytes.
- Bug fix:  The reader now interprets <CR>s as line breaks when there
  isn't an adjacent <LF>. Reported by Ivan Awfulitch.
- Bug fix:  The reader would crash when DM was used on the Workbench screen.
  Reported by Stephan Niehues <Nase@NetCologne.de>.
- Closing the reader with Ctrl-C also sets DM's global abort flag
  (leaving any other selected files unread).
- The right mouse button may be used to close the reader.
  Requested by everyone. :-)
- Reworked the internal Startup.DM
- Started to replace all c++ style comments by ANSI ones for improved portability.
- Reduced "Disk not present" system requesters from
  three to one by better structure of the code in question.
- Fixed annother window-not-beeing-updated bug.

- Added filesystem notification.
- The windows are scanned every two seconds now.
- Added sub-routine to block user-input, first used with 'About'. (V39+)
- New command: 'GUI' - Blocks the windows - requested by Nils Goers.
- New command: 'Choose' - A multiple choice requester.
- New command: 'Iconify' - does what it sounds like.
- Replaced the internal icon with a smarter one.
- All simple requesters use system-requesters now.
- Internal - replaced nearly all assembly-functions.
- 'OpenScreen' removed at last.
- Improved auto-commands: the preload buffer is now 500 bytes long
  and DOS pattern-matching is used for the file-pattern.
- Changed internal Startup.DM to new auto-command style.
- Removed weekday from filedisplay.
- 'Pack'/'Unpack' display there results in the title-bar now.
  Requested by Lorence Lombardo.
- Changed 'Select'/'Deselect' to use DOS pattern-matching.
- New command: 'SetX' - arg "digits=n" sets the length of number-strings
- Bugfix: 'Check' will display it`s result again.
  Reported by Richard Mattsson <richard@cloudnet.com>
- Bugfix: menus always use pen 1 instead of BARDETAILPEN.
  Reported by too many to pick one who has been first...
- Improved dir-loading on V39 and up system by use of ExAll().
- By using ExAll() it was possible to add better softlink-support.
- 'Copy'/'Iconify'/'SaveConfig'/GetDirEntry()/GetCmdFile() share an 128KB
  buffer now that is only allocated once with one fallback-level to 64KB.
- Bugfix: 'SetList' still used 30 chars for the filename.
- Added a new sort-type: 'T' - toggle
- 'Read' truly multitasks now by launching a daughter-process which
  takes care of the reader-windows.
- Added Tab-cycling between reader windows.
- Bugfix: a 'Root' to an assign would jump back only
  one level instead to the root-dir of this volume.
  Thanks for reporting to Fredrik Ismyren!

- Bugfixed the bugfix - GetParent() still didn`t worked correctly
- Bugfix: 'LoadConfig' freed it`s buffer way to early
- Changed content recognition for auto-commands to be case insensitive

- Bugfix: scrolling by the sliders is no longer done in a busy-loop
- Windows open screen-sensitve when startup from the internal Startup.DM
- Changed default display format to "NS C"
- Removed date-info from the default screen-title
- Removed some lines from the internal Startup.DM
- Added IFF recognition to internal Startup.DM
- Bugfix: AutoCmd file-recognition was limited to 32 chars
  Thanks for reporting to Jostein Klemmetsrud <klemmetj@c2i.net>
- Bugfix: 'Parent' on assigns didn`t worked correctly anymore
  Thanks for reporting to Fredrik Ismyren
- Bugfix: 'PrintDir' was not working anymore - completely rewritten
  Thanks for reporting to Michael Hendren <mmikee@carlnet.org>
- 'SetX' is now added to Startup.DM by 'SaveConfig'
- Two new options for 'SetX' : IconX / IconY
- Bugfix: 'Copy' did not trapped all error conditions
  Thanks for reporting to Leon <leond@netidea.com>
- Added workaround for french locales - the month is now four chars long
  Thanks for reporting to Jean Marie Boucher <boucher21@caramail.com>
- Bugfix: annother one in the row of very old bugs - with an empty
  string-gadget the command-window became an ordinary file-window
- Instead of using "CD XX", 'Archive' is using NP_CurrentDir now to
  start the archivers in the correct context - just like 'Extern'
- Increased the default/minimum stack-size for 'Extern' to 8192 bytes
- Made the main-loop a sub-function thus saving a few hundred bytes as
  exactly the same code occured twice in the source
- Filesystem-notification is now user-selectable by adding the option
  "Notify" to 'SetX' - by default notification is not used
- If notification is off, dirs are scanned every second,
  if it is switched on, dirs are scanned every two seconds
- Bugfix: nonprintable chars appear as "." in 'Read' now
- Bugfix: trailing "/"`s are now filtered from the path-gadgets
- 'Read': when displaying binaries as test then TAB & ANSI are ignorred
  (faster if hex file contains lots of $09s)
- 'Read': 0 is no longer treated as a line-break
- Bugfix: a 'Delete' on an assign in the DEV/VOL/ASN
  list deleted the dir the assign is pointing at
- DMRecurse() stops all actions now when the DEV/VOL/ASN
  list is up.
- Only volumes can be renamed in the DEV/VOL/ASN list now
- Assigns can now be deleted in the DEV/VOL/ASN list
- Bug fix:  ASCII display of a binary file was incorrect
- Bugfix: 'SetX' called without "digits=" set the digit-compare
  var to 10 instead of at least 9999
- Added 'Quit' and 'Wake' ARexx-commands to Iconify()


2.4 (99-04-02) 61292 Bytes

- Added a new function that was suggested by Hannu Nevalainen.
  Called 'SwapSel' it toggles all file`s selection state.
- Renamed 'NoDoubles' to 'Dupe' and started implementing options,
  'S' for selection of files is working fine.
- Added '[C]omment' to 'Dupe'.
- Bugfix: rewritten 'Dupe' again.
- Improved 'About' by splitting it into two functions.
- Replaced GetRexxVar1 and SetRexxVar1 by function-calls to amiga.lib .
  This saved about 200 lines from the ASM section of the source!
- Changed the options for 'Sort' again.
  The template is now: Sort [ N(-) | C(-) | D(-) | S(-) | F ] [G]
  So 'Sort N' will sort in normal order, 'Sort N-' in reverse.
  Suggested by Hannu Nevalainen <henk@it.kth.se>.
- Added a new function called 'View' that utilizes amigaguide.library
  to display about everything. Template: 'View %s'
- As suggested by Jody Tierney <jtierney@cyberlink-inc.com>,
  AmigaGuide.library is no longer needed to start DM.
  If it is absent, 'View' won`t work though.
- Fixed a bug that caused enforcer-hits when aborting the new font-requester.
  Thanks to Nils Goers for reporting it!
- DiskFont.library is also not longer needed to start DM,
  if absent, topaz 8 will be used.
- Fixed 'Font' - The requester will display the last selected font now.
  Changed the interface, FontName and FontSize are now 2 options.
  Example: "Font xen 8"
- Adapted 'SaveConfig' to the changed 'Font' options.
- Added some little extra-magic to recognize old-style 'Font'-commands.
- AmigaGuide.library is now loaded on first use -> startup speed-up
- The user-selected colors are now restored after 'View'.
  Thanks to Nils Görs for reporting this -still not really solved- conflict!
- Re-Integrated '%n' - this time '%s' is not required on the same line...
- Added the option 'FORCE' to 'Delete' - delete protected files!
  Suggested by Jostein Klemmetsrud <thofton@online.no>.
- Added a new function 'Icon' that will create an default icon
  for the file you provide.
  Suggested by Fredrik Ismyren <fredrik.ismyren@usa.net> and brought to life
  with a little help from Jody Tierney <jtierney@cyberlink-inc.com>.
- Internal: Flagged out a not (yet) used sub-routine.
- Reduced the maximum size for the copy-buffer from 4megs to 128K.
- Implemented 'Swap [ID]'.
  Suggested by Hannu Nevalainen <henk@it.kth.se>.
- Simplified the internal Startup.DM.
  e.g. removed the autocmd for .dms files and added an autocmd
  for reading amigaguide-docs with 'View'.
- Internal: Replaced the line-counting function written in assembly
  by a similar function written in C.
- Added a check to avoid stack-sizes lower than 4000 bytes with 'Extern'.
- Removed DMHandler as DM2 was not dealing with DOS-packets directly
  for quiet some time now.
- Internal: Made 'Status' a separate function.
- Implemented 'Info' which pops up the WB-Information requester
  for the files you feed it.
  Suggested by Torben Danoe <nebrot@post8.tele.dk>.
- Added option "Date" to 'Dirlist' as suggested by Hannu Nevalainen.
- Added option "Var" to 'Dirlist'
- Added options "sel","unsel","dir" and "file" to 'Dirlist'.
- list.sel.0 now contains the amount of selected entries.
- Bugfix: The stem supplied as arg for 'Dirlist' is now converted to uppercase.
  Reported by Hannu Nevalainen.
- Implemented 'Status E' and 'Status S' as a little exercise,
  these will return the amount of entries in a window / selected entries.
  Suggested by Nils Goers.
- Raised length of filesize-string from 8 to 9 chars -> sizes will still be
  cutoff but now at sizes above 950 megs rather than 95 megs.
- 'Comment %s ##' will DM2 tell to erase the comment of the selected file.
  Suggested by Nils Goers.
- The current dir-window is now re-activated after a command from the cmd-window
  has been executed - Suggested by Nils Goers.
- Internal: removed an unnecessary Delay(25)
- Some generic code cleanup.
- When an Arexx-Script returns anything else but ZERO the current operation
  is aborted and an existing con: window gets closed.
  Suggested by Nils Goers.
- Internal: Moved all functions related to saving the config to a
  separate file -> DM2`s source is now splitted into 15 files.
- 'SaveConfig' will now put quotations marks around volume names for
  'OpenWindow' lines. e.g.: OpenWindow   0  11 281 389 "Ram Disk:"
  Suggested by Fredrik Ismyren.
- Added option '%A' to 'Barformat' which refelects the screen/task name.
  Suggested by Moses Wildermuth <mosespro@ecity.net>.
- Partly rewritten the inner loop of 'Copy' -> no more "GOTO"`s and 'Copy'
  may be aborted at any time now.
- Internal: Raised limit for file-names to 64 characters
- Bugfix: 'Rename' now supports up to 64 characters and checks the result.
- Experimental: 'Weekday' and 'Time' are system-generated for the title-string.
- Improved keyboard support: cursor keys/numeric keypad utlized for scrolling.
- Mapped out (yet) unused keys from the numeric keypad after protest ;-) from
  Dirk Teunis <parcival@mail.dma.be>.
- Rewritten 'Parent' - also resolves links now.
- Removed 'Expand' as it became useless with the new 'Parent'.
- Rewritten 'Root'.

- Bugfix: 'Archive' now also makes use of System() instead of Execute()
  which fixes a well hidden bug with 'Stdio'.
- Bugfix: Changing the sort-mode didn`t worked with dir windows that
  shows the dev/vol/asn list. Reported by Fredrik Ismyren.
- Fixed a bug with 'Copy'.
  Recursive copying with having the destination drawer included within
  the source caused DM to create drawers untill it failed.
  Thanks for reporting to Jim Steichen <JSteic1957@aol.com>!
- Fixed a bug in 'Protect' that I introduced in 2.2b15,
  the last used protection-mask got dumped.
  Reported by Tony L.Bullock <havoq@pandemonia.demon.co.uk> - Thanks!
- Found and fixed an old enforcer-hit that occured when the font from
  Startup.DM was not existent. I wonder why no-one found this before.
- Bugfix: 'Window NEXT' with only the command-window left
  caused an endless loop - Reported by Hannu Nevalainen.
- Bugfix: Removed another ancient enforcer-hit that occured when calling
  Rename,Protect,Comment,Delete,Read,View or Setdate without arguments.
  Thanks for reporting to Nils Goers!
- Bugfix: Deleting a hard-linked dir resulted in deleting the contents
  of the dir the link is pointing at - Reported by Hannu Nevalainen.
- Bufix: "Setformat T" string was 7 instead of 5 chars in length.
- Bugfix: 'HostScreen' copied a fixed number of pens to the internal
  array instead of looking at dri_NumPens.
- Bugfix: 'Pens' can now be called after 'NewScreen'.
- Bugfix: 'SaveConfig' always saved twelve pens instead of
  looking at dri_NumPens.
- Bugfix: DM2 couldn`t handle dirs including ?/*/# correctly.
  Thanks to Fabrizio Bartoloni <Lanch@dns.caribusiness.it> for reporting this!
- Rewritten 'Dirlist' as suggested by Nils Goers, Hannu Nevalainen
  and Jody Tierney.
- Bugfix: DM2 now jumps down a long list instead of scrolling down.
- Bugfix: DM2 didn`t moved down to the last entry when moving/deleting...
- Bugfix: Entering "devs:mountlist" in the string-gadget let DM2 quit
  as the file was interpreted as startup.dm .
  Thanks for reporting to Giuseppe Ammendolia <ryuga@freenet.hut.fi>.
- Bugfix: Moving a file between two windows with the same path let DM2 forget
  about that file even though it didn`t get deleted.
  Moving any other file than the first also resulted in a recoverable alert.
  'Move' is now aborted when the source and dest window have the same path.
  Reported by Jostein Klemmetsrud <klemmetj@online.no>.
- Bugfix: The requester for 'SetFormat'/'TitleFormat' allowed strings too long.
- Bugfix: There was no check for the length of the resulting string in
  'BarFormat','SetFormat' and 'TitleFormat' so it was no problem
  to cause a buffer overrun -> caboum!
- Bugfix: noticed that an internal string-buffer for 'Status' was too small.
  'Status E' with more than 999 files resulted in a buffer-overflow.
- Bugfix: added some lines of code from Nils Goers to the assembly-section.
  The year-display for years beyond 99 is no longer trashed - thanks Nils!
- Fixed that old bug that let DM try to close it`s screen even if there
  is still a visitor window left on it.
  Thanks to Fredrik Tempelman <Fredrik.Tempelman@p64.anet.canit.se>!
- Bugfix: "Move %s %d RENAME" opened two rename-requesters of which the
  the first was totally useless.
  Thanks for reporting to Fredrik Ismyren <ismyren@hem1.passagen.se>.



2.3 (97-10-10) 58992 Bytes

- 'Status P' caused enforcer hits when there was no file-window - fixed.
- Each window is now sorted individually.
- 'Sort Size' works in both directions now.
- Sort called without arguments caused an enforcer-hit - fixed.
- 'Sort Name' in reverse order implemented.
- Added a 'Global' option to 'Sort'
- Thanks to Hans Guijt <H.Guijt@inter.NL.net> the proportional-gadgets
  appear in that 3D-newlook now, Greg only forgot a PROPBORDERLESS.
- Added a new function called 'NoDoubles', suggested by Hans Guijt.
- Set SA_SharePens = TRUE for DMOpenScreen() so DM will share the pens
  now instead of allocating them all. Greetings to Pontus Fuchs!
- 'Sort Comment' and 'Sort Date' in reverse order implemented.
- Added the new sorting modes to the internal config.
- Deleted four assembler routines that were leftovers from 'Show'.
  This saved 304 bytes.
- Fixed the enforcer-hit that occured when calling 'SaveConfig'
  without any arguments.
  Reported by Jeff Grimmett <Jeff_Grimmett@elric.maximumaccess.com> - Thanks!
- Fixed a bug in READ. The display-id was buffered as UWORD instead ULONG.
- FONT is using an ASL-Fontrequester now.
- Added size-checking to 'NoDoubles'.
- Fixed a bug in Copy NEWER that made this function useless.
  Reported by Wolfgang Ernicke - Thanks.


Changes 2.1c -> 2.2b15:
@{"<Click here>" LINK "Versions.txt/MAIN"} for a detailed history!

- Recompiled using SAS-C 6.58 and Includes 40.15
- Restructured the source by moving some functions around and
  re-formating them to increase readability.
- Removed some dead lines.
- The source is now splitted into 12 files.

- Removed 'Play' for being a buggy, obsolete, assembler part of the code.
- Removed 'Format' and 'DiskCopy'.
- Removed all 1.3 compatibility routines.
- Removed 'ShowPic' and 'Backpattern'.

- Modified 'About' to use an EasyRequest() requester.

- Included VersionString.

- Reworked internal Startup.DM.

- Added 'Fast' option to 'Sort' for testing purposes.

- Exchanged 'OpenScreen' with 'NewScreen'.

- CloseWindow [Number] implemented.

- 'Select' is now multi-arg.

- Brought 'Status W' to life.

- Implemented %a, this reflects the name of the arexx-port now.

- The port- screen- and task- names are all the same now: DM.1 DM.2 ...

- After reading a mail from Hannu Nevalainen (henk@it.kth.se),
  I instantly changed the clock to 24 hours format.

- Rewritten 'Extern' totally.
- With the help of Jody Tierney, I was able to fix that
  infamous "Fastview-Bug" with executing external programs.
- CTRL-C will now work on programms that are started using 'Extern'.
  Thanks to Heinz Wrobel <heinz@hwg.muc.de> for helping me.
- Added a new stack-size option.

- Implemented a ReqTools color requester.
  When ReqTools is not available, the old requester will be used instead.

- Modified 'Read' to make use of 'NewScreen'.

- Changed parser for 'Read' to allow mixing of 'Read' and
  'NewScreen' arguments for 'Read' commands.

- Optimized var handling saved a few hundred bytes from the exe.

- Optimized 'Copy NEWER' by usage of CompareDates().

- As suggested by Hannu Nevalainen in the mailing-list,
  SPACE / BACKSPACE are now used for PAGE DOWN/UP within the reader.

- As suggested by Jody Tierney on the mailing-list, the reader was expanded.
  Pressing 'N' will continue the search as well as 'C'.

- With the help of Martin Berndt <m_berndt@wanderer.gun.de> I was able
  to give you control over the menu colors.

- CompareDates() is used now to determine if the FileInfoBlocks
  have been updated.

- Volumes are now renamed using Relabel() instead of sending an
  'ACTION_RENAME_DISK'-packet, this saved 112 bytes.

- Received reports from Wolfgang Ernicke (kes132@freenet.mb.ca) and
  Timo Ronkko (deadbeat@iwn.fi) that DM`s title screen is flickering and
  the cpu-iddle is to high when DM is waiting.
  Modified main() to update the title only when an action occured.
- Fix: copy %s %s will no longer crash the machine.

- Fixed a little bug with 'Rename' the string-gadget was too small.
  Reported by Timo Ronkko (deadbeat@iwn.fi).

- Limited the maximum saved colors to 29,
  will be further reduced to the used pens in the future.

- Changed the code to have most of the libraries auto-initalized.
  As a result, DM won`t fail silently any longer.
- RexxSysLib and ReqTools are the only libs left
  that are not auto-initialized.

- Fixed a bug with StdIO windows opening on the wrong screen.

- Fixed the bug with saving the wrong icon.

- Corrected the icon-image structure by converting the icon:
  icon->.iff->c.source
  This saved 300 bytes again that where formerly wasted!

- Two bugs in 'SaveConfig':
  - 'Expand ON' after saving the Startup.DM.
  - The icon was always saved.
  Rewritten parts of the function.

- There where two tables for hex-conversion, removed one.

- TAB won`t activate the string gadgets anymore but you are still able
  to fill the gadget with tab-chars as reported by Nils Goers.

- Fixed a very nasty bug that crashed the whole system when you called
  'Extern' or 'Rexx' without any arguments.
  Thanks to Gregory Donner <gdonner@cyberlink-inc.com> for reporting
  the resulting enforcer-hit.

- Fixed a bug that caused Enforcer-Hits when no window was opened.
  This was reported by Hannu Nevalainen - thank you!

- Added the new sorter-sources from Richard:

  The new "Benchmarks":

       1422      2816      4909  Files

   00:08:11  00:27:00  01:14:90  2.1c Sort by Name
   00:02:75  00:05:75  00:09:75  2.2b15 Sort by Name

- The new sorter is also handling special characters correctly now.

- Optimized the sorter by means of speed and size.
  10002 entries are sorted:
  Fast: 00:19:37  Name: 00:20:52  Date: 00:20:26  Size: 00:20:62

- Sorting by date is now done like the wb - newest first.

- Implemented a sort-by-comment.

- Re-worked the sort-by-date to have drawers on top of the list.

- The name of the reader-screen is now: "    DM-Reader.DMnumber"
  The white spaces are necessary for cosmetic reasons only.

- Fixed annother rarely occuring Enforcer-Hit that apeared since 2.04 .
  Thanks to Hannu Nevalainen again for reporting it!

- Inserted some checks to prevent a '//' in the dir-name.
  First reported by Bryan K. Williams <bryanw@connectnet.com> - thanks!


From the file "Programme_Changes" that came with the cover disk:

v2.1c Fixes:
	Printer setup now shows the proper values instead of always 0.
	This must be what's causing the other problems with output, since
	you can't see what the values really are.

	Print doesn't switch to HEX when the file is less than 199 bytes.
	PrintDir now works.
	PrintDir will exclude escape code if the output is not PRT:.

I've also added *some* AGA support.
I had a 4000/Toaster to test for a couple of days.
All but HAM8 hires work fine.

DISKMASTER 2.1 -> 2.1a CHANGES:

· Fixed S<->D swap bug; now no longer crashes machine.
· Fixed the addition of Hex information when saving a STARTUP.DM file;
  this bug especially noticable on floppy-based systems.
· Fixed Progressive logo.
· Fixed CHKsize bug; When a SOURCE device was checked, if there wasn't a
  DESTINATION chosen, the program would bomb.

DISKMASTER 2.04 -> 2.1 CHANGES:

· Added FFS to format.
· Added HD formatting, but not tested.
· Added Backdrop pattern/picture for custom screens.
· Diskchange and directory modification detect enhanced.
· 2.0 pens are saved in the config.
· Fixed crash when deleting files when sorting by date.
· Project icon DefaultTool path is expanded so it will always find DM.
· Fixed font selection problem in printer setup.

@endnode
@node "future" "What`s next?"
@REMARK .1
@{b}------------------------------------------------------------------------------
                        The road-map for future-releases:
------------------------------------------------------------------------------@{ub}

- Getting rid of all this Kick 1.3 hardcore intuition code!!!

- Fix all the bugs.

- Include all your wishes.

- A "Read %s HEAD" Option

- Gadtools GUI

- More keys used and accessable, e.g. cursor-controled windows,
  CTRL,ALT for key-commands.

- Directory buffers

- Progress Indicator

Most certainly not in this succession.

There will be no version for Phase5`s PPC boards since

a) I don`t have the money to buy one
b) DM2 is making heavy use of the OS
c) Amiga`s future is uncertain once again - thanks amiga inc!
   - I`ll keep my so-called 'Classic Amiga' alive !!!


And besides this, DM2 is not that CPU intensive and with optimized
algorithms it will also fly on your system!


Future changes to the guide:

- Add much more information to the list and provide more "exotic" examples
- More scripts to be bundeled with this release

- A survey on the users demands for new functions in DM2.

- A tutorial on using DM2.

@endnode
@node "mailing" "Discuss your problems with friends..."
@REMARK .2
@{b}------------------------------------------------------------------------------
                            DM2 Mailinglists:
------------------------------------------------------------------------------@{ub}

To join the @{b}dm2-forum@{ub} just send a mail to:

Address: DM2-Forum-subscribe@egroups.com
Header : -
Body   : -

Or have a look at the web-page:

http://www.egroups.com/community/DM2-Forum


Install a folder in your mailing-software and filter
out the mails from the list by scanning for:

@{b}Sender: DM2-Forum@egroups.com@{ub}

@endnode
@node "Creds" "Howdy Friends!"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                      Credits
------------------------------------------------------------------------------@{ub}

Special Greetings to:

Greg Cunningham    - Thank you!
Jerry W. Rubemeyer - You finally ended my quest - many thanks!

The following persons gave me a hand on creation of this document:

Mike Hendren - thank you for providing the DiskMasterII.Doc!!
J.M.S.oftware - whoever you are, thanks for typing the manual!
Jody Tierney - thanks for reporting the bugs in DM2.guide 0.13 and in <=0.39!
Bryan K. Williams - thanks for reporting the bugs in DM2.guide 0.15!
Manuel Martin-Vivaldi - thanks for reporting the bug in "Find" `till 0.22!
                        Thank you also for suggesting the "Question & Answers"
                        and for sending some text for the
                        tools section, describing HTMLess.

Fast Greetings to:

Martin Berndt - Thank you for MultiCX, it`s still my favourite!
Nico Francois - Wherever you are...
Dave Haynie   - Thank you for the hardware!
Heinz Wrobel  - Thank you for updating the OS!
The OS3 Team  - Very nice work guys, but please complete it someday...
Olaf Barthel  - You better not drink all the beer we own you... :-)

Personal Greetings to:

Richard Backhaus - my all-purpose coding-slave :-)
Jacques Bojart   - long term brother in arms...
Henrik Doerfler  - I still remember the day when I came from Volker`s place...
Nicolas Franck   - I really want that ProWizard update...
Thomas Kelly     - Thank you for a very interesting Mail-Thread!
Magnus Kutz      - What about a trip to the "Body`n`Soul"?
Ingmar Mix       - I won`t trust you again in dating with girls...
Martin Sass      - Let`s have a party again!
Patrick Schimpke - The szene`s dead anyway... :-(
Timo Treeter     - Thank you for the party-panic, honey.. :^)

And don`t feel angry if you think I should have mentioned you.
Just drop me a mail and we`ll see... 8-)

@endnode
@node "WinInfo" "WinInfo"
@REMARK .1
@{b}------------------------------------------------------------------------------
                              WinInfo (ARexx only)
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Give information about the open windows.

@{b}Syntax:@{ub} WinInfo [id] [path] [status] [var]

@{b}Arguments:@{ub}

@{b}id:@{ub} Returns the id of a window.

@{b}path:@{ub} Returns the current path of a window.

@{b}status:@{ub} Returns the current status of a window.
        SOURCE, DEST, CMD or OFF

@{b}var:@{ub} Change the base name of the stem var from LIST to whatever
     you specify within the next argument.


@{b}Examples:@{ub}

-----
address DM.1
Wininfo path id status
do i=1 to list
say list.id.i list.path.i list.status.i
end
-----

Print out the id, path and status of all windows currently open.

-----
address DM.1
Wininfo id status var boing
do i=1 to boing
 say boing.id boing.status
end
-----

Print out the id and status of all windows open using the stem-var "boing".

-----
address DM.1
Wininfo
say list
end
-----

Just prints the number of windows currently open.
@endnode
@node "Nils" "khao müüang dtaa liu dtong liu dtaa dtaam..."
@REMARK .1
@{b}-------------------------------------------------------------------------------
  ARexx-scripts, betatester, german translation, co-author for asm-routines
-------------------------------------------------------------------------------@{ub}

   Name: Nils Görs
    Aka: ./.
   Born: Early 70s in Wuppertal/Germany
   Home: Bergisches Land
 groups: ./.


current system:

  Amiga 3000 T(able), OS3.5
  2 MB Chip / 16 MB Fast
  Merlin-Gfx / 4MB
  1x Quantum Fireball, 3x Quantum LPS
  CD-ROM (manufacturing firm? - I don't know!;)
  Zyxel-Modem


Hobbies:

  my wife, my kids, my work (yes i really love my work!:),
  to play badminton, driving motorbike, to have lunch (i prefer asian-food!)
  travelling.


  e-mail:   nils@goers.line.org
  homepage: http://home.wtal.de/n_goers/
@endnode
@node "Iconify" "Iconify"
@REMARK .2
@{b}------------------------------------------------------------------------------
                                  Iconify
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Sends DM2 to suspend-mode.
          All windows and the screen are closed and a little app-icon
          is placed on the WB.
          To wake up DM2 just double-click on this icon.
          You can even iconify DM2 with ARexx.

          When iconified DM2 only recognizes two ARexx-commands:

          'Quit' - does just this
          'Wake' - DM2 wakes up on this


@{b}Syntax:@{ub} Iconify

@{b}Examples:@{ub}

 AddCmd Iconify, 30,Iconify

Adds a command "Iconify" to your command-window that when pressed
will send DM2 to sleep.

 rx "address DM.1;quit"

To be issued from a shell or may also be content of
an ARexx-script this will quit DM2 when it`s sleeping.

 rx "address DM.1;wake"

To be issued from a shell or in a script this will
wake up DM2 when it`s sleeping.
You may configure a hotkey in toolmanager with this line for example.
@endnode
@node "GUI" "GUI"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                    GUI
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Blocks user-input.

@{b}Syntax:@{ub} GUI [arg]

@{b}Examples:@{ub}

 GUI meaningless-arg-as-key

The graphical user-interface is blocked.

 GUI

The GUI accepts input again.
@endnode
@node "Choose" "Choose"
@REMARK .1
@{b}------------------------------------------------------------------------------
                                    Choose
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub}  Open a requester displaying a message and one or more buttons.
           Returns the number of the button pressed or user-supplied text in
           the requester-text flag, @{"%r" link "flags"}, and ARexx's RESULT variable.

@{b}Syntax:@{ub}  Choose [TITLE <text>] [TEXT <text>] [BUTTONS <text>]
                [RETBUTTONS] [RETURN <text>] [ABORT] [ASKONCE]

@{b}Arguments:@{ub}
@{b}TITLE@{ub}:  Requester's title.
        Default:  "DiskMaster <DM version>"

@{b}TEXT@{ub}:  The main text of the requester.  Multiple lines of text are possible; use a "|" to
       separate them.
       Ex:  "Hello world!|I'm a requester!"
       Default:  No text.

@{b}BUTTONS@{ub}: Text for the buttons.  Separate each button with a "|".
         Ex:  "Yes|Maybe|No"
         Default:  "Okay"

@{b}RETBUTTONS@{ub}:  Instead of the number of the button pressed, copy the button's
             name (from BUTTONS) to the @{"%r" link "flags"} flag and RESULT.
             Default:  @{"%r" link "flags"} and RESULT contain the number of the button pressed.

@{b}RETURN@{ub}:  Instead of the button's number, copy this text to @{"%r" link "flags"} and RESULT.
         Separate text for each button with a "|".
         Ex:  "Cat|Dog|Talk show host|Hamster"
               Pressing button #2 returns "Dog" in @{"%r" link "flags"} & RESULT.

@{b}ABORT@{ub}:  When specified, button #0 (the last button) sets DiskMaster's global
        abort flag.
        Default:  The abort flag isn't set.

@{b}ASKONCE@{ub}:  The requester will only appear once.
          Example:  Choose TEXT "Copy?" BUTTONS Y|N ABORT; Copy %s %d
                      The requester appears before every Copy operation.

                    Choose TEXT "Copy?" BUTTONS Y|N ABORT ASKONCE; Copy %s %d
                      The requester appears only once, before the first
                      Copy operation.
          Default:  The requester appears every time.


@{b}*Notes:@{ub}
- Any text containing spaces must be enclosed in quotation marks.
- Buttons are numbered 1, 2, 3, ..., 0.  The rightmost (last) button is #0.
  Traditionally, this is the "Cancel" button.
- The RETURN text is copied verbatim.  It's up to your script or command line
  to interpret any special characters/sequences it may contain.


@{b}Examples:@{ub}
Choose TITLE "Req. Test" TEXT "Do you like the Choose command?"
BUTTONS "Yes|Erm|No" RETURN ":^)|:^/|:^(" ; Msg @{"%r" link "flags"}
  The "Yes" button will display: :^)
  The "Erm" button will display: :^/
  The "No" button will display:  :^(

Choose TEXT "Okay to copy?" BUTTONS "Yes|No" ABORT; Copy %s %d
  The requester will appear before each file is copied.  Pressing "No" will
abort.

Choose TEXT "Okay to copy?" BUTTONS "Yes|No" ABORT ASKONCE; Copy @{"%s" link "flags"} @{"%d" link "flags"}
  The requester will appear before the first file is copied.  Pressing "No"
will abort.  If "Yes" is pressed all selected files willl be copied.

Choose TEXT "Viewer options:" BUTTONS "LORES|HIRES|HIRES LACE" RETBUTTONS;
Extern C:MyViewer @{"%s" link "flags"} @{"%r" link "flags"}
  In this example, the requester returns the text of the button pressed
(pressing "HIRES" will return "HIRES" for example).
@endnode
@node "SetX" "SetX"
@REMARK .2
@{b}------------------------------------------------------------------------------
                                      SetX
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Setting of internal vars.

@{b}Syntax:@{ub} SetX [digits=value|IconX=value|IconY=value|Notify]

@{b}Arguments:@{ub}

@{b}digits:@{ub}  Setup the length of the number-strings e.g. for free space.
         Strings longer than <value> will be converted to the next base.
         Defaults to five digits.
         Maximum is nine digits, minimum is five digits.

@{b}IconX:@{ub} Sets the X-coordinate for the appicon in @{"Iconify" link "Iconify" 0}

@{b}IconY:@{ub} Sets the Y-coordinate for the appicon in @{"Iconify" link "Iconify" 0}

@{b}Notify:@{ub} If set filesystem-notification is turned on.
        By default it is off. Also see @{"Bugs" link "Bugs" 0}.
        You have to reload the dirs before it actually works.

@{b}Examples:@{ub}

Free space is 658932587 bytes:

 SetX digits=9

Will result in displaying "658932587 B"

 SetX digits=8

Will result in displaying "643488 K"

 SetX digits=5

Will result in displaying "628 M"

 SetX IconX=320 digits=5 IconY=128 Notify

This will place the @{"Iconify" link "Iconify" icon close to the center
of a 640*256 screen, setting the number-strings to a length of five
and enables filesystem-notification.
@endnode
