@database AFCopy.guide

@Width 72

@Node Main "AFCopy.guide"


          ________   _______   _______   _______   _______   __    __
         / ____  /\ / _____/\ / _____/\ / ___  /\ / ___  /\ / /\  / /\
        / /\__/ / // /\____\// /\____\// /\_/ / // /\_/ / // / / / / /
       / /_/_/ / // /_/_    / / /     / / // / // /_// / // /_/_/ / /
      / ____  / // ____/\  / / /     / / // / // _____/ //_____  / /
     / /\__/ / // /\___\/ / / /     / / // / // /\____\/ \____/ / /
    / / / / / // / /     / /_/__   / /_// / // / /     ______/ / /
   /_/ / / / //_/ /     /______/\ /______/ //_/ /     /_______/ /
   \_\/  \_\/ \_\/      \______\/ \______\/ \_\/      \_______\/


          Welcome To AFCOPY V3 - A File Manager For your AMIGA


        Written and designed by Dominic Clifton - HYDRA Productions

                               @{" Introduction  " Link Intro}
                               @{" This Version  " Link Version}
                               @{" History       " Link History}
                               @{" The Author    " Link Author}
                               @{" Updates       " Link Updates}

                               @{" Instructions  " Link Instructions}
                               @{" Configuration " Link Config}

                    @{"Other Programs by HYDRA Productions" Link Other}

@EndNode

@Node Author "Just who is this Dominic Chappie ?"

  AFCopy was written by Dominic Clifton.

  If you want to contact me to say just how much you like AFCopy
  or maybe you've filled in the @{"questionaire" link question} and want to return
  it (naah, noone will borther) or you want to give me your entire
  life savings then you can do it in the following ways :-

  Phone:
         0202 404410 - Work - From 8:30AM to 5:00PM (mon-fri)
         0202 432007 - Home - From 5:30PM to 11:30PM
      (and yes, I am always up that late :-)

  Snail Mail:

     My flat                      My Parents address

     77A Southbourne Grove        9 Shires Copse
     Southbourne                  Southbourne
     @{"Bournemouth" link bournemouth}                  Bournemouth
     Dorset                       Dorset
     BH6 5XJ                      BH6 4AL


  E-Mail:
    Leave a message to "Dominic Clifton" in the Fido echo mail
    areas WORKBENCH_HELP or AMIGA_UK.  You should get a reply
    within a couple of days.

@EndNode

