@database DiskMaster.guide
@master DM2.guide
@$VER: "DiskMaster.guide 1.85 (99-04-02)"
@AUTHOR "Rudolph Riedel"
@(C) "1997-99 by Rudolph Riedel"

@REMARK Use an amigaguide-reader to read this!

@node "Main" "DiskMaster-Guide Main"
@{b}-------------------------------------------------------------------------------
                                DiskMaster II
-------------------------------------------------------------------------------@{ub}
       Copyright © 1997-99 by @{"Rudolph Riedel" link "Slave" 0} (rriedel@amiga.on-luebeck.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.85 (99-04-02)
@endnode

@node "Team" "Currently under development by:"
@{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...

@endnode

@node "Slave" "The stupid that hacked all this text into his machine..."
@{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 for a small company that developes and
produces PA systems for showmen.

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} rriedel@amiga.on-luebeck.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 4541 858657


My A1200 is now equiped as follows:

Self-Made Desktop Case with PC PSU
2  MB CHIP
16 MB FAST
Blizzard 1230 IV - 50 Mhz 030, no FPU or Blizzard 1240/40
Maxtor 2gig HD
NEC Multispin 4*4 ATAPI CD Changer
Creatix V34+ Modem
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..."
@{b}-------------------------------------------------------------------------------
                                   Co-Author
-------------------------------------------------------------------------------@{ub}

Name	: Richard Backhaus
age	: 20
aka	: dragon
groups	: incal and various others

computer
history	: - father bought an Amiga 500 in 1987
	  - some programs in basic
	  - various releases of assembler tools, doors and intros (incomplete):
		- mcdiz
		- dmsinterface
		- dgnstatus	(/X)
		- dgncomment	(/X)
		- dgnlogoff	(/X)
		- dgnpage	(/X)
		- dgndizadd	(/X)	*
		- dgndizstrip	(/X)	*
		- dgnlogoff	(DD)
		- dgnlhachecker
		- dgnlzxchecker
		- txtdiz
		- sidconvert		+
		- perwarp		*
		- dgncrypt		*
		- lhagui		+
		- c64charconverter	+
		- dragondiskmasher	+

	  - various releases of amiga-e made tools and doors (incomplete):	
	  	- arclist
	  	- capsbranch
	  	- dgndir
	  	- dgnfront	(/X)
	  	- gbfcomment
	  	- dgnstatus	(DD)
	  	- dgnfront	(DD)
		- dgnpwfail	(DD)
		- zipdiz
	
		* = internal
		+ = so far unreleased, maybe someday
	  - graphics for many groups' scene productions
	  - some web pages e.g. http://www.on-luebeck.de/~rriedel
current
system	: - Amiga 1200/Kickstart 3.0
	    2mb Chip/8mb Fast
	    an old Seagate 540mb harddrive
	    Mitsumi double speed cd-rom drive
	    M-Tec mc68030, 28mhz, 68881fpu
	    USR Sportster 28000
	    HP DeskJet 510
	  - soon to be accompanied by a pc/mac

reallife: - doing military service
hobbies	: - graffiti, graphics, music, travelling, computers, literature,
	    saturday nights, politics, philosophy, editor of maybe the
            best scenepapermag brainfART
	
contact	: - e-mail: @{b}rbackhaus@hotmail.com@{ub}

	    For pure Diskmaster reasons please e-mail to Rudolph,
	    as it is his project and anyway if your mail relates to parts of
	    my work, he will surely forward this mail to me.


           "Do you want to be dope, or do you want to deal it?"

                     Dedicated to all my true friends

@endnode

@node "SmegHead" "'Colourless green ideas sleep furiously.' - Prof. Noam Chomsky"
@{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?"
@{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"
@{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}
Grüner Weg 63
23909 Ratzeburg
Germany

Phone: +0049 4541 858657

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

@endnode

@node "ReqTools" "Requester magic..."
@{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..."
@{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..."
@{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"
@{b}-------------------------------------------------------------------------------
               DiskMaster Functions - @{"  General Information  " link "GInfo" 0}
-------------------------------------------------------------------------------@{ub}

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

@{"Removed Functions" link "removed" 0}

@endnode

@node "GInfo" "Some notes on the functions described"
@{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"
@{b}------------------------------------------------------------------------------
                                     About
------------------------------------------------------------------------------@{ub}

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

@{b}Syntax:@{ub} About

@{b}Arguments:@{ub} None

@endnode

@node "AddAutoCmd" "AddAutoCmd"
@{b}-------------------------------------------------------------------------------
                                AddAutoCommand
-------------------------------------------------------------------------------@{ub}

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

          When a file double-clicked, DiskMaster attempts to determine
          what type of file it is by matching the first few bytes of
          the file to a list of known patterns.
          If those few bytes match any of the patterns, the corresponding
          AutoCommand will be executed upon that file.

@{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 few bytes of the file,
      to determine wheter or not this AutoCommand is to be executed.
      The "?" wild card character may be used to represent
      a single unknown character.
      Control characters are preceded by the "^" character.

      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 ?PNG,Extern Tools:ppshow @{"%s" link "flags" 0}

After double-clicking on a file, DiskMaster will read the first few bytes
of the file and attempt to match it with the pattern "?PNG",
which is the pattern for PNG pictures.
If the pattern is matched, the command string
"Extern Tools:ppshow @{"%s" link "flags" 0}" will be executed.

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

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.

@endnode

@node "AddCmd" "AddCmd"
@{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"
@{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.

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


You may define as much as 100 keyboard commands.

@endnode

@node "AddMenuCmd" "AddMenuCmd"
@{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.

@{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}Example:@{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}.

@{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"
@{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"
@{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"
@{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 (abreviated).

@{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  Sun - 06.Dez.98  12:06@{ub}

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

@endnode

@node "Batch" "Batch"
@{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"
@{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"
@{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"
@{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"
@{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"
@{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"
@{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"
@{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"
@{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}

@{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}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.

@endnode

@node "Delete" "Delete"
@{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"
@{b}------------------------------------------------------------------------------
                                  Deselect
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Deselects files and directories based on pattern matching.

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

@{b}Arguments:@{ub}

@{b}(no arg):@{ub} Opens a requester asking for a pattern to match.

@{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".

@endnode

@node "Dirlist" "Dirlist"
@{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"
@{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"
@{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"
@{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"
@{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"
@{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"
@{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"
@{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"
@{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"
@{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"
@{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}

@{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}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"
@{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"
@{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"
@{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"
@{b}------------------------------------------------------------------------------
                                 OpenScreen
------------------------------------------------------------------------------@{ub}

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

This function is obsolete now, use @{"NewScreen" link "NewScreen" 0} instead!

And from 2.2b12 the usage of OpenScreen will result in a
screenmode-requester popping up, just save your Startup.DM from
within DM to correct things!

@endnode

@node "OpenWindow" "OpenWindow"
@{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"
@{b}------------------------------------------------------------------------------
                             Pack (@{"Recursive" link "recursive" 0})
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Compress a file using internal single file compression method.
          A ".dmp" extension is added automatically.

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

@{b}Arguments:@{ub}

@{b}signature:@{ub} An up to four character signature that will be included in the
           header of the file for later identification by an auto command.
           The pattern is: DMP0xxxx

@{b}Examples:@{ub}

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

Opens a requester, asking for a signature then packs all selected files
using the same signature.

 Pack @{"%s" link "flags" 0} txt

Using "txt" as signature will result in "DMP0txt" as header of the file.

* Please do not use this internal packer anymore.
  Due to some very strange assembly c00ding it will be thrown out
  as soon as I`m able to replace it.

@endnode

@node "Parent" "Parent"
@{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"
@{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"
@{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"
@{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"
@{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"
@{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"
@{b}------------------------------------------------------------------------------
                                  Quit
------------------------------------------------------------------------------@{ub}

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

@{b}Syntax:@{ub} Quit

@{b}Arguments:@{ub} None

@endnode

* The most useless function... ;^)

@node "Read" "Read"
@{b}------------------------------------------------------------------------------
                                 Read (@{"Recursive" link "recursive" 0})
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Opens DiskMaster's built-in file reader
          to read the specified file(s).

@{b}Syntax:@{ub} Read  <@{"file" link "file" 0}> [HEX | Screen_Options | SEARCH["Text"]]

@{b}Arguments:@{ub}

@{b}HEX:@{ub}  Specifies that the file reader is to use its "Hexadecimal" mode.
      In this mode, the file will be displayed in both Hexidecimal and ASCII.

@{b}Screen_Options:@{ub} These are the options for the screen the reader the will open,
                compatible with @{"NewScreen" link "NewScreen" 0} .
                In fact, @{b}Read@{ub} will call @{b}NewScreen@{ub} with
                a "d=2" as default value.

@{b}SEARCH:@{ub} Specifies that a search is to be made on the specified file(s).

@{b}Text:@{ub} If a search is to take place, specifies the search string.
      If SEARCH is specified, but this argument is omitted,
      a requester will open first to ask for the search string.


@{b}Using the Reader:@{ub}

Once the reader has loaded the file and opened its screen,
the first page of text is displayed.
The file reader does not wrap the text.

Scrolling:

@{b}Cursor Left/Right@{ub} (@{b}Keypad 4/6@{ub}): Move the display window by eight columns.
@{b}Cursor Up/Down@{ub} (@{b}Keypad 8/2@{ub}): Move the display window by one line.
@{b}Shift Cursor Up/Down@{ub} , @{b}Space/Backspace@{ub} (@{b}Keypad 9/3@{ub}): Move the display window page-wise.
@{b}T@{ub} / @{b}Keypad 7@{ub} : Top of file.
@{b}B@{ub} / @{b}Keypad 1@{ub} : Bottom of file.
Left Mouse : Toggle "Jump" mode / "Smooth" mode.

When in "Smooth" mode, placing the pointer in the center of the screen will
pause the scroll.  Moving the pointer a short distance up or down from center
will cause the display to move slowly in the direction of the pointer movement.
Moving the pointer up or down to the near top or bottom of the screen will
cause the display to quickly scroll in the direction of the mouse movement.

Searching:

@{b}S@{ub} : Opens a requester asking you for a string to search.

The search string requester will accept the wild card characters
"?" (single unknown) and "*" (multiple unknown).  When in
hexadecimal display mode, entering a hexadecimal value preceded
with a "$" will search for that hexadecimal string.

After entering the search string, the reader will search the file for the
specified string. If the string is found, the portion of the file will be
displayed where the string first occurs, with each occurrence of
the string highlighted.

@{b}C@{ub}/@{b}N@{ub} : Continue the search.

@{b}M@{ub} : Switch between HEX and ASCII modes.

To exit the file reader you can click on the close gadget at the upper left
corner of the screen, or press [Q], [Esc], [Enter], or [Return], or the mouse.

@{b}Examples:@{ub}

 Read @{"%s" link "flags" 0} w=640

Read selected text file(s) using an 640 pixels wide screen.

 Read @{"%s" link "flags" 0} Hex d=4

Opens the reader in hexadecimal display mode with a depth of 4.

 Read @{"%s" link "flags" 0} SEARCH "bubblegum"

Read selected text file(s) and search for the string "bubblegum".

 Read @{"%s" link "flags" 0} h=300 SEARCH

Read selected files, ask for a searchstring and open a 300 pixels high screen.

 Read @{"%s" link "flags" 0} SEARCH h=300

Won`t work properly since DM assumes that "h=300" is your searchtext!

@endnode

@node "Recursion" "Recursion"
@{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"
@{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"
@{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"
@{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"
@{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"
@{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"
@{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"
@{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"
@{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"
@{b}------------------------------------------------------------------------------
                                  Select
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Selects file in the source window using the specified pattern(s).

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

@{b}Arguments:@{ub}

@{b}(no arg):@{ub} Opens a requester asking for the pattern for the selection.

@{b}Examples:@{ub}

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

@endnode

@node "SetDate" "SetDate"
@{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}] [date]

@{b}Arguments:@{ub}

@{b}date:@{ub} The date to be written to the specified file(s).
      The date must be specified in the format hh:mm:ss ddmmyy.
      If no date is supplied, the current date and time will be used.

@{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"
@{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
@{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 W D-M-Y C"

Changes format to SIZE NAME ATTRIBUTES TIME WWW 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/w/y works fine...

@endnode

@node "SetList" "SetList"
@{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"
@{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"
@{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"
@{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"
@{b}------------------------------------------------------------------------------
                                  Sort
------------------------------------------------------------------------------@{ub}

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

@{b}Syntax:@{ub} Sort [ N(-) | C(-) | D(-) | S(-) | F ] [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}C@{ub}: Sorts the active window by comment.

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

@{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}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.

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.

@endnode

@node "Status" "Status"
@{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"
@{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"
@{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"
@{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"
@{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 [%C] [%F] [%I] [%B] [Text]

@{b}Arguments:@{ub}

@{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}%B:@{ub} Total number of bytes in the selected files.

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

@{b}Example:@{ub}

 TitleFormat Selected: %I of %C Files totaling %B Bytes

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 Bytes@{ub}

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

@endnode

@node "UnLock" "UnLock"
@{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"
@{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"
@{b}------------------------------------------------------------------------------
                             Unpack (@{"Recursive" link "recursive" 0})
------------------------------------------------------------------------------@{ub}

@{b}Function:@{ub} Decompress a file using internal single file compression method.

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

@{b}Example:@{ub}

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

Unpack all selected .dmp files.

@endnode

@node "View" "View"
@{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'
  and will also replace 'Read' somewhere in the future.

@endnode

@node "Wait" "Wait"
@{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"
@{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..."
@{b}------------------------------------------------------------------------------
                      Removed functions since 2.1c:
------------------------------------------------------------------------------@{ub}

                          @{"    DiskCopy    " link "DiskCopy" 0}
                          @{"     Format     " link "Format" 0}
                          @{"      Play      " link "Play" 0}

                          @{"  Backpattern   " link "Backpattern" 0}
                          @{"    ShowPic     " link "ShowPic" 0}

                          @{"     Expand     " link "Expand" 0}

@endnode

@node "Play" "Play"
@{b}------------------------------------------------------------------------------
                                  Play
------------------------------------------------------------------------------@{ub}

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

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

@{b}Arguments:@{ub}

@{b}(no arg):@{ub} Stops the musik and unloads the module.

@{b}Examples:@{ub}

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

Plays the selected file as a SoundTracker/NoiseTracker/ProTracker module.

  Play

Stops playing.

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

@endnode

@node "DiskCopy" "DiskCopy"
@{b}------------------------------------------------------------------------------
                                DiskCopy
------------------------------------------------------------------------------@{ub}

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

@{b}Syntax:@{ub} DiskCopy <source> <dest0> [dest1] [dest2] [dest3] [MULTI]

@{b}Arguments:@{ub}

@{b}(no arg):@{ub} Opens a diskcopy requester allowing you to visually
          set all diskcopy options.

@{b}source:@{ub} The floppy drive to be used as the source drive.

@{b}dest0:@{ub} The furst floppy drive to be used as the destination drive.

@{b}destN:@{ub} Optional destination drives.

@{b}MULTI:@{ub} Multiple Copy flag allowing more than one set of copies to be
       made from a single reading of the source disk.

@{b}Example:@{ub}

 DiskCopy Df0: Df0: Df1: MULTI

Reads the disk in DF0: into memory, then wrties to DF0: and DF1: .
After each set pf copies is complete, you will be prompted to insert additional
disks into DF0: and DF1: to make additional copies.
Pressing @{b}ESC@{ub} will abort the operation.

* removed in 2.2b2

@endnode

@node "Expand" "Expand"
@{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.

* Removed in 2.4b23 after rewriting of 'Parent' to make us of the OS function
  ParentDir() which expands the paths in any case.

@endnode

@node "Format" "Format"
@{b}------------------------------------------------------------------------------
                                  Format
------------------------------------------------------------------------------@{ub}

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

@{b}Syntax:@{ub} Format <DFx:> [name] [DFx:] [name] ... [INSTALL|QUICK|FFS|VERIFY]

@{b}Arguments:@{ub}

@{b}DFx::@{ub} The drive to be used to format a disk.

@{b}name:@{ub} The name to be given to the disk being formatted in the
      previously specified drive.

@{b}INSTALL:@{ub} Makes the newly formatted disk "bootable".

@{b}QUICK:@{ub} Specifies that the directory of the disk will be cleared instead
       of a full format being performed.

@{b}FFS:@{ub} Use the FastFilingSystem on that disk.

@{b}VERIFY:@{ub} Specifies that the disk is to be verified during format.

@{b}Examples:@{ub}

 Format

Opens DiskMaster`s format requester.

 Format DF0: Empty0 DF1: Empty1 DF2: Empty2 INSTALL QUICK

Formats disks in DF0:, DF1: and DF2: with diff. names, installing each,
and uses the QUICK option (fast clear).

* removed in 2.2b2

@endnode

@node "Backpattern" "Backpattern"
@{b}------------------------------------------------------------------------------
                              Backpattern
------------------------------------------------------------------------------@{ub}

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

@{b}Syntax:@{ub} Backpattern <@{"file" link "file" 0}> [[P]alette]

@{b}Arguments:@{ub}

@{b}P:@{ub} Use the color palette of the selected picture.

@{b}Examples:@{ub}

 Back "Env:DMPattern.ilbm"

Loads the specified file.

 Back @{"%s" link "flags" 0} P

Loads the selected file and uses it's color palette.

 Back

Clears the pattern.

* removed in 2.2b3

@endnode

@node "ShowPic" "ShowPic"
@{b}------------------------------------------------------------------------------
                              ShowPic (@{"Recursive" link "recursive" 0})
------------------------------------------------------------------------------@{ub}

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

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

@{b}Arguments:@{ub}

@{b}seconds:@{ub} The number of seconds the picture file is to be
         displayed (this argument does not affect sound files).

@{b}Example:@{ub}

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

Shows/Plays all selected files in the source window.

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

@endnode

@node "flags" "Flags"
@{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"
@{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"
@{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"
@{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"
@{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"
@{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"
@{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..."
@{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..."
@{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..."
@{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!"
@{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"
@{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..."
@{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" "The places to go..."
@{b}------------------------------------------------------------------------------
                 Here you will find new versions of DiskMaster:
------------------------------------------------------------------------------@{ub}

Aminet/util/dir  - I will upload new versions, the bad thing for you is
                   that I have to wait ten days before I`m allowed to upload
                   a new version.

comp.sys.amiga.binary  - I gave my permission to distribute DM over this
                         newsgroup moderated by Bill Zimmer (zim@ibx.com)

http://www.on-luebeck.de/~rriedel - Online since 97-04-04, this webpage was
                                    designed by @{"Richard Backhaus" link "Company" 0}.

ftp://ftp.on-luebeck.de/pub/systems/amiga/diskmaster2
                                  - Online since 97-06-03 01:02:12
                                  - Here you will also find the actual beta.

Angel CiTY bBS (Germany)
------------------------
  Netname: ACiTY
   DOMAIN: .DAME.DE
   Number: +49-[0]911/698527 [28k8/ISDN]
           +49-[0]911/698551 [33k6]
   Online: 24h
   System: A2ooo/6o
  DM-Area: /Support World/Diskmaster
 Username: DM

@endnode

@node "Bugs" "Bugs"
@{b}------------------------------------------------------------------------------
                 These are the known Bugs in DiskMaster 2.1c
------------------------------------------------------------------------------@{ub}

Please report any bugs to: @{b}DMBugs@amiga.on-luebeck.de@{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.

- The Text Reader is limited to 10000 lines or 500k or something,
  misses the end on internally crunched files
  and scrolls to the next matching string while searching instead of jumping.

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

- Shows wrong amount of space on drives >2gig,
  reported by Georg Hazianastasiou (haz@geocities.com).

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

- The dir-windows are not locked from access during scanning a new dir.
  Reported by Xavier Messersmith (xcaliber@wco.com).

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

@endnode

@node "wish" "You want it?"
@{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.

Voting is open now!
Just send a mail with the id`s of your ten most-wanted features
to @{b}vote4dm2@amiga.on-luebeck.de@{ub} !

Last Update:  8-Dec-98

New:  06.05
      06.06
      09.24

Removed:  09.22
-----------------------

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
===============================
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<ID> - Return path of window # <ID>.  Include trailing "/" when appropriate.
  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)



S02.  ARexx - New Commands
==========================
ARexx
  Purpose:  Run ARexx scripts asynchronously.

  - Hannu Nevalainen <henk@it.kth.se>
  (ID:  02.01)


BlockInput
  Purpose:  Ignore user input while a script is running.

  - Nils Goers <N.Goers@Art-line.de>
  (ID:  02.05)


PathList
  Purpose:  Return paths of all open windows.

  - Hannu Nevalainen <henk@it.kth.se>
  (ID:  02.02)



S03.  Commands - Existing
=========================
AddAutoCmd
  Hex recognition.

  - Nils Goers <N.Goers@Art-line.de>
  (ID:  03.01)


AddCommand
  Ability to also specify keyboard shortcuts.

  - Karen Lindsey <ksl@usa.net>
  (ID:  03.02)


BarFormat
  A flag to display the current DM port name (like %a).

  - Moses Wildermuth <mosespro@ecity.net
  (ID:  03.46)


CloseWindow
  Template:  CloseWindow [number] [ALL]
  Purpose:   Option to close all open windows.

  - Hannu Nevalainen <henk@it.kth.se>
  (ID:  03.03)


Confirm
  Ability to include returns in requester text.

  - Nils Goers <N.Goers@Art-line.de>
  (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)


Copy & Move
  - Accept a file as a destination.
    Ex:  Copy %s Path/Filename

    - Nils Goers <N.Goers@Art-line.de>
    (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 <N.Goers@Art-line.de>
    2- Fredrik Ismyren <fredrik.ismyren@usa.net>
     - 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)


Delete
  - Warn if a file is protected; option to delete/overwrite it.

    - Rudolph Riedel <rriedel@amiga.ON-Luebeck.de>
    (ID:  03.09)


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)


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 <N.Goers@Art-line.de>
    (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)


Pack
UnPack
  XPK support (Pack), XFD support (UnPack).

  -  Nils Goers <N.Goers@Art-line.de>
  2- Jody Tierney <jtierney@cyberlink-inc.com>
  (ID:  03.11)


Print
  Remove it.

  -  Nils Goers <N.Goers@Art-line.de>
  2- Fredrik Ismyren <ismyren@hem1.passagen.se>
     Jody Tierney <jtierney@cyberlink-inc.com>
  (ID:  03.30)


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)


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 <ismyren@hem1.passagen.se>
    (ID:  03.33)

  - Ability to root other windows.  Ex.  Root RAM:

    - Fredrik Ismyren <fredrik.ismyren@usa.net>
    (ID:  03.34)


SaveConfig
  - Put quotation marks around the device names in OpenWindow lines.
    Ex: OpenWindow ... "RAM Disk:"

    - Fredrik Ismyren <fredrik.ismyren@usa.net>
    (ID:  03.37)


Select
  - Ability to select files older/newer than a certian date, or between two
   dates.

    - Fredrik Ismyren <ismyren@hem1.passagen.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 <ismyren@hem1.passagen.se>
    - Bablos <bablos@enterprise.net>
    (ID:  03.31)


TitleFormat
  %D:  Number of dirs in the window.
  (ID:  03.40)

  %G:  Number of directories selected in window.
  (ID:  03.41)

  %A:  Total number of bytes from files in window.
  (ID:  03.42)

    -  Nils Goers <N.Goers@Art-line.de>
    2- Fredrik Ismyren <fredrik.ismyren@usa.net>

  - Ability to specify how sizes are displayed (bytes/kbytes/mbytes/gbytes),
   especially for "%F".

    -  Nils Goers <N.Goers@Art-line.de>
    2- Fredrik Ismyren <fredrik.ismyren@usa.net>
    (ID:  03.43)


Window
  - Add [prev] and [ID] arguments.
    (ID:  03.23)

    -  Hannu Nevalainen <henk@it.kth.se>
    2- Nils Goers <N.Goers@Art-line.de>


  - 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 <ismyren@hem1.passagen.se>
    (ID:  03.32)


- 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 <N.Goers@Art-line.de>
  2- Jody Tierney <jtierney@cyberlink-inc.com>
  (ID:  04.07)


Ask        - Requester w/ button choices only.
AskString  - String requester.

  Instead of the all-in-one Confirm.

  - Nils Goers <N.Goers@Art-line.de>
  (ID:  04.01)


ButtonRequest
  Purpose:  Opens a req. w/ <x> number of user-supplied buttons.  Returns the
           button's data (name) in %r (Ex:  Button "LZX" returns "LZX" in %r).

  - Fredrik Ismyren <fredrik.ismyren@usa.net>,
  (ID:  04.09)

Compare
  Purpose:  Checks two identical drawers if files have changed.

  - Bill Simon <bills@webgate.net>
  (ID:  04.02)


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)


RequestDevice
  Purpose:  Pops up a device requester, returns the chosen device in %r.

  - Nils Goers <N.Goers@Art-line.de>
  (ID:  04.10)


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 <ismyren@hem1.passagen.se>,
  (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 <N.Goers@Art-line.de>



S05.  Dir. Windows
==================
- Parent button to expand assigns.
  Ex:  If REXX: = SYS:S/Rexx, then hitting the parent button should change the
      directory to "SYS:S/".

  - Jens Granseuer <jensg@steingym.ham.nw.schule.dey>
  (ID:  05.02)


- 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 <N.Goers@Art-line.de>
  (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 <N.Goers@Art-line.de>
    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 <ismyren@hem1.passagen.se>,
  2- Nils Goers <N.Goers@Art-line.de>
  (ID:  05.18)


- Selected items should not be deselected when the window is updated.

  - Nils Goers <N.Goers@Art-line.de>
  - 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 <ismyren@hem1.passagen.se>,
  (ID:  05.20)



S06.  Flags
===========
- The file name without its extension.

  - Fredrik Ismyren <ismyren@hem1.passagen.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 <ismyren@hem1.passagen.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 <ismyren@hem1.passagen.se>
  (ID:  06.04)


- %m, all selected entries with full paths (multi-selection).
  - Nils Goers <N.Goers@Art-line.de>
  (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 <N.Goers@Art-line.de>
  (ID:  06.06)



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 <N.Goers@Art-line.de>
    Hannu Nevalainen <henk@it.kth.se>
  (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 <N.Goers@Art-line.de>

  - <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
===========
- GadTools menus.

  - Hans Guijt <H.Guijt@inter.NL.net>:
  (ID:  08.01)


- 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>
  (ID:  08.04)



S09.  Misc.
===========
- Ability to iconify DM2.

  - Mike Hughes <mike@hughes.mersinet.co.uk>
    Jeff D. Robertson <jeff.robertson@trw.com>
    Moses Wildermuth <mosespro@ecity.net>
  (ID:  09.01)


- Thousands seperator ("," or ".").
  Ex:  "8,995,840" instead of "8995840".

  - Karen Lindsey <ksl@usa.net>
    Clay Alberts <clay@umcc.umcc.umich.edu>
  (ID:  09.02)


- 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>:
  (ID:  09.06)


- More colors/pens.
  [16 could be easily(??? :-) ) supported if AddCmd recognized hex, like:
   - "AddCmd NiftyCmd, 5C, ..." - J.]

  - Fredrik Ismyren <ismyren@hem1.passagen.se>
  (ID:  09.08)


- Ability to execute commands w/ or w/o args.
  Ex:  "HippoPlayer %s" -> Run HippoPlayer even if nothing's selected.

  - Fredrik Ismyren <ismyren@hem1.passagen.se>
  (ID:  09.09)


- Look for Startup.DM in "PROGDIR:".

  - Hannu Nevalainen <henk@it.kth.se>
  (ID:  09.10)


- 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 <N.Goers@Art-line.de>
  (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 <ismyren@hem1.passagen.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.
  (ID:  09.24)
  - Nils Goers <N.Goers@Art-line.de>



S10.  Text Viewer
=================
- Use DM's font instead of always topaz/8.

  - Jeff D. Robertson <jeff.robertson@trw.com>
  (ID:  10.01)


- Support ANSI escape codes.

  - Dave Pierson <fishb@gte.net>
  (ID:  10.02)


- Goto line #<n>.
  (ID:  10.03)
- Goto <n>%.
  (ID:  10.04)
- Print.
  (ID:  10.05)
- Snapshot current screen.
  (ID:  10.06)
- Help page listing options & their keys.
  (ID:  10.07)
[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>


@endnode

@node "Questions" "Look here first..."
@{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..."
@{b}------------------------------------------------------------------------------
                 What happened to the binary so far:
------------------------------------------------------------------------------@{ub}

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?"
@{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..."
@{b}------------------------------------------------------------------------------
                            DM2 Mailinglists:
------------------------------------------------------------------------------@{ub}

There are two lists installed since 97-06-09 21:45!

And now you may subscribe to the first: @{b}dm2-forum@{ub}

Just send an e-mail to: @{b}majordomo@on-luebeck.de@{ub}
And include this line in the @{b}body@{ub}: subscribe dm2-forum
Additionally you should include this line: help

This is the list for discussion about all topics you have concerning DM2.

After receiving the "welcome to..." from majordomo you are using the list
by sending mail to: @{b}dm2-forum@on-luebeck.de@{ub}
As a kind of return-receipt, your mail will be "bounced".

You should filter out the mails from the list by scanning for:

@{b}Sender: owner-dm2-forum@on-luebeck.de@{ub}

Thanks to Hannu Nevalainen for correcting me with this.

The second list - @{b}dm2-beta@{ub} - is still not ready for subscription
                             due to a constant lack of time and as it
                             seems that nearly no-one wants it.

@endnode

@node "Creds" "Howdy Friends!"
@{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...

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
