@DATABASE "Xtruder.guide"
@AUTHOR "Martin Wulffeld"

* $VER: Xtruder.guide 3.2 (29.10.96)
* Copyright (C) 1994-1996 Martin Wulffeld

@NODE Main "Xtruder guide documentation"
@{b}
                                  Xtruder

                  Copyright (C) 1994-1996 Martin Wulffeld
                            All Rights Reserved

                   Version 3.2 - Release date 29.10.1996
  _________________________________________________________________________
@{ub}

  NOTE: As of 1st of January 1997 everything I develop (Vinci, Xtruder etc.)
        will very likely require Kickstart 3.0!
  
  REMEMBER: Send new vira to me if you want to keep filevirus library
            up to date!!!

  1. Legal Issues

  1.1 - @{" Disclaimer                    " LINK Disclaimer}
  1.2 - @{" License                       " LINK License}

  2. Installation

  2.1 - @{" Installation                  " LINK Installation}
  2.2 - @{" Authenticity                  " LINK Authenticity}

  3. Introduction

  3.1 - @{" Introduction to Xtruder       " LINK Introduction}
  3.2 - @{" Main features of Xtruder      " LINK Features}
  3.3 - @{" Getting the newest version    " LINK GettingUpdates}

  4. Usage

  4.1 - @{" General usage                 " LINK GeneralUsage}
  4.2 - @{" File check                    " LINK FileCheck}
  4.3 - @{" The menus                     " LINK TheMenus}
  4.4 - @{" The CLI                       " LINK CLI}
  4.5 - @{" Environment variables         " LINK EnvVars}
  4.6 - @{" The ARexx interface           " LINK ARexxInterface}

  5. Registration

  5.1 - @{" How to register               " LINK HowToRegister}
  5.2 - @{" What do I get if I register   " LINK WhatDoIGet}
  5.3 - @{" Registered users of Xtruder   " LINK RegisteredUsers}

  6. Miscellaneous

  6.1 - @{" Acknowledgements              " LINK Acknowledgements}
  6.2 - @{" History                       " LINK History}
@ENDNODE