@Node Question "Questioniare!"

  Ok included in this archive there should be a small questionaire
  that I'd like you to fill in and return to me so that I can make
  AFCopy even better for you.

  The file name is "EDIT.ME", please load this into your nearest
  text editor and fill it in for me.

  You can return it in to me however you like (but tied to a brick
  is *not* preferable :-) (gosh you're so funny dom.)

  see @{"The Author" link Author} for details of how to return it.

@endNode

@Node bournemouth "Bournemouth!!!"

 A very nice place to live indeed!

 If you are thinking of moving house then move here!!!!

@EndNode

@Node Updates "How to get an Update of AFCOPY"

  How to get an Update of AFCOPY
  ------------------------------

  You don't!!!

  Just kidding (tut, me and my little jokes huh?)

  Ok, seriously though you can get updates from me if you write
  to me (dont forget to enclose return postage and a disk or
  a disk with something nice on it and I'll pay for the postage! :-)

  Or, log onto The Computer Emporium (AGA Support BBS)
  Piston Poppers (The Neverland Express) and download it

  Or, ask your local PD stockist.  (Just on the off-chance that
  one of them might actually have one decent program!!)

@EndNode

@Node Intro "Introduction to AFCopy"

  AFCopy is a File Manager is designed to be simple, fast and
  efficient and EASY to use.  You should be able to figure out
  all of it's many brilliant functions just by looking at it.

  AFCopy is STABDWARE (what ? I hear you cry!)
  Send-The-Author-a-Blank-Disk-Ware!! which means you
  have to send me a blank disk and I'll consider you a
  registered user.
  But if you want to send me anything else for all the misery I
  went though writing this program then you're welcome to.

  AFCopy MAY be included on coverdisks/util packs/PD disks or
  compilations.
  It may also be transferred via any means you see fit
  (and I DO mean any means) as long as all the files in the
  archive are distributed together.

  Just remember,  if you modify it in anyway (like putting
  your name on it or removing bits) I may not do another
  version of this program and you know how upset you would
  be if you wanted a bug (should you ever find one) fixed.
  however, if you improve this version then let me know ASAP!
  please see @{"How To Contact The Author" link Author}

@EndNode

@Node Instructions "Instuctions"

  First Time Users
  ================

  There are a couple of things about AFCopy that might not be
  totally obvious the first time you look at the program.
  These are:

  1 - To change directory use the right mouse button when over
      an entry marked <DIR>

  2 - When you click on a side it doesnt highlight a file on
      the first mouse click.
      This is because the other side was the current side.

      The current side is indicated by two small boxes near
      the bottom of the screen.  The one which is @{"WHITE" Link Arkward}
      indicates the current side.

  3 - What are @{"@x@ codes" link codes}
      also see @{"Batch" Link G_Batch"}


  Gadgets
  =======

  for help on the gadgets clonk your pointer on one of these
  (the letter by the side is the key you can press to activate
  the gadget if you are using the @{"keyboard" Link Keyboard})



  C  @{"Copy" Link G_Copy}
  S  @{"Swap" Link G_Swap}
  R  @{"Rename" Link G_Rename}
  O  @{"Clone" Link G_Clone}
  V  @{"View" Link G_View}
  A  @{"Read" Link G_Read}
  E  @{"Edit" Link G_Edit}
  H  @{"Hear" Link G_Hear}
  I  @{"Print" Link G_Print}
  X  @{"Execute" Link G_Execute}
  #  @{"Run" Link G_Run}
  T  @{"Comment" Link G_Comment}
  P  @{"Protect" Link G_Protect}
  Z  @{"Archive" Link G_Archive} (The Z is for ZIP! (i know, crap aint it :-))
  U  @{"Unarc" Link G_Unarc}
  M  @{"MakeDir" Link G_Makedir}
  +  @{"Mark All" Link G_MarkAll}
  -  @{"UnMark" Link G_UnMark}
  *  @{"Reverse" Link G_Reverse}
     @{"Dos" Link G_Dos}
  B  @{"Batch" Link G_Batch}
  L  @{"Volumes" Link G_Volumes}

@EndNode

@Node Keyboard "Using the keyboard"

  at the moment not every thing can be done from the keyboard
  (like the things in the config section and a couple of requesters)

  All requesters can be deatl with by the keyboard thanks to
  reqtools.librarys's great keyboard support. To cancel a requester
  press ESCAPE (esc) or press "N", to select the default item on a
  requester (it's the button in bold type) press Return (or Enter)
  or press the "Y" key.

  Most of the gadgets down the middle of the screen can be activated
  by pressing the letter above the underscore.
  for the few which havent got underscores look in the instuctions
  part where it says GADGETS and you'll find a list of them.

@EndNode

@Node G_Copy "Copy Gadget"

 this gadget copies the highlighted files and directories
 (and all subdirectories) from the current side to the directory
 in the other side.

 If one of the files exists in the other directory and @("AutoOverwrite" Link AutoOverwrite}
 is turned off you will be prompted wether you want to overwrite the
 other file.

@EndNode

@Node G_Swap "Swap Gadget"

 This does exactly the same as the @{"Copy" Link G_Copy} gadget on
 it will delete all the highlighted files in the current side after
 it has copied them.

 If there are any errors while copying a file it will NOT be deleted.

 (auto over-write applies to this gadget too)

@EndNode

@Node G_Rename "Rename Gadget"

  When clicked on this gadget will let you enter a newname for each of
  the highlighted files in the current direectory.

  You may enter a completely new path for the file

  E.G.

  if you had clicked on a file called "HYDRA.dat" in the directory
  "DH1:HYDRA_Progs"

  it would bring up a requester with

  "DH1:HYDRA_Progs/HYDRA.dat"

  and you could then change this to "DH1:old_stuff/deleteme/hydra.dat.old"

  The same works with directories.

  At present if the file has an icon you will have to manually rename
  that too.

@EndNode

@Node Delete "Delete"

  this gadget lets you delete all highlighted files in the current side.
  if you have @{"delete verify" Link DeleteVerify} turned on (default) you will get a requester
  asking wether you are sure.

  it will delete all files and all subdirs..

@EndNode

@Node G_Clone "Clone Gadget"

  This gadget, when pressed, will prompt you for a new name for all the
  highlighted files in the current side.  It will then copy the file
  highlighted to the new name specified in the requester.

  This is usefull for making bakups of files/directories..

  E.G.

  say you clicked Clone when "MySource.c" was highlighted, you could
  then type in "MySource.c.bakup" which then make an exact copy
  of "Mysource.c" called "MySource.c.bakup"

@EndNode

@Node G_View "View Gadget"

  This gadget will let you view any file using an external file viewer
  specified in the config section.

  so in the config section you had set up the file "DH1:Gfx/ViewTek/VT"
  as the file viewer, AFCopy would then run this program for every
  highlighted file, appending the file name to the program name.

  Dont forget you can use a program like multiview which will let
  you view different types of files..

  E.G

  you had "dh0:pictures/mypic.gif" highlighted and you then clicked on
  View, the actual command called would be
  "DH1:Gfx/ViewTek/VT dh0:pictures/mypic.gif"

@EndNode

@Node G_Read "Read Gadget"

  same as the @{"View" Link G_View} Gadget only you can use this for a text viewer.

@EndNode

@Node G_Edit "Edit Gadget"

  same as the @{"View" Link G_View} Gadget only you can use this for a text/file editor.

@EndNode

@Node G_Hear "Hear Gadget"

  same as the @{"View" Link G_View} Gadget only you can use this for a sample/music player.

@EndNode

@Node G_Print "Print Gadget"

  same as the @{"View" Link G_View} Gadget only you can use this for a text/file printer.

@EndNode

@Node G_Execute "Execute Gadget"

  this gadget will execute all AmigaDos script files that are highlighted.

@EndNode

@Node G_Run "Run Gadget"

  this gadget will first prompt you for any parameters you wish to add the
  highlighted program and will then run the highlighted program for you.

  E.G.

  say you highlighted "Avail" in "C:" and then clicked on RUN you
  could add the parameter "FLUSH" to the command line.

  So your final command that gets executed could be "C:Avail FLUSH"

@EndNode

@Node G_Comment "Comment Gadget"

  This gadget will let you enter a different comment for each highlighted
  file which will be displayed by the AmigaDOS List command and other
  programs that use file comments.

  E.G.  say you had highlighted a file called "letter.txt" you could
  add a comment like "Letter to my MP about VAT"

  If you have entered a comment previously afcopy will let you modify the
  old comment.

@EndNode

@Node G_Protect "Protect Gadget"

  This gadget lets you modify the protection bits for all highlighted
  files.  So you can set files to Pure/Script/Executeable and so on.

  Usefull for setting flags for script files.

  It may also be usefull to note that you could set the "hidden"
  bit on every ".info" file and then turn off @{"the ignore hidden bit" Link IgnoreHidden} in
  config section, so that whien you bring up a directry listing the
  .info files are missed out.."

@EndNode

@Node G_Archive "Archive Gadget"

  this gadget will archive all the highlighted files to an archive
  specifed by the user using the archiver specified in the config
  section.

  At present only archivers that supports @{"list files" Link ListFiles} will work.

  What afcopy does is create a tempory list file in T:
  and then passes this as an argument to the archiver.  So if you
  specified "sys:archivers/lha" in the config section and the file name
  of the archive that you want to create is "ram:bakup.lha" then the
  command that gets executed is

  "sys:archivers/lha a -r ram:bakup.lha @t:afcopy.tmp"

  In a future version i'll make it so that you can change the archiver
  options.  At present it's not too important as only one archiver
  is really used on the amiga and you can add different archivers
  to the user defineable gadgets.


@EndNode

@Node G_UnArc "UnArc(hive) Gadget"

  This gadget will let you unarchive files using the unarchiver specified
  in the config section,  it'll also let you chose where you want the
  archived files to be stored and what archiver options you wish to use
  by way of a requester.

@EndNode

@Node G_MakeDir "Make Directory Gadget"

  When pressed it will promt you for a name of a new directory that you
  want to create and wether you want an icon for it.

  Note: if you want it to create an icon you must have drawn one and
  saved it to disk somewhere and told afcopy where it is in the config
  section.

@EndNode

@Node G_MarkAll "Mark All Gadget"

  This gadget will highlight all files in the current side.

@EndNode

@Node G_UnMark "Unmark Gadget"

  This gadget will un-highlight all files in the current side.

@EndNode

@Node G_Reverse "Reverse Gadget"

  This gadget will reverse the highlights on every file in the current
  side.  That's to say that if you had a file highlighted it will be
  unhighlighted and vice-versa.

@EndNode

@Node G_Dos "Dos Gadget"

  When you click on this you'll be able to enter any AmigaDOS command
  into a requester.

@EndNode

@Node G_Batch "Batch Gadget"

  this is one of THE most powerfull commands in afcopy. with it you
  can highlight a few files and then specify what program you want to do
  with them and all sorts of other things.

  If you follow this example things might become a bit clearer

  1) get a list of files on the screen (IE Click on RAM: or DH0:.. )
  2) click on a few filenames so that they are highlighted
  3) click on BATCH
  4) you will now see a string requester
  5) enter "C:LIST @<@@F@" (without the quotes and press return
     (or click on ok)
  6) when it asks if you want to ignore errors click on ok.
  7) in afcopy's default output window you will see the output of the
     LIST command for each file you clicked on

  what afcopy does is replace each @{"@x@" link codes} code with the
  corresponding path or file name.

  so if your @{"current path" Link currentpath} was RAM:Env and you
  had highlighted "DEF_DISK.INFO" the command executed would be
  "C:LIST RAM:ENV/DEF_DISK.INFO"


  Here's a few more examples.

  Compile E Source code

  "dh1:Amiga_E/bin/ec @<@@N@"

  Compile C Source Code

  "sc:c/sc @<@@F@ LINK MEMSIZE=H STKEXT"

  View Files

  "sys:utilities/multiview @<@@F@"

  Copy Files.

  "c:copy @<@@F@ @>@@F@ quiet all noreq"


  As you can see the command is quite powerfull.

@EndNode

@Node G_Volumes "Volumes Gadget"

  This will replace the list of files in the current side with
  a list of all VOLUME names.. (device names NOT included.. (yet :-))

  Usefull for easy access to assigns...

@EndNode


@Node ListFiles "Archiver List Files"

  A list file is a text file with the full pathname of every file
  that is to be archived, each on a single, seperate line.

  E.G

  apps:docs/kill_ben.doc
  apps:docs/letter.doc
  apps:docs/suicide_letter.txt

@EndNode

@Node Config "Configuration"

  When you first start up afcopy it will prompt you wether you want
  to save the default config. I suggest you do unless you want to be
  bugged by that same requester each time you load it up...:-)

  To change the configuration select "Edit" from the config menu.

  To save your changes use the "Save" from the config menu.

  you can have more than 1 config by using the save as and load from
  then config menu, at present there is no way to make af copy use any
  other config than "s:afcopy_config_file".  This will be in a future
  release...

  Ok, so load up afcopy and have a look at the config windows and the
  menus then come back here and i'll tell you what it all means......

  (ten mins later)

  Ok, you're back, ready ?

  (reader nods head in total agreement after being dumbfounded by the
  wealth and variety of options) (heheheheheeee, still as funny as ever dom!)

  Right then here we go...

  Gadgets
  =======

  @{" Delete Verify         " Link DeleteVerify}      @{" View           " link view}
  @{" Ignore Hidden Bit     " Link IgnoreHidden}      @{" Read           " link read}
  @{" Set Protection Verify " link setprotv}      @{" Edit           " link edit}
  @{" Ignore Disk Insert    " link ignoredisk}      @{" Hear           " link hear}
  @{" Mix Files and Dirs    " link mix}      @{" Print          " link print}
  @{" Auto Overwrite        " link autooverwrite}      @{" Execute        " link execute}
  @{" Drawer Icon File      " link drawericon}      @{" Archiver       " link archiver}
  @{" Requester Message     " link reqmsg}      @{" Unarchiver     " link unarchiver}
  @{" File Colour           " link filecol}      @{" Console Window " line console}
  @{" Dir Colour            " link dircol}      @{" Lines Per Side " link lines}
  @{" Highlight Colour      " link highlightcol}

  Menus
  =====

  Devs (left/right)

  use these menus to define the device names that appear in the
  gadgets just below the path gadget in the main window.

  User Gads (left/right)

  use these menus to define the gadgets under that device gadgets
  in the main window.

  When you select one of the items from the menu it afcopy will
  bring up a little window with a few options on it, these
  are as follows.

  Send File Names
    when this is checked afcopy will run this
    command once for every file name that is highlighted in the
    current side.

  Read Current Side
    when afcopy has finished running the program and this is
    selected it will read the directory of the current side
    in again.  usefull for is the program that you're running
    modifies/deletes files

  Read Opposite Side
    as for current side, but read the opposite side in again.

  Change to current
    changes the default directory to the path of the current
    side before running the specified program.

  Change to opposite
    as above only changes to the oppiste side first.

  Modify Command
    this will let you modify the acutal command line of the
    program before afcopy executes it.

  Gadget Name
    name that you want to appear on the gadget.

  Command
    the full path and file name of the actual command name
    that you want to run.
    You can uses @{"@x@" link codes} in this string.

  Heres a few examples

  Send File Names
  Read Opposite
  Gadget Name "Copy"
  Command "C:COPY @<@@F@ @>@@F@ noreq quiet"

  Send File Names
  Gadget name "MView"
  Command "SYS:Utilities/Multiview @<@@F@ SCREEN"

  Send File Names
  Read Current
  Gadget Name "TTX"
  Command "TurboText:TTX @<@@F@"