@NODE Disclaimer "Disclaimer"

 @{b}Disclaimer@{ub}

     THERE IS NO WARRANTY FOR THE PROGRAMS, TO THE EXTENT PERMITTED BY
  APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
  HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAMS "AS IS" WITHOUT
  WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
  PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
  OF THE PROGRAMS IS WITH YOU.  SHOULD THE PROGRAMS PROVE DEFECTIVE, YOU
  ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.

     IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
  WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
  REDISTRIBUTE THE PROGRAMS AS PERMITTED ABOVE, BE LIABLE TO YOU FOR
  DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL
  DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAMS
  (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
  INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF
  THE PROGRAMS TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER
  OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
@ENDNODE

@NODE License "License"

 @{b}License@{ub}

  This license applies to the product called `Xtruder', a program for the
  Amiga computer, published by Martin Wulffeld under the concepts of
  SHAREWARE, and the accompanying documentation, example files and
  anything else that comes with the original distribution. The terms
  `program' and `Xtruder' below, refer to this product. The licensee is
  addressed as `you'.

   - You may copy and distribute verbatim copies of the program's
     executable code and documentation as you receive it, in any
     medium, provided that you conspicuously and appropriately publish
     only the original, unmodified program, with all copyright notices
     and disclaimers of warranty intact and including all the
     accompanying documentation, example files and anything else that
     came with the original.

   - You may not copy and/or distribute this program without the
     accompanying documentation and other additional files that came
     with the original.  You may not copy and/or distribute modified
     versions of this program.

   - You may not copy, modify, sublicense, distribute or transfer the
     program except as expressly provided under this license.  Any
     attempt otherwise to copy, modify, sublicense, distribute or
     transfer the program is void, and will automatically terminate
     your rights to use the program under this license.  However,
     parties who have received copies, or rights to use copies, from
     you under this license will not have their licenses terminated so
     long as such parties remain in full compliance.

   - By copying, distributing and/or using the program you indicate your
     acceptance of this license to do so, and all its terms and
     conditions.

   - Each time you redistribute the program, the recipient automatically
     receives a license from the original licensor to copy, distribute
     and/or use the program subject to these terms and conditions.  You
     may not impose any further restrictions on the recipients'
     exercise of the rights granted herein.

   - You may not disassemble, decompile, re-source or otherwise reverse
     engineer the program.

   - You may use the programs for a period of up to 2 weeks for
     evaluation.  After that, you have to register or quit using the
     program.

   - You agree to cease distributing the program and data involved if
     requested to do so by the author.

   - You may charge a fee to recover distribution costs.  The fee for
     diskette distribution may not be more than the cost to obtain a
     public domain diskette from Fred Fish.
@ENDNODE

@NODE Installation "Installation"

 @{b}Installation@{ub}

  Click on the installer icon to start the installation.

  Manual installation is not recommended.
@ENDNODE

@NODE Authenticity "Authenticity"

 @{b}Authenticity@{ub}

  Various files in the Xtruder archive especially the main executable is
  PGP signed with my key (below).

  To check if the files are authentic first save the key below to a
  separate file. Start PGP with the filename of that separate file and
  add my key to your keyring. Now you are ready to check the files with
  my key.

  To check a signed file start PGP with the '.sig' file as the first
  argument and as the second argument the file which is related to the
  '.sig' file.

  E.g.: 1:> PGP Xtruder.sig Xtruder

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: 2.6ui (Amiga)

mQCNAjAWEggAAAEEAMBONVPwDx1sHsnh5Cg8lR7duuVh4I0uT3q/aI1EpqBEUsSp
WGDx0h1JBKWrqBVKR1mT7Wtrm5x4rImTurKsjXtK4hCJHhJXPFj0bxjNiGijDVfq
eEt6Pj2n7sghc/bSMH71sUx8FZEa2//hAAPIL9a5+2CxrFT/OaKcaztHngaFAAUR
tChNYXJ0aW4gV3VsZmZlbGQgPHd1bGZmZWxkQGdlb2NpdGllcy5jb20+tClNYXJ0
aW4gV3VsZmZlbGQgPHd1bGZmZWxkQGRhdGFzaG9wcGVyLmRrPokAVQIFEDA3ufTw
L3NT6JQ2dQEBYrQB/iWfdL138msmDpvqDpwWKS5JcGA4p1flV8lteXK/87SG6ear
C7SSHaLe2SxpXK3l99nS2f2SPfuB2ZpAXWGyWPKJAJUCBRAwGbdJLOEDSkxe4QkB
AbybA/0amoBajB7+N6lU6rBYdmWmi1HYKLkGmf4JuFQji2kGC9b0RnV6MqvhDRgJ
kXnKkLIeZGb97CwL74xtrY50eUs+IG8WgujzIiEkaWO5MUceqOx5WDEK/v1KiXBi
2nW4a2+KcqLL8F5ot1Vg0Yd6K5z2M2OfMxYdQ2nuWzf6b5rtCokAlQIFEDEdhyGi
nGs7R54GhQEBTmgEALsIIEbtKTcRIBx350d3KCHi5iwsu16B6caWbHB1TjP6i/FM
+uBahFLiRVQ4nO3+vJaCPkY4Nz46Lq7EREOf/dDIKCNhQ/9+mGr9colARSKWkeo1
3Y/mrqBXqiRVy/zHfr0Xi7aKcdCFKJz56bU11F1hxYnO5KIPPFI0x368AWSw
=Nmn4
-----END PGP PUBLIC KEY BLOCK-----
@ENDNODE

@NODE Introduction "Introduction to Xtruder"

 @{b}What is Xtruder@{ub}

  Xtruder is a virus killer with a range of unique features. First of all
  you are able to keep Xtruder up-to-date with the latest recognition of
  vira much faster than most of the other virus killers which does not use
  external recognition code to find the vira. This means that you "only"
  have to keep track of the newest @{"filevirus.library" LINK FileVirusLibrary} and Bootblock.library
  to keep Xtruder up-to-date.
  
  The whole configuration is in itself a unique feature. Never before
  have you been able to configure so much in a virus killer.
  
  Xtruder checks LhA and LZX archives unlike most other virus killers and
  again the configuration for archive checking leaves nothing to desire.

  Xtruder's main objective is to find filevira. It is not especially great
  for checking your memory for vira. However, what it lacks in the memory
  detection department it greatly makes up for in the file detection
  department.

 @{b}System requirements@{ub}

  - Any Amiga with Kickstart 2.04 or higher. Some features require
    Kickstart 3.0 and really is recommended.

  - Workbench 2.1 for locale support.
@ENDNODE

@NODE FileVirusLibrary "The filevirus library"

 @{b}filevirus library@{ub}

  You can always find the newest version of the filevirus.library on
  aminet in the util/virus directory.
@ENDNODE

@NODE Features "Features in Xtruder"

 @{b}Features@{ub}

  - Advanced file check interface.
  - Advanced report creation and checking facilities.
  - Advanced virus information interface.
  - Advanced file check history.
  - Can open on any public screen.
  - Font and screen mode sensitive GUI.
  - Is a commodity.
  - Can optionally check the bootblock of DMS archives.
  - Can optionally check LhA as well as LZX archives for vira.
  - Uses both the xfdmaster.library and the unpack.library for optimal
    recognition of crunched files.
  - Has an ARexx interface.
  - Has several memory checking and processing features.
  - Very configurable.
  - Locale support (WB 2.1 or higher).
  - Supports many 3.x features.
@ENDNODE

@NODE GettingUpdates "Getting updates of Xtruder"

 @{b}Getting updates@{ub}

  Whenever a new version of Xtruder is released it will be uploaded to:

   - FlashBack:

     Node #1 +45 43624162 24H 28k8  2:236/25.0@FidoNet
     Node #2 +45 43624147 24H 28k8  2:236/75.0@FidoNet

   - Virus Help Team Denmark:

     Node #1 +45 46596867 24H 28k8  2:236/120.0@FidoNet

     Magic filename: XTRUDER

     You should check out Virus Help Team Denmark's homepage at:
     
       http://www.geocities.com/SiliconValley/4175

   - On Aminet in the 'util/virus' directory.

  @{b}Xtruder will only be released archived with LhA!@{ub}
@ENDNODE

@NODE GeneralUsage "How to use Xtruder"

 @{b}Usage@{ub}

  @{b}Online AmigaGuide help@{ub}

   If you hate reading docs you could simply experiment with Xtruder and
   press help whenever you need it. You can get online help for almost
   every window Xtruder opens but not for the file/font/etc. requesters
   since they are handled by the ReqTools library. E.g. try opening the
   @{"GUI settings" LINK Menus.Settings.GUI}  window and press help. The online help will appear,
   provided it has been installed correctly of course, with the GUI
   settings section in front of you. You do NOT have to close the guide
   to continue working in Xtruder as it is opened asynchronously.

  @{b}Windows@{ub}

   All windows can be canceled/closed by pressing the close gadget or by
   pressing the escape key except for the main Xtruder window.
   
   The positions of and sizes of all sizable windows are remembered and
   will be stored if you save settings.

  @{b}Listviews@{ub}

   Scrolling in listviews besides using the scroller is possible by using
   the keyboard.

   Use the up and down cursor keys to move the current selected entry. By
   holding down @{b}alt@{ub} you will scroll two times. Hold down @{b}shift@{ub} a page
   will be scrolled. Use @{b}control@{ub} to move to either the top or bottom.
@ENDNODE

@NODE FileCheck "File check"

 @{b}File check@{ub}

  When a check has finished a bit of information will be written.

  E.g.:

   Directories:     2  Files:          8  Checked:     4
   Crunched:        2  Decrunched:     1
   Archived:        9  Extracted:      6
   Vira found:      1  Check took:     00:01:46

  Description
  -----------------------------------------------------------------------
  Directories - How many directories have Xtruder entered.

  Files       - How many files have we encountered.

  Checked     - How many files of the encountered were checked for virus.
                Archives are counted as 1 and not the number of files
                that were checked inside the archive.

  Crunched    - How many files were crunched.

  Decrunched  - How many of the crunched files were successfully
                decrunched.

  Archived    - How many archived files were encountered. NOT ARCHIVES!

  Extracted   - How many of the archived files were extracted. This
                number might be smaller than @{b}Archived@{ub} if you
                for instance have set the @{"archive filter" LINK Menus.Settings.CheckII} to
                exclude .info files from being extracted and checked.

  Vira found  - How many vira were found.

  Check took  - How long did it take to check the files.


  The reason why @{b}Checked@{ub} usually is lower than @{b}Files@{ub} is that Xtruder does
  not check certain data files (ASCII texts, pictures, etc.).
@ENDNODE

@NODE TheMenus "The menus"

 @{b}Menus@{ub}

  @{" Project       " LINK Menus.Project}
  @{" Files         " LINK Menus.Files}
  @{" Bootblock     " LINK Menus.Bootblock}
  @{" Memory        " LINK Menus.Memory}
  @{" Miscellaneous " LINK Menus.Miscellaneous}
  @{" Settings      " LINK Menus.Settings}
  @{" ARexx         " LINK Menus.ARexx}
@ENDNODE

@NODE Menus.Project "Project menu"

 @{b}The Project menu@{ub}

  @{" List known            " LINK Menus.Project.ListKnown}

  @{" Help                  " LINK Menus.Project.Help}

  @{" System information... " LINK Menus.Project.SystemInformation}
  
  @{" Hide                  " LINK Menus.Project.Hide}
  @{" About                 " LINK Menus.Project.About}

  @{" Quit...               " LINK Menus.Project.Quit}
@ENDNODE

@NODE Menus.Project.ListKnown "List known menu"

 @{b}The List known menu@{ub}

  @{" Bootblock vira...  " LINK Menus.Project.ListKnown.BootblockVira}
  @{" File based vira... " LINK Menus.Project.ListKnown.FileBasedVira}
  @{" Crunchers...       " LINK Menus.Project.ListKnown.Crunchers}
  @{" Patches...         " LINK Menus.Project.ListKnown.Patches}
  @{" File types...      " LINK Menus.Project.ListKnown.FileTypes}
@ENDNODE

@NODE Menus.Project.ListKnown.BootblockVira "List menu"

 @{b}Known bootblock vira@{ub}

  Will show the bootblock vira which are known to the used version of the
  Bootblock.library.
@ENDNODE

@NODE Menus.Project.ListKnown.FileBasedVira "List menu"

 @{b}Known file and link vira@{ub}

  Will show the file/link vira which are known to the used version of the
  filevirus.library.
@ENDNODE

@NODE Menus.Project.ListKnown.Crunchers "List menu"

 @{b}Known crunchers@{ub}

  Will show the types of crunchers which are known to the used version of
  the unpack.library and xfdmaster.library.
@ENDNODE

@NODE Menus.Project.ListKnown.FileTypes "List menu"

 @{b}Known file types@{ub}

  Will show the file types which are known to the used version of the
  FileID.library.
@ENDNODE

@NODE Menus.Project.ListKnown.Patches "List menu"

 @{b}Known patches@{ub}

  Will show the patches which Xtruder know.

  The recognition code for patches is situated in the xtruder.library
  because it will be easier for me to release an update of that library
  and you do not have to download a +400k archive if it is only for a new
  library.

  To the right of the hyphen you can see who created the patch.
@ENDNODE

@NODE Menus.Project.Hide "Project menu"

 @{b}Hide@{ub}

  Hides Xtruder by closing the GUI. This is only possible if Xtruder could
  create its commodity. Therefore you must have a valid @{"popkey" LINK Menus.Settings.General}.
@ENDNODE

@NODE Menus.Project.Help "Help menu"

 @{b}The Help menu@{ub}

  @{" Index...               " LINK Menus.Project.Help.Help}

  @{" Menus...               " LINK Menus.Project.Help.Help}
  @{" File check...          " LINK Menus.Project.Help.Help}
  @{" Bootblock interface... " LINK Menus.Project.Help.Help}
  @{" Settings...            " LINK Menus.Project.Help.Help}
  @{" ARexx...               " LINK Menus.Project.Help.Help}
@ENDNODE

@NODE Menus.Project.Help.Help "Help menu"

 @{b}Help@{ub}

  Launches the guide documentation.
@ENDNODE

@NODE Menus.Project.SystemInformation "Project menu"

 @{b}System information@{ub}

  Miscellaneous information on the settings and the libraries that Xtruder
  use.

  Things which appear abnormal are shown in white.
@ENDNODE

@NODE Menus.Project.About "About menu"

 @{b}The About menu@{ub}

  @{" Xtruder... " LINK Menus.Project.About.Xtruder}
  @{" Author...  " LINK Menus.Project.About.Author}
  @{" System...  " LINK Menus.Project.About.System}
@ENDNODE

@NODE Menus.Project.About.Xtruder "Project menu"

 @{b}Xtruder@{ub}

  Miscellaneous information on Xtruder. Shows which public screen you
  might be on.
@ENDNODE

@NODE Menus.Project.About.Author "Project menu"

 @{b}Author@{ub}

  Miscellaneous information about me the author of Xtruder.
@ENDNODE

@NODE Menus.Project.Quit "Project menu"

 @{b}Quit@{ub}

  Quits Xtruder. If settings have been changed and you have not saved them
  a requester will inform you about that and give you the possibility to
  either Save them, Quit or (only in some cases) Cancel quit.
@ENDNODE

@NODE Menus.Files "Files menu"

 @{b}The Files menu@{ub}

  @{" Check prespecified... " LINK Menus.Files.CheckPrespecified}
  @{" List prespecified...  " LINK Menus.Files.ListPrespecified}

  @{" Check files...        " LINK Menus.Files.CheckFiles}
  @{" Repair...             " LINK Menus.Files.Repair}
  @{" Show CRC...           " LINK Menus.Files.ShowCRC}

  @{" Reports...            " LINK Menus.Files.Reports}
@ENDNODE

@NODE Menus.Files.CheckPrespecified "Files menu"

 @{b}Check prespecified@{ub}

  Checks the prespecified entries. See @{"Prespecified settings" LINK Menus.Settings.Prespecified}
@ENDNODE

@NODE Menus.Files.ListPrespecified "Files menu"

 @{b}List prespecified@{ub}

  Checks the prespecified entries. See @{"Prespecified settings" LINK Menus.Settings.Prespecified}
@ENDNODE

@NODE Menus.Files.CheckFiles "Files menu"

 @{b}Check files@{ub}

  Select the files and directories you want to check.
@ENDNODE

@NODE Menus.Files.Repair "Files menu"

 @{b}Repair@{ub}

  Repair a file.
@ENDNODE

@NODE Menus.Files.ShowCRC "Files menu"

 @{b}Show CRC@{ub}

  Show the CRC value of a file. This way future releases of e.g. Xtruder
  have an extra security factor because I can say on the public networks
  what the CRC value, using this function, is of the next Xtruder and you
  can then check it with your current version and if the two numbers do
  not match something is wrong.
@ENDNODE

@NODE Menus.Files.Reports "Files menu"

 @{b}Reports@{ub}

  The report interface has been completely changed since Xtruder 2.x.
  Reports generated with Xtruder 2.x are obsolete.
  
  A report is a fingerprint of the characteristics of one or more files.
  This is intended to be used to trap vira. An infected file is with 100%
  certainty different from the original non-infected file and a report
  will inform you about these differences. Wether it's the size,
  protection bits, date, comment or most importantly the contents of the
  file, a file that is different than what was reported during creation
  will not pass Xtruder.
  
  The main report window consists of 4 buttons in top, the reports path
  gadget and the reports listview.
  
  If you want to create a new report press @{b}Create@{ub}. The create report
  window will open and start the creation.
  
  If you want to update a report created with the above function you
  should select a report in the reports listview and press @{b}Update@{ub}.
  
  To check a report select it in the listview via the cursor keys or by
  clicking on it and then press @{b}Check@{ub} or return on the keyboard. You can
  also doubleclick on a report.
  
  If you want to delete a report select it and click on @{b}Delete@{ub}.
  
  To exit the window press escape or click on the window's close gadget.
@ENDNODE

@NODE Menus.Files.Reports_Create "Creating/updating reports"

 @{b}Creating/updating reports@{ub}

  In top of the create window you can see current path and the current
  file which characteristics is being saved. Below there is a @{b}Stop@{ub} and a
  @{b}Pause@{ub} gadget which need no further introduction. Finally, there is the
  error listview which will inform you of things that went wrong while
  creating the report. For instance to create a complete fingerprint of
  the contents of a file it will have to be loaded into memory. If you
  haven't got enough memory the fingerprint is not complete and you will
  be informed about it in the listview. Other information (date, comment
  etc.) will still be saved.
  
  You may stop a report while creating. Xtruder will not delete what it
  did manage to create so you can actually check the report even if you
  have stopped it.
  
  To exit the window press escape or click on the window's close gadget.
@ENDNODE

@NODE Menus.Files.Reports_Check "Checking reports"

 @{b}Checking reports@{ub}
  
  The structure of the check window is very similar to the create window.
  
  In the top you can see which file and the path of the file which is
  currently being checked.
  
  Below you'll find the usual stop and pause gadgets. Beside them you'll
  find @{b}Save history@{ub}. This gadget will be ghosted until the check stops
  or if there's nothing to save.
  
  If Xtruder finds a mismatch (a file that differs from the original) it
  will ask you what to do with it. You have the choice of:
  
   @{fg highlight}Copy to@{fg text}
   
    Brings up a requester where you may select a path to copy the mismatch
    to. If you cancel the requester the check will continue.
   
   @{fg highlight}Copy all to@{fg text}
   
    Same as above but all the following mismatches will automatically be
    copied to the selected path.
   
   @{fg highlight}Delete@{fg text}
   
    Deletes the file. No trial, no jury, just straight to execution.
   
   @{fg highlight}Ignore@{fg text}
   
    Ignores the file.
   
   @{fg highlight}Ignore all@{fg text}
   
    Ignores the file and all the following mismatches.
  
  The listview shows all the mismatches. If there are any the @{b}Save history@{ub}
  gadget will be unghosted when the check finishes and you may then press
  this gadget to save the history of mismatches.
  
  To exit the window press escape or click on the window's close gadget.
@ENDNODE

@NODE Menus.Bootblock "Bootblock menu"

 @{b}The Bootblock menu@{ub}

  @{" Interface...      " LINK Menus.Bootblock.Interface}

  @{" Check             " LINK Menus.Bootblock.Check}
  @{" Install           " LINK Menus.Bootblock.Install}
  @{" Show              " LINK Menus.Bootblock.ShowASCII}
@ENDNODE

@NODE Menus.Bootblock.Check "Check menu"

 @{b}The Check menu@{ub}

  @{" DF0:... " LINK Menus.Bootblock.Check.DF0}
  @{" DF1:... " LINK Menus.Bootblock.Check.DF0}
  @{" DF2:... " LINK Menus.Bootblock.Check.DF0}
  @{" DF3:... " LINK Menus.Bootblock.Check.DF0}

  @{" DMS...  " LINK Menus.Bootblock.Check.DMS}
@ENDNODE

@NODE Menus.Bootblock.Install "Install menu"

 @{b}The Install menu@{ub}

  @{" DF0:... " LINK Menus.Bootblock.Install.DF0}
  @{" DF1:... " LINK Menus.Bootblock.Install.DF0}
  @{" DF2:... " LINK Menus.Bootblock.Install.DF0}
  @{" DF3:... " LINK Menus.Bootblock.Install.DF0}
@ENDNODE

@NODE Menus.Bootblock.Show "Show menu"

 @{b}The Show menu@{ub}

  @{" DF0:... " LINK Menus.Bootblock.Show.DF0}
  @{" DF1:... " LINK Menus.Bootblock.Show.DF0}
  @{" DF2:... " LINK Menus.Bootblock.Show.DF0}
  @{" DF3:... " LINK Menus.Bootblock.Show.DF0}

  @{" DMS...  " LINK Menus.Bootblock.Show.DMS}
@ENDNODE

@NODE Menus.Bootblock.Interface "Bootblock menu"

 @{b}Bootblock interface@{ub}

  It should not be too hard finding out what kind of function the
  individual buttons perform.

  The @{b}Show buttons shows the bootblock of DF0:-DF3: or a DMS archive.

  The @{b}Check@{ub} buttons checks the bootblock of DF0:-DF3: or a DMS archive.

  The @{b}Install@{ub} buttons installs a bootblock to DF0:-DF3:. When first
  pressed it will bring up a window with a range of custom AmigaDOS
  bootblocks where you can select the bootblock to install. From here you
  also have the possibility to select a bootblock from a file by clicking
  on @{b}Select custom bootblock@{ub}. If you have selected a custom bootblock in
  the @{"bootblock settings" LINK Menus.Settings.Bootblock} you can just
  hit @{b}Custom bootblock@{ub} and that bootblock will be installed.
  
  The bootblock listview shows the last read bootblock in both ASCII and
  in hex/ASCII mode. You can scroll up and down using the keyboard.
  
  The @{b}Load@{ub} and @{b}Save@{ub} buttons below the bootblock listview are used to
  load and save bootblocks.
@ENDNODE

@NODE Menus.Bootblock.Check.DF0 "Bootblock menu"

 @{b}Check bootblock@{ub}

  Opens the @{"bootblock interface" LINK Menus.Bootblock.Interface} and starts checking the bootblock of a
  DOS disk.
@ENDNODE

@NODE Menus.Bootblock.Check.DMS "Bootblock menu"

 @{b}Check bootblock@{ub}

  Opens the @{"bootblock interface" LINK Menus.Bootblock.Interface} and starts checking the bootblock  of a
  DMS archive.
@ENDNODE

@NODE Menus.Bootblock.Install.DF0 "Bootblock menu"

 @{b}Install bootblock@{ub}

  Opens the @{"bootblock interface" LINK Menus.Bootblock.Interface} and starts the install process on the DOS
  disk.
@ENDNODE

@NODE Menus.Bootblock.Show.DF0 "Bootblock menu"

 @{b}Show bootblock@{ub}

  Opens the @{"bootblock interface" LINK Menus.Bootblock.Interface} and shows the bootblock of a DOS disk.
@ENDNODE

@NODE Menus.Bootblock.Show.DMS "Bootblock menu"

 @{b}Show bootblock@{ub}

  Opens the @{"bootblock interface" LINK Menus.Bootblock.Interface} and shows the bootblock of a DMS archive.
@ENDNODE

@NODE Menus.Memory "Memory menu"

 @{b}The Memory menu@{ub}

  @{" Check vectors... " LINK Menus.Memory.CheckVectors}
  @{" Check LVO...     " LINK Menus.Memory.CheckLVO}

  @{" Clear            " LINK Menus.Memory.Clear}

  @{" Show             " LINK Menus.Memory.Show}
@ENDNODE

@NODE Menus.Memory.CheckVectors "Memory menu"

 @{b}Check vectors@{ub}

  Checks the CoolCapture, ColdCapture, WarmCapture, KickTagPtr and
  KickMemPtr vectors to see if one or more of them points to something in
  the RAM area. If so a requester will ask if they should be cleared.
@ENDNODE

@NODE Menus.Memory.CheckLVO "Memory menu"

 @{b}Check LVO@{ub}

  Some vira patches functions in libraries. This could for instance. be
  the Write() function so that every write would function abnormally.
  Therefore it is a good idea to once in a while check the vectors. Now
  what the h*ll is vectors you might curse. Well, vectors are e.g. the
  offset of a function in a library. E.g. the offset for Write() in the
  dos.library is -48.
@ENDNODE

@NODE Menus.Memory.Clear "Clear menu"

 @{b}The Clear menu@{ub}

  @{" All...         " LINK Menus.Memory.Clear.All}

  @{" CoolCapture... " LINK Menus.Memory.Clear.CoolCapture}
  @{" ColdCapture... " LINK Menus.Memory.Clear.ColdCapture}
  @{" WarmCapture... " LINK Menus.Memory.Clear.WarmCapture}
  @{" KickTagPtr...  " LINK Menus.Memory.Clear.KickTagPtr}
  @{" KickMemPtr...  " LINK Menus.Memory.Clear.KickMemPtr}
@ENDNODE

@NODE Menus.Memory.Clear.All "Clear menu"

 @{b}All@{ub}

  Clears the CoolCapture, ColdCapture, WarmCapture, KickTagPtr and
  KickMemPtr vectors.
@ENDNODE

@NODE Menus.Memory.Clear.CoolCapture "Clear menu"

 @{b}CoolCapture@{ub}

  Clears the CoolCapture vector.
@ENDNODE

@NODE Menus.Memory.Clear.ColdCapture "Clear menu"

 @{b}ColdCapture@{ub}

  Clears the ColdCapture vector.
@ENDNODE

@NODE Menus.Memory.Clear.WarmCapture "Clear menu"

 @{b}WarmCapture@{ub}

  Clears the WarmCapture vector.
@ENDNODE

@NODE Menus.Memory.Clear.KickTagPtr "Clear menu"

 @{b}KickTagPtr@{ub}

  Clears the KickTagPtr vector.
@ENDNODE

@NODE Menus.Memory.Clear.KickMemPtr "Clear menu"

 @{b}KickMemPtr@{ub}

  Clears the KickMemPtr vector.
@ENDNODE

@NODE Menus.Memory.Show "Show menu"

 @{b}The Show menu@{ub}

  @{" Libraries...  " LINK Menus.Memory.Show.Libraries}
  @{" Devices...    " LINK Menus.Memory.Show.Devices}
  @{" Resources...  " LINK Menus.Memory.Show.Resources}
  @{" Ports...      " LINK Menus.Memory.Show.Ports}
  @{" Semaphores... " LINK Menus.Memory.Show.Semaphores}
  @{" Tasks...      " LINK Menus.Memory.Show.Tasks}
@ENDNODE

@NODE Menus.Memory.Show.Libraries "Show menu"

 @{b}List of libraries@{ub}

  Show a list of libraries in memory.
@ENDNODE

@NODE Menus.Memory.Show.Devices "Show menu"

 @{b}List of devices@{ub}

  Show a list of devices in memory.
@ENDNODE

@NODE Menus.Memory.Show.Resources "Show menu"

 @{b}List of resources@{ub}

  Show a list of resources in memory.
@ENDNODE

@NODE Menus.Memory.Show.Ports "Show menu"

 @{b}List of ports@{ub}

  Show a list of public ports created.
@ENDNODE

@NODE Menus.Memory.Show.Semaphores "Show menu"

 @{b}List of semaphores@{ub}

  Show a list of public semaphores created.
@ENDNODE

@NODE Menus.Memory.Show.Tasks "Show menu"

 @{b}List of tasks@{ub}

  Show a list of tasks.
@ENDNODE

@NODE Menus.Miscellaneous "Miscellaneous menu"

 @{b}The Miscellaneous menu@{ub}

  @{" Virus information... " LINK Menus.Miscellaneous.VirusInformation}

  @{" History              " LINK Menus.Miscellaneous.History}
@ENDNODE

@NODE Menus.Miscellaneous.VirusInformation "Miscellaneous menu"

 @{b}Virus information@{ub}

  You need to have amigaguide.library installed to use this function.

  Perhaps you are familiar with the program 'Virus Info Base' generally
  known as 'VIB'? If so no further introduction should be necessary :-)

  This is simply a virus-encyclopaedia more or less.

  You must specify in the @{b}Descriptions path@{ub} where the descriptions lie.
  All descriptions must lie in that path. Whenever an analysis or a note
  about a virus is posted in e.g. a newsgroup you should save this as a
  file in the @{b}Descriptions path@{ub}.

  By pressing @{b}Show all@{ub} the listview in the bottom of the window
  will be filled with all the files in the @{b}Descriptions path@{ub}. By
  doubleclicking or pressing return on a file Xtruder will open it in a
  AmigaGuide window. You can also configure it to use an external viewer
  by selecting a viewer using the popup gadget beside the @{b}External viewer@{ub}
  string gadget. You must remember to add "%s" including the quotation
  marks to the string. This tells Xtruder where to put the filename of the
  description.
  
  As you can see there are 3 search string gadgets so you can search for
  specific strings in the descriptions. E.g. if you wanted to know about
  the 'very dangerous' vira you should write that string in one of the
  search string gadgets and press @{b}Search@{ub}. Xtruder then searches
  through all the files in the @{b}Descriptions path@{ub} for that string
  in the descriptions. Those files that has the string will be shown in
  the listview. To take the search thing a step further you could write
  'dangerous' in the first gadget, 'format' in the second gadget and to
  top it all of 'file' in the last. This will give you a list of all files
  containing 'dangerous', 'format' and 'file'.
@ENDNODE

@NODE Menus.Miscellaneous.History "History menu"

 @{b}The History menu@{ub}

  @{" Clear   " LINK Menus.Miscellaneous.History.Clear}
  @{" Show... " LINK Menus.Miscellaneous.History.Show}

  @{" Save... " LINK Menus.Miscellaneous.History.Save}
@ENDNODE

@NODE Menus.Miscellaneous.History.Clear "Miscellaneous menu"

 @{b}Clear history@{ub}

  Clears the history.
@ENDNODE

@NODE Menus.Miscellaneous.History.Show "Miscellaneous menu"

 @{b}Show history@{ub}

  Shows the global history in a resizable window.
@ENDNODE

@NODE Menus.Miscellaneous.History.Save "Miscellaneous menu"

 @{b}Save history@{ub}

  Save history to a file.
@ENDNODE

@NODE Menus.Settings "Settings menu"

 @{b}The Settings menu@{ub}

  @{" GUI...           " LINK Menus.Settings.GUI}
  @{" Startup...       " LINK Menus.Settings.Startup}
  @{" Miscellaneous... " LINK Menus.Settings.Miscellaneous}
  @{" Paths...         " LINK Menus.Settings.Paths}
  @{" History...       " LINK Menus.Settings.History}
  @{" Bootblock...     " LINK Menus.Settings.Bootblock}
  @{" ARexx...         " LINK Menus.Settings.ARexx}
  @{" File check       " LINK Menus.Settings.FileCheck}

  @{" Load...          " LINK Menus.Settings.Load}
  @{" Save...          " LINK Menus.Settings.Save}
  @{" Save as...       " LINK Menus.Settings.SaveAs}
@ENDNODE

@NODE Menus.Settings.GUI "Settings menu"

 @{b}GUI@{ub}

  Pressing @{b}Okay@{ub} affects Xtruder immediately. Pressing @{b}Cancel@{ub} will abort
  the changes you have made.

  @{b}Screen mode@{ub}

   Set the screen mode along with width, height, depth and optional
   autoscroll.

  @{b}Public screen name@{ub}

   The name of the public screen Xtruder should open on. If it does not
   find the screen it will open its own screen.

  @{b}Screen font@{ub}

   This font is used for most of the GUI. It may be a proportional font.

  @{b}Text font@{ub}

   This font is used for writing in the main window. It can not be a
   proportional font. It is also used for most listviews. E.g. the
   @{"Libraries..." LINK Menus.List.Libraries} window since a proportional font would interfere
   with the visual representation (columns being misaligned).

  @{b}Requester font@{ub}

   This font is used for text requesters. Some requesters can sometimes
   be very wide so a slim font might be good here.

  @{b}Background pattern@{ub}

   Under OS3.x you can select a pattern for the rather dull background of
   the main window. The picture you select is read using datatypes and it
   may therefore be any picture supported by your datatypes, not just ILBM
   files. The picture is remapped to the number of colors so if it doesn't
   look right change the depth of the screen.

  @{b}Palette@{ub}

   Set the colors to suit your personal taste.

  @{b}Scroller width@{ub}

   The width of the scroller in the listviews. Some might like a 'fat'
   one :)

  @{b}Hide app icon@{ub}

   I think it is few who actually uses an AppIcon so why have one which
   does nothing except lying around on the Workbench?
@ENDNODE

@NODE Menus.Settings.Startup "Settings menu"

 @{b}Startup@{ub}

  Pressing @{b}Okay@{ub} affects Xtruder immediately. Pressing @{b}Cancel@{ub} will abort
  the changes you have made.

  @{b}Startup script@{ub}

   This is the ARexx script which is executed every time Xtruder is started.

  @{b}Execute startup script@{ub}

   Not in all cases does one want to have the startup script executed at
   startup so instead of clearing the above setting you can simply tick
   this checkbox gadget.

  @{b}Check prespecified@{ub}

   Check @{"prespecified" LINK Menus.Settings.Prespecified} at startup.

  @{b}Check vectors@{ub}

   Check vectors at startup.

  @{b}Show system information@{ub}

   Tick this option if you want the system information window to be shown
   at startup.
@ENDNODE

@NODE Menus.Settings.Miscellaneous "Settings menu"

 @{b}Miscellaneous@{ub}

  Pressing @{b}Okay@{ub} affects Xtruder immediately. Pressing @{b}Cancel@{ub} will abort
  the changes you have made.

  @{b}Popkey@{ub}

   The popkey for Xtruder. Pressing this key combination will make Xtruder
   pop out of its possible hidden state and thereby appear in front of
   your very eyes.

  @{b}Priority@{ub}
  
   This is the priority of the commodity and NOT the program as some might
   think.

  @{b}Pop up at start@{ub}

   Tick this if you want a full featured GUI when you start Xtruder :)

  @{b}Stay hidden during checks@{ub}

   This orders Xtruder to remain iconified/hidden when checking files.
   Handy if you use Xtruder for checking uploaded files. I.e. it would
   not pop up all the time.
@ENDNODE

@NODE Menus.Settings.Paths "Settings menu"

 @{b}Paths@{ub}

  Pressing @{b}Okay@{ub} affects Xtruder immediately. Pressing @{b}Cancel@{ub} will abort
  the changes you have made.

  NOTE: DO NOT add a trailing slash to any of the paths because Xtruder
        will then use the parent path!

  @{b}Archive extract path@{ub}
  
   The path where archives are extracted to.

   This path MUST be present before you may begin checking files.

  @{b}File decrunch path@{ub}

   The path where crunched programs and data files are decrunched to.

  @{b}Virus path@{ub}

   The path where virus is (optionally) copied to.

   This path MUST be present before you may begin checking files.

  @{b}Recheck path@{ub}

   The path where files/archives that needs to rechecked are copied to.
   For instance encrypted files are copied to this path if you have not
   ticked @{b}Decrunch encrypted files@{ub}.

   This path MUST be present before you may begin checking files.
   
   Do not specify a path inside on of the other paths! E.g. if your
   @{b}File decrunch path@{ub} is T: then you should NOT specify
   'T:RecheckFiles' as your recheck path.

  @{b}Auto create above paths@{ub}

   Instead of tedious requesters at startup and messing around with
   your startup-sequence tick this and the above paths will be created
   automatically at startup or when you press okay in this window.

  @{b}Auto delete above paths@{ub}

   If ticked Xtruder will automatically delete the above paths when
   quitting.

  @{b}Guide path@{ub}

   The path where this file is situated :-) If Xtruder can not find it
   there it will check its own directory. Remember you do not have to
   close the guide in order to work in Xtruder. Try for instance to
   press help while you are selecting a menu item.

  @{b}Descriptions path@{ub}

   This path should point to the place where you have all your virus
   descriptions and furthermore the descriptions must be placed in sub
   directories which start with the letter that the name of the virus
   starts with! E.g. 'DH1:Descriptions'. Your directory tree should
   then look like this:
   
   DH1:
     Descriptions
       A
       B
       C
       .
       .
       Z
     Demos
       .
       .
@ENDNODE

@NODE Menus.Settings.History "Settings menu"

 @{b}History@{ub}

  Pressing @{b}Okay@{ub} affects Xtruder immediately. Pressing @{b}Cancel@{ub} will abort
  the changes you have made.

  @{b}History path@{ub}

   The path of the history files.

  @{b}History file@{ub}

   The history file. E.g. 'Xtruder.HIStory'. If the file already exists
   a new file with a number extension will be created instead. I.e. if
   'Xtruder.HIStory' exists the new history will be saved as
   'Xtruder.HIStory.1'.

  @{b}Use date and time as filename@{ub}

   The current date and time will be used as filename.

  @{b}Append@{ub}

   Instead of creating a new history file for every save you can tick this
   to make Xtruder append the history to the @{b}History file@{ub}.

  @{b}Request filename@{ub}

   When the @{b}Save method@{ub} (described below) has been set to save history
   Xtruder will first create the filename according to the settings
   and then show it in a filerequester so you can confirm the save.

  @{b}Max entries@{ub}

   Maximum number of lines of history. If set to 0 only your memory sets
   the limit.

  @{b}Save method@{ub}

   How history should be saved after a file check.

    @{fg highlight}Don't save@{fg text}
   
     Do not save after a file check.

    @{fg highlight}After action@{fg text}

     Save history after a file check.

    @{fg highlight}After action then flush@{fg text}

     Save history after a file check and then flush history. You should
     set @{b}Save method@{ub} to this if you have ticked the @{b}Append@{ub} button.
     Otherwise old histories will be saved too instead of just the new
     ones.

  @{b}File check@{ub}

   Tick if file check activities should be remembered.
@ENDNODE

@NODE Menus.Settings.Bootblock "Settings menu"

 @{b}Bootblock@{ub}

  Pressing @{b}Okay@{ub} affects Xtruder immediately. Pressing @{b}Cancel@{ub} will abort
  the changes you have made.

  @{b}Custom bootblock@{ub}

   A custom bootblock file. Should be at least 1024 bytes long.

  @{b}Check inserted disks@{ub}

   Tick if all inserted DOS disks should be checked for bootblock vira.

  @{b}No interface@{ub}

   Tick if you do not want the bootblock interface window to open whenever
   a disk is inserted.
@ENDNODE

@NODE Menus.Settings.ARexx "Settings menu"

 @{b}ARexx@{ub}

  Pressing @{b}Okay@{ub} affects Xtruder immediately. Pressing @{b}Cancel@{ub} will abort
  the changes you have made.

  @{b}Items@{ub}

   The names of the items.

  @{b}Name@{ub}

   The name of the selected item.

  @{b}Add@{ub}

   Add a script or a separator bar.

  @{b}Remove@{ub}

   Remove a script or a separator bar.

  @{b}Up@{ub}

   Move an entry upwards.

  @{b}Down@{ub}

   Move an entry downwards.

  @{b}Sort alphabetically@{ub}

   Sort the entries alphabetically.

  @{b}Script@{ub}

   The script to execute.
@ENDNODE

@NODE Menus.Settings.FileCheck "File check menu"

 @{b}The File check menu@{ub}

  @{" Prespecified...  " LINK Menus.Settings.FileCheck.Prespecified}
  @{" Miscellaneous... " LINK Menus.Settings.FileCheck.Miscellaneous}
  @{" Unpacking...     " LINK Menus.Settings.FileCheck.Unpacking}
  @{" Archives...      " LINK Menus.Settings.FileCheck.Archives}
  @{" Information...   " LINK Menus.Settings.FileCheck.Information}
  @{" PBC...           " LINK Menus.Settings.FileCheck.PBC}
  @{" Check window...  " LINK Menus.Settings.FileCheck.CheckWindow}
@ENDNODE

@NODE Menus.Settings.FileCheck.Prespecified "File check menu"

 @{b}Prespecified@{ub}

  Pressing @{b}Okay@{ub} affects Xtruder immediately. Pressing @{b}Cancel@{ub} will abort
  the changes you have made.

  @{b}Add@{ub}

   Add a path/file or several to the list.

  @{b}Remove@{ub}

   Remove the current highlighted entry from the list.

  @{b}Sort@{ub}

   Sort entries alphabetically.
@ENDNODE

@NODE Menus.Settings.FileCheck.Miscellaneous "File check menu"

 @{b}Miscellaneous@{ub}

  Pressing @{b}Okay@{ub} affects Xtruder immediately. Pressing @{b}Cancel@{ub} will abort
  the changes you have made.

  @{b}File filter@{ub}

   A normal pattern string. E.g. '~(#?.info)' would not check files with
   '.info' in the end of the filename.

  @{b}Archive filter@{ub}

   Same function as aboce except that this filter only applies for files
   within archives.

  @{b}Do with virus found@{ub}

   When a virus is found there is a number of actions Xtruder can
   automatically perform on it. When refering to 'file' it does not
   necessarily means the virus if the virus was found within an archive.
   Then 'file' will refer to the archive which holds the file.

    @{fg highlight}Disable@{fg text}

     Removes the executable bit from the protection bits of the file
     preventing it from being executed by accident.

    @{fg highlight}Delete@{fg text}
     
     Deletes the file. If a virus is found within an archive it deletes
     the whole archive!

    @{fg highlight}Rename@{fg text}

     Renames the file. The @{b}Rename extension@{ub} described below will be
     added to the filename. If the @{b}Rename extension@{ub} string is empty a
     requester will appear so you can enter the new name.

    @{fg highlight}Comment@{fg text}
     
     Comment the file with the @{b}Comment for virus@{ub} string described below.
     If that string is empty a requester will appear so you can enter a
     comment.

    @{fg highlight}Copy@{fg text}
     
     Copy the file to the @{"virus path" LINK Menus.Settings.Paths}.

    @{fg highlight}Request@{fg text}

     Request an action.

    @{fg highlight}Nothing@{fg text}

     Ignore the infected file.

  @{b}Do with virus copied@{ub}

   If you copy an infected file/archive there are also a couple of actions
   Xtruder may perform on the copied file.

    @{fg highlight}Disable@{fg text}

     Removes the executable bit from the protection bits of the copied
     file preventing it from being executed by accident.

    @{fg highlight}Rename@{fg text}

     Renames the copied file. The @{b}Rename extension@{ub} described below will
     be added to the filename. If the @{b}Rename extension@{ub} string is empty a
     requester will appear so you can enter the new name.

    @{fg highlight}Comment@{fg text}
     
     Comment the copied file with the @{b}Comment for virus@{ub} string
     described below. If that string is empty a requester will appear so
     you can enter a comment.

    @{fg highlight}Nothing@{fg text}

     Ignore the infected file.

  @{b}Comment for virus@{ub}

   The comment used for a virus infected file or archive.

  @{b}Rename extension@{ub}

   The rename extension for a virus infected file archive.

  @{b}Path indention@{ub}

   When a path is encountered in a file check it indents the files of that
   path a number of positions. This number can range from 1 to 10.

  @{b}Auto deprotect@{ub}

   Tick if read protected files should be deprotected so the file can be
   read and checked. Recommended.

  @{b}Enter directories@{ub}

   Tick if Xtruder should enter sub directories.

  @{b}Auto path check@{ub}

   Tick if an inserted disk should have its files checked. You must also
   tick @{"Check inserted disks" LINK Menus.Settings.Bootblock} otherwise the disk insertion will not be
   recognized.

  @{b}Suppress system messages@{ub}

   If ticked all system messages such as 'Not enough memory' will be
   suppressed during file checks.
@ENDNODE

@NODE Menus.Settings.Unpacking "File check menu"

 @{b}Unpacking@{ub}

  Pressing @{b}Okay@{ub} affects Xtruder immediately. Pressing @{b}Cancel@{ub} will abort
  the changes you have made.

  @{b}When decrunching use@{ub}

   This feature is used to specify which decrunch libraries Xtruder should
   use to decrunch executables and data files during checking operations.
   With all other operations it exclusively uses the unpack.library.

    @{fg highlight}Unpack then XFD@{fg text}

     Xtruder first checks if unpack.library can identify a file as
     crunched and if not tries the xfdmaster.library.

    @{fg highlight}XFD then Unpack@{fg text}

     Xtruder first checks if xfdmaster.library can identify a file as
     crunched and if not tries the unpack.library.

    @{fg highlight}Only Unpack@{fg text}

     Xtruder only checks if unpack.library can identify a file as
     crunched. 

    @{fg highlight}Only XFD@{fg text}

     Xtruder only checks if xfdmaster.library can identify a file as
     crunched.

  @{b}Extract archives@{ub}

   Tick if archives should be extracted and checked. When extracting
   please be aware of the fact that a file which have the same name as a
   file you are about to extract WILL BE OVERWRITTEN. LhA or LZX will
   not ask if it should overwrite it!!!

  @{b}Ask before extracting files@{ub}

   Tick if you want to confirm extracting of archives.

  @{b}Ask before deleting extracted files@{ub}

   Tick if you want to confirm deletion of extracted files. (To avoid
   confusion files are extracted to @{"archive extract path" LINK Menus.Settings.Paths}.

  @{b}Decrunch executables@{ub}

   Tick if executables should be decrunched.

  @{b}Decrunch data files@{ub}

   Data files are usually crunched text files but XPK crunched programs
   will be recognized as data files because of the special crunchsystem.
   Therefore, you should tick this option if you have a lot of XPK
   crunched programs.

  @{b}Ask before decrunching files@{ub}

   Tick if you want to confirm decrunching of executables.

  @{b}Ask before deleting decrunched files@{ub}

   Tick if you want to confirm deletion of decrunched files.

  @{b}Decrunch encrypted files@{ub}

   Crunched files are rarely encrypted but in case they are a requester
   will pop up and ask for the password. This is not good if you use
   Xtruder for checking uploaded files (in case your are a sysop :)
   because it would "hang" until you to enter the password. Therefore you
   may tick this and encrypted files will be copied to @{"corrupt path" LINK Menus.Settings.Paths}
   so you can check them later.

  @{b}Check DMS bootblock@{ub}

   Tick if Xtruder should check the bootblock of DMS archives for
   bootblock virus.
@ENDNODE

@NODE Menus.Settings.FileCheck.Archives "File check menu"

 @{b}Archives@{ub}

  Pressing @{b}Okay@{ub} affects Xtruder immediately. Pressing @{b}Cancel@{ub} will abort
  the changes you have made.

  @{b}Extract LhA@{ub}

   Tick if LhA archives should be extracted.

  @{b}Extract routine@{ub}

   Can be either 'Internal 1' or 'Internal 2'.

    @{fg highlight}Internal 1@{fg text}

     Xtruder extracts all files to the @{"Archive extract path" LINK Menus.Settings.Paths}.
     Then checks all the files matching @{"archive filter" LINK Menus.Settings.CheckII}.
     
     This routine is much faster than @{b}Internal 2@{ub} but uses more memory.

    @{fg highlight}Internal 2@{fg text}

     Xtruder makes a list of the files in the archive matching the
     @{"archive filter" LINK Menus.Settings.CheckII}, then extracts each file after eachother, checks it,
     checks if the file is crunched and if so decrunches it and checks it
     as uncrunched.

  @{b}Max size@{ub}

   This specifies the maximum size an extracted file from a LhA archive
   may have. If for instance you specify 15200 then all files which when
   extracted exceeds 15200 bytes will not be extracted.
   
  @{b}Extract LZX@{ub}

   Tick if LZX archives should be extracted.

  @{b}Extract routine@{ub}

   Can be either 'Internal 1' or 'Internal 2'.

    @{fg highlight}Internal 1@{fg text}

     Xtruder extracts all files to the @{"Archive extract path" LINK Menus.Settings.Paths}.
     Then checks all the files matching @{"archive filter" LINK Menus.Settings.CheckII}.
     
     This routine is much faster than @{b}Internal 2@{ub} but uses more memory.

    @{fg highlight}Internal 2@{fg text}

     Xtruder makes a list of the files in the archive matching the
     @{"archive filter" LINK Menus.Settings.CheckII}, then extracts each file after eachother, checks it,
     checks if the file is crunched and if so decrunches it and checks it
     as uncrunched.

  @{b}Max size@{ub}

   This specifies the maximum size an extracted file from a LZX archive
   may have. If for instance you specify 15200 then all files which when
   extracted exceeds 15200 bytes will not be extracted.

  @{b}Output@{ub}

   The output used when extracting archives with the internal method. If
   Xtruder finds a '%s' in this string it will replace it with the name
   of the archive it is extracting.
@ENDNODE

@NODE Menus.Settings.FileCheck.Information "Information menu"

 @{b}Information@{ub}

  Pressing @{b}Okay@{ub} affects Xtruder immediately. Pressing @{b}Cancel@{ub} will abort
  the changes you have made.

  @{b}Size@{ub}

   Size information will be shown during a file check. Please note that
   the more information you want to see the slower the check will be.

  @{b}File type@{ub}

   The file type will be shown during a file check.

  @{b}Protection bits@{ub}

   The protection bits will be shown during a file check.

  @{b}Date@{ub}

   The date will be shown during a file check.
@ENDNODE

@NODE Menus.Settings.FileCheck.PBC "File check menu"

 @{b}PBC@{ub}

  Pressing @{b}Okay@{ub} affects Xtruder immediately. Pressing @{b}Cancel@{ub} will abort
  the changes you have made.

  @{b}PBC bits@{ub}

   PBC is an abbrevation for 'Protection Bits for Checked files'. I think
   it is pretty obvious what it is for. For instance you could use PBC
   only on archives. Then if you check the a directory with a lot of
   archives once more Xtruder can skip the archives which has the exact
   PBC bits set. In my case I have a download directory and every time I
   have downloaded some files I simply check the whole directory except
   the archives which have been checked before which are skipped. Simple
   but effective.

  @{b}Check files with PBC set@{ub}

   Tick if files with PBC bits set should be checked. You should tick
   this when you get a newer version of the filevirus.library whereby
   you might find vira in the already checked archives/files.
   
  @{b}Set PBC on executables@{ub}

   Tick if executables should be marked as checked.

  @{b}Set PBC on archives@{ub}

   Tick if archives should be marked as checked.
@ENDNODE

@NODE Menus.Settings.FileCheck.CheckWindow "Check window menu"

 @{b}Check window@{ub}

  Pressing @{b}Okay@{ub} affects Xtruder immediately. Pressing @{b}Cancel@{ub} will abort
  the changes you have made.

  @{b}Auto close@{ub}

   Tick this if you want the check window to automatically close when a
   check has finished.

  @{b}Memory information@{ub}

   Tick this if you want real time updates of the amount of memory left

  @{b}Check information@{ub}

   Tick this if you want real time updates of the number of files checked,
   files decrunched etc.

  @{b}History@{ub}

   If ticked you will be able to see the history of the file check with
   real time updates and in Technicolor :-)

  @{b}Auto scroll@{ub}

   If this is ticked the history listview will automatically scroll down.

  @{b}Warnings@{ub}

   If ticked another listview will be shown with what Xtruder regards as
   "dangerous" settings. Not dangerous in the sense that it will wipe your
   HD but dangerous in the sense that you might not find all vira. For
   instance if you haven't ticked @{b}Decrunch executables@{ub} you will be
   informed about it since vira can hide in crunched files.
@ENDNODE

@NODE Menus.Settings.Load "Settings menu"

 @{b}Load@{ub}

  Load settings. Requests the filename of the settings file you want
  to load.
@ENDNODE

@NODE Menus.Settings.Save "Settings menu"

 @{b}Save@{ub}

  Save settings to 'ENV:Xtruder/Xtruder.prefs'. The size and coordinates
  of all windows opened by Xtruder will also be saved.
@ENDNODE

@NODE Menus.Settings.SaveAs "Settings menu"

 @{b}Save as@{ub}

  Save settings under a another name. The size and coordinates of all
  windows opened by Xtruder will also be saved.
@ENDNODE

@NODE Menus.ARexx "ARexx menu"

 @{b}The ARexx menu@{ub}

  @{" Execute script... " LINK Menus.ARexx.ExecuteScript}
@ENDNODE

@NODE Menus.ARexx.ExecuteScript "ARexx menu"

 @{b}Execute script@{ub}

  Choosing this will pop up a file requester where you can select an ARexx
  script to run. The path and filename are not shared with other
  filerequesters and will be saved along with settings.
@ENDNODE

@NODE CLI "The CLI"

 @{b}The CLI@{ub}

  You can type 'Xtruder ?' to see the command line interface of Xtruder.

  It looks like this:

   F=FILE/M,R=PRESPECIFIED/S,V=VECTORS/S,P=PUBSCREEN/K,E=EXIT/S

   @{b}FILE@{ub}

    You may specify more than one file/directory here. If you also specify
    the 'EXIT' keyword Xtruder will return to the CLI with one of the
    following codes:
    
      0 if the file(s) was OK or the number of vira found.

   @{b}PRESPECIFIED@{ub}

    Checks prespecified entries.

   @{b}VECTORS@{ub}

    Checks library vector offsets.

   @{b}PUBSCREEN@{ub}

    Name of public screen to appear on.

   @{b}EXIT@{ub}

    If you want Xtruder to return immediately to the CLI after having
    processed the other arguments specify this keyword. This is required
    if you want to make any use of the above mentioned return codes.
@ENDNODE

@NODE EnvVars "Environment variables"

 @{b}Special paths@{ub}

  You may use a file to specify an alternative path for the settings
  file (Xtruder.prefs) and the keyfile.

  For the settings file the name is 'PREFSLOCATION' and for the keyfile
  it is 'KEYFILELOCATION'.

  The files must be placed in either the directory from where Xtruder is
  run or in 'ENV:Xtruder'.
@ENDNODE

@NODE ARexxInterface "The ARexx interface"

 @{b}ARexx commands@{ub}

  The address of the Xtruder ARexx port is 'XTRUDER'. RexxMast must have
  been started in order for this port to be present.

  The commands:

   @{" SHOW                " Link ARexx.Show}
   @{" HIDE                " Link ARexx.Hide}

   @{" GETFILE             " Link ARexx.GetFile}
   @{" GETPATH             " Link ARexx.GetPath}

   @{" REQUESTUSER         " Link ARexx.RequestUser}
   @{" REQUESTSTRING       " Link ARexx.RequestString}
   @{" REQUESTNUMBER       " Link ARexx.RequestNumber}

   @{" CHECKPRESPECIFIED   " Link ARexx.CheckPrespecified}
   @{" CHECKSPECIFIED      " Link ARexx.CheckSpecified}
   @{" CHECKFILES          " Link ARexx.CheckFiles}
   @{" CHECKVECTORS        " Link ARexx.CheckVectors}
   @{" NUMBERVIRAFOUND     " Link ARexx.NumberViraFound}
   @{" GETVIRUSNAME        " Link ARexx.GetVirusName}
   @{" GETVIRUSFILENAME    " Link ARexx.GetVirusFileName}
   @{" FLUSHVIRUSFOUNDLIST " Link ARexx.FlushViraFoundList}
@ENDNODE

@NODE ARexx.Show "ARexx command: SHOW"

 @{b}SHOW@{ub}

  NAME
    SHOW - Show Xtruder's screen.

  SYNOPSIS
    SHOW

  FUNCTION
    Shows the GUI.

  INPUTS
    None

  RESULTS
    None
@ENDNODE

@NODE ARexx.Hide "ARexx command: HIDE"

 @{b}HIDE@{ub}

  NAME
    HIDE - Hide Xtruder's screen.

  SYNOPSIS
    HIDE

  FUNCTION
    Hides Xtruder's interface. 

  INPUTS
    None

  RESULTS
    None
@ENDNODE

@NODE ARexx.GetFile "ARexx command: GETFILE"

 @{b}GETFILE@{ub}

  NAME
    GETFILE - Get a filename

  SYNOPSIS
    GETFILE T=TITLE/K,P=PATH/K,F=FILE/K

  FUNCTION
    Get a filename from the user.

  INPUTS
    Title - The title of the requester.
    Path  - The path which to position the requester in. If you know that
            a file always is in 'S:' you could pass 'S:' here to unburden
            the user.
    File  - A standard filename without leading path.

  RESULTS
    If the requester was canceled @{b}RC@{ub} will be 5. Otherwise 0 and @{b}RESULT@{ub}
    will then hold the selected filename including possible leading path.
@ENDNODE

@NODE ARexx.GetPath "ARexx command: GETPATH"

 @{b}GETPATH@{ub}

  NAME
    GETPATH - Get a path

  SYNOPSIS
    GETPATH T=TITLE/K,P=PATH/K

  FUNCTION
    Get a path from the user.

  INPUTS
    Title - The title of the requester.
    Path  - The path which to position the requester in.

  RESULTS
    If the requester was canceled @{b}RC@{ub} will be 5. Otherwise 0 and @{b}RESULT@{ub}
    will then hold the selected path.
@ENDNODE

@NODE ARexx.RequestUser "ARexx command: REQUESTUSER"

 @{b}REQUESTUSER@{ub}

  NAME
    REQUESTUSER - Request a response from the user

  SYNOPSIS
    REQUESTUSER T=TITLE/K,P=PROMPT/K/A,R=RESPONSE/K

  FUNCTION
    Request a response from the user.

  INPUTS
    Title    - The title of the requester. Default is 'Xtruder Information'.
    Prompt   - The body text.
    Response - The gadgets. Default is 'Okay'. To have several responses
               separate the gadget texts with vertical bars. E.g.:
               'Okay|Maybe|Cancel'.

  RESULTS
    For @{b}RESPONSE@{ub} passed as @{b}Okay|Maybe|Cancel@{ub} it will return 1 for
    @{b}Okay@{ub}, 2 for @{b}Maybe@{ub} and 0 for @{b}Cancel@{ub}. The rightmost gadget will
    always return 0.
@ENDNODE

@NODE ARexx.RequestString "ARexx command: REQUESTSTRING"

 @{b}REQUESTSTRING@{ub}

  NAME
    REQUESTSTRING - Request a string from the user

  SYNOPSIS
    REQUESTSTRING T=TITLE/K,P=PROMPT/K,S=STRING/K,M=MAXBUFLEN/N,
                  A=ALLOWEMPTY/S,R=RESPONSE/K

  FUNCTION
    Get a string from the user.

  INPUTS
    Title      - Refer to @{"REQUESTUSER" Link ARexx.RequestUser}
    Prompt     - Refer to @{"REQUESTUSER" Link ARexx.RequestUser}
    String     - A default string to put in the string gadget.
    Maxbuflen  - Max number of characters allowed in string. May not be
                 more than 255. If not specified it defaults to 255.
                 May not be 0.
    Allowempty - Usually pressing return with an empty string gadget will
                 cancel the requester. Specify ALLOWEMPTY for allowing
                 empty strings.
    Response   - Refer to @{"REQUESTUSER" Link ARexx.RequestUser}

  RESULTS
    For @{b}RESPONSE@{ub} passed as @{b}Okay|Maybe|Cancel@{ub} it will return 1 for
    @{b}Okay@{ub}, 2 for @{b}Maybe@{ub} and 0 for @{b}Cancel@{ub}. The rightmost gadget will
    always return 0.
@ENDNODE

@NODE ARexx.RequestNumber "ARexx command: REQUESTNUMBER"

 @{b}REQUESTNUMBER@{ub}

  NAME
    REQUESTNUMBER - Request a number from the user

  SYNOPSIS
    REQUESTNUMBER T=TITLE/K,P=PROMPT/K,M=MIN/N,X=MAX/N,N=NUMBER/N,
                  S=SHOWDEFAULT/S,R=RESPONSE/K

  FUNCTION
    Get an integer number from the user.

  INPUTS
    Title       - Refer to @{"REQUESTUSER" Link ARexx.RequestUser}
    Prompt      - Refer to @{"REQUESTUSER" Link ARexx.RequestUser}
    Min         - Minimum value allowed.
    Max         - Maximum value allowed.
    Number      - A default number to put in the integer gadget.
    Showdefault - If specified the value in NUMBER will be shown and
                  otherwise hidden.
    Response    - Refer to @{"REQUESTUSER" Link ARexx.RequestUser}

  RESULTS
    For @{b}RESPONSE@{ub} passed as @{b}Okay|Maybe|Cancel@{ub} it will return 1 for
    @{b}Okay@{ub}, 2 for @{b}Maybe@{ub} and 0 for @{b}Cancel@{ub}. The rightmost gadget will
    always return 0.
@ENDNODE

@NODE ARexx.CheckPrespecified "ARexx command: CHECKPRESPECIFIED"

 @{b}CHECKPRESPECIFIED@{ub}

  NAME
    CHECKPRESPECIFIED - Check prespecified entries

  SYNOPSIS
    CHECKPRESPECIFIED

  FUNCTION
    Check the prespecified entries. See @{"prespecified settings" LINK Menus.Settings.FileCheck.Prespecified}.

  INPUTS
    None

  RESULTS
    @{b}RC@{ub} holds the number of vira found. If @{b}RC@{ub} is negative an error
    occured before the check could begin. I.e. no files were checked.

    Possible error codes:

     -1  :  Nothing to check.
     -2  :  One or more check paths were not found.
     -3  :  Could not open control window. If this happens you are very
            likely low on chip memory.
     -4  :  Not enough memory.
@ENDNODE

@NODE ARexx.CheckSpecified "ARexx command: CHECKSPECIFIED"

 @{b}CHECKSPECIFIED@{ub}

  NAME
    CHECKSPECIFIED - Specify files from a filerequester to check

  SYNOPSIS
    CHECKSPECIFIED

  FUNCTION
    A requester pops up and you will be able to select the directories
    and files you want to check.

  INPUTS
    None

  RESULTS
    @{b}RC@{ub} holds the number of vira found. If @{b}RC@{ub} is negative an error
    occured before the check could begin. I.e. no files were checked.

    Possible error codes:

     -1  :  Nothing to check.
     -2  :  One or more check paths were not found.
     -3  :  Could not open control window. If this happens you are very
            likely low on chip memory.
     -4  :  Not enough memory.
@ENDNODE

@NODE ARexx.CheckFiles "ARexx command: CHECKFILES"

 @{b}CHECKFILES@{ub}

  NAME
    CHECKFILES

  SYNOPSIS
   CHECKFILES F=FILE/M/A

  FUNCTION
    Check the specified files/directories as were they e.g. selected via
    a file requester. This is great for BBS use.

    You may also pass directory names.

  INPUTS
    File - The files/directories to check.
  
  RESULTS
    @{b}RC@{ub} holds the number of vira found. If @{b}RC@{ub} is negative an error
    occured before the check could begin. I.e. no files were checked.

    Possible error codes:

     -1  :  One of the files/directories were not found.
     -2  :  One or more check paths were not found.
     -3  :  Could not open control window. If this happens you are very
            likely low on chip memory.
     -4  :  Not enough memory.
@ENDNODE

@NODE ARexx.CheckVectors "ARexx command: CHECKVECTORS"

 @{b}CHECKVECTORS@{ub}

  NAME
    CHECKVECTORS

  SYNOPSIS
    CHECKVECTORS

  FUNCTION
    Checks vectors.

  INPUTS
    None

  RESULTS
    None
@ENDNODE

@NODE ARexx.NumberViraFound "ARexx command: NUMBERVIRAFOUND"

 @{b}NUMBERVIRAFOUND@{ub}

  NAME
    NUMBERVIRAFOUND

  SYNOPSIS
    NUMBERVIRAFOUND A=ALL/S

  FUNCTION
    Xtruder keeps track of the vira it has found during all the file
    checks. Not just the last check. If you ommit the @{b}ALL@{ub} argument this
    function will return the number of vira found in the last check it
    made. If @{b}ALL@{ub} is specified it will return the number of vira found in
    all the checks.

  INPUTS
    All - Get the number of vira found in all checks.

  RESULTS
    The number is returned in @{b}Result@{ub}.
@ENDNODE

@NODE ARexx.GetVirusName "ARexx command: GETVIRUSNAME"

 @{b}GETVIRUSNAME@{ub}

  NAME
    GETVIRUSNAME - Get a virus name from the virus list

  SYNOPSIS
    GETVIRUSNAME N=NUMBER/N/A

  FUNCTION
    Returns the virus name of a virus in the virus list.

  INPUTS
    Number - Number is a number between (both included) 1 and the number
             of vira found meaning 1 is the last virus found, 2 the last
             but one and so forth.

  RESULTS
    The virus name is returned in @{b}Result@{ub}.
@ENDNODE

@NODE ARexx.GetVirusFileName "ARexx command: GETVIRUSFILENAME"

 @{b}GETVIRUSFILENAME@{ub}

  NAME
    GETVIRUSFILENAME N=NUMBER/N/A

  SYNOPSIS
    GETVIRUSFILENAME N=NUMBER/N/A

  FUNCTION
    Returns the filename of a virus in the virus list. 

  INPUTS
    Number - Number is a number between (both included) 1 and the number
             of vira found meaning 1 is the last virus found, 2 the last
             but one and so forth.

  RESULTS
    The filename is returned in @{b}Result@{ub}.
@ENDNODE

@NODE ARexx.FlushVirusFoundList "ARexx command: FLUSHVIRUSFOUNDLIST"

 @{b}FLUSHVIRUSFOUNDLIST@{ub}

  NAME
    FLUSHVIRUSFOUNDLIST

  SYNOPSIS
    FLUSHVIRUSFOUNDLIST

  FUNCTION
    This command removes the entries of virus list.

  INPUTS
    None

  RESULTS
    None
@ENDNODE

@NODE HowToRegister "HowToRegister"

 @{b}How to register Xtruder@{ub}

  @{b}By registering this piece of software you provide me with resources and
  incentive to further development.@{ub}

  Every 10th (20th,30th...etc.) will get his/hers money back AND a free
  keyfile for Vinci.

  For instance if your keyfile happened to be nr. 90 you will receive your
  Xtruder keyfile together with a total refund AND a free keyfile for Vinci.

  Now do not try to calculate the next keyfile number by looking in the
  registered users list :-) It is not possible to do so since certain
  people have got one for free and they are therefore not listed there.

  To register, FIRST fill out the registration form which is included in
  the distribution as 'Xtruder.regform' and send it to me to one of the
  addresses below.

  THEN there are 3 ways you can send the registration fee to me.

  @{b}1.@{ub} The first and easiest way (in my opinion) is to send cash to my
     snailmail address below.

     But keep in mind that it is at your own risk if you do that. I cannot
     be responsible for lost letters. But just remember to wrap a piece
     of paper around the cash so the possibly corrupt mailman is unable
     to see what is inside the envelope.

     The registration fee may be one of the following:

      150,- DKR (Danish kroners)
      150,- SKR (Swedish kroners)
      150,- NKR (Norwegian kroners)
       40,- DEM (German D-mark)
       15,- GBP (British pound sterling)
       25,- USD (US-Dollars)
 
      or the same amount as 150 DKR in any other currency!

     NO COINS (except Danish) accepted!!

  @{b}2.@{ub} Eurocheque

     Send a Eurocheque payable to 'Martin Wulffeld' with the amount of
     150 DKR (Danish kroners).
     
     If you send any other kind of cheque please include an extra 5 GB
     pounds since the bank charges outrageous fees.

  @{b}3.@{ub} Transfer the equivalent of 150,- DKR to my bank:

      Unibank
      Praestoe Afdeling
      Adelgade 76
      4720 Praestoe
      Denmark

      Name: Martin Wulffeld

      Reg. number:    0047
      Account number: 4482-600-846

  ========================================================================

  ASAP on receipt of your registration I will send a personalized keyfile
  to you on a disk. But things take time so please allow up to 8 weeks for
  delivery, thanks = absolute, extremely worst case. Usually from you
  sending the registration till you get the key will not take more than 2
  weeks.

  Put the keyfile in your L: assign or use the environment variable
  'ENV:Xtruder/KEYLOCATION' to specify an alternative place for it. Place
  the path of the keyfile in it.

  You may not sell or give away the keyfile. The keyfile will make all
  (future) locked features available to you.

  ========================================================================

  - Snail mail: Martin Wulffeld
                Odensevej 121, 2 TV
                4700 Naestved
                Denmark

  - Internet:   wulffeld@geocities.com  (prefered)
                dm9523@nhs.dk

  - IRC:        As @{b}Alive@{ub} usually on undernet.

  - FidoNet:    2:236/25.4

  - AmigaNet:   39:141/132.4

  - Phone:      +45 (55) 77 01 37
@ENDNODE

@NODE WhatDoIGet "What do I get?"

 @{b}If I register what do I get?@{ub}

  - A keyfile which will unlock the current and future locked features in
    Xtruder. These are at the moment:
    
     LhA archive checking.

  - Possibly your money back and a free keyfile for Vinci. Check @{"How to register" LINK HowToRegister}.

  - A disk with the latest version of Vinci, Xtruder, Leagues and the rest
    of my productions.
@ENDNODE

@NODE RegisteredUsers "Registered users of Xtruder"

 @{b}Registered users@{ub}

  In alphabetical order:
 
  - Alex Holst
  - Bjørn Moritz
  - David P. Naylor
  - Flemming Slabiak
  - Jan Andersen
  - Jari Karjalainen
  - Jen Allen
  - John Marchant
  - Kenneth Perto
  - Michael L. Creasy
  - Rw van der Hoek
  - Tauno Pinni
@ENDNODE

@NODE Acknowledgements "Acknowledgements"

 @{b}Acknowledgements@{ub}

  - LhA is copyright © 1991,92 Stefan Boberg.
  - LZX is copyright © 1995 Data Compression Technologies.

  Thanks to Olaf 'Olsen' Barthel for releasing the source to 'term'.

  Many thanks to the following people for their bug reports, suggestions,
  arexx scripts, catalog translations, helpfulness, etc.:

   - Alex Holst for great support/beta testing as ever.
   - Jens Heller Sørensen for beta testing.
   - Kenneth Lund Sørensen for beta testing.
   
   - Anders Wegge Jakobsen for ARexx script to DLG Pro BBS system.
   - Bjørn Reese for the filevirus.library.
   - Erik Løvendahl Sørensen for SHI. SHI has been dissolved - R.I.P.
   - Georg Hörmann for the xfdmaster.library.
   - Jan Andersen & VIRUS HELP for lots of support.
   - Jan Nielsen for Danish catalog translation.
   - Johan Eliasson for the Bootblock.library.
   - John Philip Marchant for ARexx script to TransAmiga BBS system.
   - Kenneth Perto for beta testing and ARexx script to Zeus BBS system.
   - Matthias Andree.
   - Oliver Lange for the FileID.library.
   - Tauno Pinni for the Swedish catalog translation.
   - Thomas Neumann for the unpack library.
   - Walter Dörwald for his example backfill hook source.
   
   - Everybody I forgot. Bug reporting people especially :)
@ENDNODE

@NODE History "History"

 @{b}History of Xtruder@{ub}

  Histories for 1.0 to 2.5 removed to save space.

  Version:

   @{" 3.0 " LINK VERS_30}
   @{" 3.1 " LINK VERS_31}
   @{" 3.2 " LINK VERS_32}
@ENDNODE

@NODE VERS_30 "Version 3.0  :  25.9.1996  :  182376 bytes"

 @{b}Changes@{ub}

  - First of all: Everything has changed. Do not expect anything to act as
    it did in earlier versions. Escpecially check your ARexx scripts :-)

  - Menu design almost completely changed.
  - On public screens Xtruder will just reside as a title bar.
  - File check GUI. Looks pretty damn nice if I may say so :)
  - File check GUI settings created so you can customize it to your
    likings.
  - When a string gadget with a popup gadget is active pressing cursor
    down will act as a click on the popup gadget.
  - Pressing cursor downp in a public screen/file/dir string gadget will
    cause a requester to pop up.
  - @{b}Corrupt path@{ub} changed to @{b}Recheck path@{ub}.
  - When Xtruder is quitting it will in case the settings have been
    changed ask if the settings should be saved. You also have the
    possibility to cancel and return to Xtruder.
  - Added miscellaneous menuitems for easy access to certain sections in
    this guide.
  - Virus Information window and accompanying functions completely
    rewritten.
  - Under OS3 the history window shows the file check in multiple colors
    instead of only using black.
  - Completely rewrote the report system. Reports created with older
    versions are obsolete and can not be used by Xtruder 3.
  - Created a comprehensive bootblock handling interface. Most bootblock
    routines rewritten. The bootblock is automatically shown when read and
    in both ASCII and hex format.
  - Bootblock ARexx commands removed.
  - It is now optional whether you want to suppress system messages during
    file checks or not.
  - Time check removed.
  - Checking a report at startup is not possible anymore. Use an ARexx
    script to do it :)
  - Online help is now available at more windows.

 @{b}Bug fixes@{ub}

  - Prespecified setttings could crash sometimes. @{fg highlight}Nicholas Clarke@{fg text}.
  - Could not show the window with the public screens list. @{fg highlight}Alex Holst@{fg text}.
@ENDNODE

@NODE VERS_31 "Version 3.1  :  10.10.1996  :  182408 bytes"

 @{b}Changes@{ub}

  - Included Swedish catalog translation by Tauno Pinni. Thanks Tauno!

 @{b}Bug fixes@{ub}

  - Corrected a few errors in the catalog translation routines. @{fg highlight}Jan Nielsen@{fg text}.
@ENDNODE

@NODE VERS_32 "Version 3.2  :  29.10.1996  :  182880 bytes"

 @{b}Changes@{ub}
 
  - Changed a few things in the @{b}System Information@{ub} window. Things
    which appear abnormal are now shown in white.

  - New version of filevirus.library included.

 @{b}Bug fixes@{ub}

  - Listing of known file vira caused enforcer hits. @{fg highlight}Jan Andersen@{fg text}.
@ENDNODE