@EndNode

@Node View "View"

 Specify the full path and file name of the viewer that you
 want to use, folloed by any command line options you
 may want to have.

@EndNode

@Node Read "Read"

  as per @{"View" link View} but for the file reader

@EndNode

@Node Edit "Edit"

  as per @{"View" link View} but for the file editor

@EndNode

@Node Hear "Hear"

  as per @{"View" link View} but for the sample/mod player

@EndNode

@Node Print "Print"

  as per @{"View" link View} but for the file printer

@EndNode

@Node Execute "Execute"

  as per @{"View" link View} but for the script executer

@EndNode

@Node Archiver "config -=- Archiver"

  as per @{"View" link View} but for the file archiver
  (but dont add any options.)

@EndNode

@Node Unarchiver "config -=- UnArchiver"

  as per @{"Archiver" link Archiver} but for the un-archiver

@EndNode

@Node Console "Config -=- Console Window"

  Enter a standard amiga console window definition here

  this is used when afcopy starts an external program that
  uses the cli window for input/output functions.

@EndNode

@Node Lines "Config -=- Lines Per Side"

  enter a number (not less that 19) for the amount of files
  that you want afcopy to display per side.

@EndNode

@Node FileCol "Config -=- File Colour"

  Select a colour that you want the file names to be..

@EndNode

@Node DirCol "Config -=- File Colour"

  Select a colour that you want the directory names to be..

@EndNode

@Node HighlightCol "Config -=- Highlight Colour"

  Select a colour that you want the highlight to be..

@EndNode

@Node ReqMsg "Config -=- Requester Message"

  If you're in a kind of silly mood you can have some fun by
  changing this.

  The string must contain one (1) and only one pipe sign "|"
  either side of this is what will come up if an operation fails.
  (IE. Left side for good, right side for bad)

  try some of these..

  "Carry On|god darn it, not again"
  "oh, okay then|oh bugger! stop now"

  you get the idea...

@EndNode

@Node Drawericon "Config -=- Drawer Icon File"

  Specify the full path name of your default draw icon file.

  this is only used for makedir's add icon option.

  The file *MUST* exist if you want to create an icon for the
  directory.

@EndNode

@Node Mix "Config -=- Mix Files and dirs"

  if this option is selected afcopy will not put the
  directory names at the top of the list of files, It will just
  sort all the files and dirs as if they were the same.

  This is usefull if you want to copy a load of fonts
  so you can click on the directoryname and the ".font" file  .

@EndNode

@Node IgnoreDisk "Config -=- Ignore Disk Insert"

  If you put a disk in a drive and this option is off afcopy
  will ask you wether you want to bring it's contents up in the
  file display.

  note: at the moment its bugged, IE if you put a disk in DF1:
  it'll say "Disk Inserted in DF0"....  Also, if you put
  in a PC disk it'll still log to DF0: instead of PC0:...

  (if anyone knows how to get a device name from an
  IDCMP_DiskInserted message then let me know ASAP cos i cant
  figure it out for the life of me!!!)

@EndNode

@Node SetProtV "Config -=- Set protection verify"

  When afopy tries to copy a READ-ONLY file and this option is on
  it will ask you wether you want afcopy to temporarily change the
  protection of the source file so that it can read it.  After it
  has finished copying the file afcopy will set it back to being
  READ-ONLY.

  If this option if off it wont ask you, it'll just do it anyway.

@EndNode

@Node IgnoreHidden "Config -=- Ignore Hidden Bit"

  When this is on afcopy will show all files in the directory window
  regardless of wether they have this hidden bit set.

@EndNode

@Node DeleteVerify "Config -=- Delete Verify"

  When this is on afcopy will bring up a little requester when you
  select the delete gadget, just to make sure that you want to
  delete the selected files

@EndNode

@Node AutoOverwrite "Config -=- Auto Overwrite"

  This is turned on and off in the config section by the use
  of a check gadget.

@EndNode

@Node Codes "@x@ Codes!"

  here's a complete list of @x@ codes for batch commands and gadget configs

  @<@  path of selected side
  @>@  path of opposite side
  @F@  filename of the tagged file(s)
  @N@  name (without the extension) of the tagged file(s)
  @E@  extension (not including the ".") of the tagged file(s)

  so to get the full file name of a selected file you could use either

  @<@@F@

  or

  @<@@N@.@E@       (note: if the name doesnt have a "." in it using this
                    example one will be added.... :-)

  Cool huh ?

@EndNode

@Node Arkward "dont be arkward!"

It may not be white if you have adjusted your palette!! :-)
But it will always be COLOUR 2!

@EndNode

@Node currentpath "Current Path"

The current path is shown in the string gadget at the bottom of the @{"active side" link ActiveSide}

@EndNode

@Node ActiveSide "Active Side"

 The active side is the side with the @{"white" link Arkward} border around the
 filename area.

@EndNode


@Node Version "Info bout This Version"

  This is Version 3 of AFCopy.

  This version will only work on Amigas with Kickstart
  2.0 or greater,  you also need reqtools.library in libs:
  of version 38.1042 or higher.

  I've been told that under 2.04 there are slight differences
  between the gadtools.library (compared to the one in v39.106)
  which causes a bit of a slow down when un-iconifying the window
  and redrawing the slider gadgets.  I'll be taking a look into this
  as soon as I can get my hands on a 2.04 machine.... :-)


  AFCopy *WILL* crash if you try and run it on a 1.3 machine.
  (well. if you've not got a 2.04+ machine you dont DESERVE to run
  AFCopy.... :-)

@EndNode

@Node History "History Of AFCopy"

  V1.0
        First release - written in Pascal
        Loads of bugs (well, it was my first attempt
        at writing an Amiga Application and there were
        over 20 thousand lines of code.

  V1.2
        Much better, but still had a couple of minor bugs

  V1.3
        This version has only a couple of bugs and
        is quite stable,  alot of the code was rewritten
        to make it faster and smaller

  V1.4
        (Private release only)
        It has slider bars!! :-)

  V2.0
        (never released :-(  )
        many more features including windows that
        open in the right place, quicker (about 500%)
        sorting of files.

  V3.0
        Totally rewritten in C from scratch!
        Uses reqtools and OS2.x+ functions extensively
        due to me getting an A1200 :-)
        Much better!!
        Instructions are also in Amiga Guide Format

  New version system now in effect,
  the number after the decimal place in the version
  string "." is the amout of times i've tried to compile
  this program. If i do a major update the number before
  the decimal place will be incrmented.

  V3.375
        This release was hurried so I could release it
        at the DTL '93 party in sheffield and as ever
        when you hurry things you kinda miss bits :-)

        Wrote proper documentation (hope you like it :-)

        Added keyboard support.  most gadgets can now
        be activated by pressing the letter marked
        by the underscore.

        If a program using the batch command would always
        open a new console window regardless of that fact
        that one might allready be open.


@EndNode

@Node Other "Other Programs by HYDRA Productions"

  Watch out for other programs by HYDRA Productions including

  IDE2AMI3 - How to connect 3.5" IDE Hard Disks to Amiga 1200's
             has digitised pictures and cable diagrams along with
             good instructions.

  VERMAN - Revision Bumper for C Programmers

@EndNode
