  -142-


  CHAPTER 5 / CONFIGURATION


  Part of the power of 4DOS, 4OS2, and 4NT is their flexibility.
  You can alter their configuration to match your style of
  computing.  Most of the configuration of 4DOS, 4OS2, and 4NT is
  controlled through a file of initialization information with the
  extension .INI, which is discussed in this chapter.  This file is
  called 4DOS.INI in 4DOS, 4OS2.INI in 4OS2, and 4NT.INI in 4NT.
  (For brevity, we refer to all three files as .INI files throughout
  this manual.)  We also discuss many ways of configuring your
  command processor in other parts of this manual, for example:

       *  With aliases you can set default options for internal
          commands and create new commands (see pages 85 and 178).

       *  With executable extensions you can associate data files
          with the applications you use to open them (see page 75).

       *  With the FILECOMPLETION environment variable and the
          FileCompletion .INI directive (explained below) you can
          customize filename completion to match the command you are
          working with.

       *  With the COLORDIR environment variable and the ColorDir
          .INI directive you can set the colors used by the DIR and
          SELECT commands.

       *  With the SETDOS command (see page 363), you can change
          some aspects of the command processor's operation "on the
          fly."

       *  With command-line options (see the Introduction and
          Installation Guide) you can specify where 4DOS, 4OS2, or
          4NT looks for its startup files and how the command
          processor operates for a specific session.


  Modifying the .INI File

       You can create, add to, and modify the .INI file in 2 ways:
       with the OPTION command and by editing the file with any
       ASCII editor.  OPTION displays a set of dialogs which allow
       you to modify the settings that are used most often.  When
       you exit from the dialogs, you can select the Save button to
       save your changes in the .INI file for use in the current
       session and all future sessions, select the Use or OK button
       to use your changes in the current session only, or discard
       the changes you have made by selecting the Cancel button.
       See the OPTION command for additional details.

       Changes you make in the Startup section of the OPTION dialogs
       will only take effect when you reboot your system (under DOS,
       Windows, or Windows 95), or restart the session or window in
       which your command processor is running (under OS/2 or
       Windows NT).
  -143-

       OPTION handles most standard .INI file settings.  A few more
       advanced settings, as well as all settings that affect the
       interpretation of keystrokes, cannot be modified with OPTION
       and must be inserted or modified manually.  For more details
       see the OPTION command on page 329.

       You can also create, add to, and edit the .INI file
       "manually" with any ASCII text editor.  Each command
       processor reads its .INI file when it starts, and configures
       itself accordingly.  The .INI file is not re-read when you
       change it manually.  For manual changes to take effect, you
       must reboot your system (under DOS, and under typical Windows
       95 configurations), or restart the session or window in which
       your command processor is running (under OS/2 or Windows NT).
       If you edit the .INI file manually, make sure you save the
       file in ASCII format.

       Each item that you can include in the .INI file has a default
       value.  You only need to include entries in the file for
       settings that you want to change from their default values.


  Using the .INI File

       Some settings in the .INI file are initialized when you
       install 4DOS, 4OS2, or 4NT, so you will probably have an .INI
       file even if you didn't create one yourself.

       4DOS, 4OS2, and 4NT primary shells search for the .INI file
       in three places:

            *  If there is an "@d:\path\inifile" option on the
               SHELL= line in CONFIG.SYS (for 4DOS) or on the
               startup command line (for 4OS2 and 4NT), the command
               processor will use the path and file name specified
               there, and will not look elsewhere.  See the
               Introduction and Installation Guide for details about
               the startup command line.

            *  If there is no .INI file name on the SHELL= line or
               startup command line, the search proceeds to the same
               directory where the command processor program file
               (4DOS.COM, 4OS2.EXE, or 4NT.EXE) is stored.  This is
               the "normal" location for the .INI file.  4OS2 and
               4NT determine this directory automatically.  4DOS
               determines it from the COMSPEC directory name on the
               SHELL= line in CONFIG.SYS .  See your Introduction
               and Installation Guide for further details on setting
               the COMSPEC directory.

            *  If the .INI file is not found in the directory where
               the program file is stored, a final check is made in
               the root directory of the boot drive.

       When 4DOS, 4OS2, or 4NT is loaded as a secondary shell, it
       does not search for the .INI file.  Instead, it retrieves the
       primary shell's .INI file data, processes the [Secondary]
  -144-

       section of the original .INI file if necessary, and then
       processes any "@d:\path\inifile" option on the secondary
       shell command line (see your Introduction and Installation
       Guide for details).  You can override this behavior with the
       NextINIFile directive (see page 166).


  .INI File Sections

       The .INI file has three possible sections:  the first or
       global section, named after your command processor ([4DOS],
       [4OS2], or [4NT]); the [Primary] section; and the [Secondary]
       section.  Each section is identified by the section name in
       square brackets on a line by itself.

       Directives in the global section are effective in all shells.
       In most cases, this is the only section you will need,
       particularly for 4OS2 and 4NT.  Any changes you make to the
       .INI file with the OPTION command are stored in the global
       section.

       The [Primary] and [Secondary] sections include directives
       that are used only in primary and secondary shells,
       respectively (see page 8 for more information on primary and
       secondary shells).  You don't need to set up these sections
       unless you want different directives for primary and
       secondary shells.

       Directives in the [Primary] section are used for the first or
       primary shell.  The values are passed automatically to all
       secondary shells, unless overridden by a directive with the
       same name in the [Secondary] section.

       Directives in the [Secondary] section are used in secondary
       shells only, and override any corresponding primary shell
       settings.  For example, these lines in the .INI file:

                 [Primary]
                 ScreenRows = 25
                 [Secondary]
                 ScreenRows = 50

       mean to assume that you have 25 rows on the screen in the
       primary shell and 50 lines in all secondary shells.

       Sections that begin with any name other than the product name
       ([4DOS], [4OS2], or [4NT]), [Primary], or [Secondary] are
       ignored.


  .INI File Directives

       Most lines in the .INI file consist of a one-word directive,
       an equal sign [=], and a value.  For example, in the
       following line, the word "Environment" is the directive and
       "2048" is the value:
  -145-

            Environment = 2048

       Any spaces before or after the equal sign are ignored.

       If you have a long string to enter in the .INI file (for
       example, for the ColorDir directive), you must enter it all
       on one line.  Strings cannot be "continued" to a second line.
       Each line may be up to 511 characters long in 4DOS, or 1023
       characters long in 4OS2 and 4NT.

       The format of the value part of a directive line depends on
       the individual directive.  It may be a numeric value, a
       single character, a choice (like "Yes" or "No"), a color
       setting, a key name, a path, a filename, or a text string.
       The value begins with the first non-blank character after the
       equal sign and ends at the end of the line or the beginning
       of a comment.

       Blank lines are ignored in the .INI file and can be used to
       separate groups of directives.  You can place comments in the
       file by beginning a line with a semicolon [;].  You can also
       place comments at the end of any line except one containing a
       text string value.  To do so, enter at least one space or tab
       after the value, a semicolon, and your comment, like this:

            Environment = 2048       ;set standard environment size

       If you try to place a comment at the end of a string value,
       the comment will become part of the string and will probably
       cause an error.

       If you use the OPTION dialogs to modify the .INI file,
       comments on lines modified from within the dialogs will not
       be preserved when the new lines are saved.  To be sure .INI
       file comments are preserved, put them on separate lines in
       the file.

       When the command processor detects an error while processing
       the .INI file, it displays an error message and prompts you
       to press a key to continue processing the file.  This allows
       you to note any errors before the startup process continues.
       The directive in error will retain its previous or default
       value.  Only the most catastrophic errors (like a disk read
       failure) will terminate processing of the remainder of the
       .INI file.  If you don't want a pause after each error, use a
       "PauseOnError = No" directive at the beginning of the .INI
       file.

       If you need to test different values for an .INI directive
       without repeatedly editing the .INI file, use the OPTION
       command or see the INIQuery directive on page 149.

       If you want to include the text of one .INI file within
       another (for example, if you have a set of common directives
       used by several JP Software products), see the Include
       directive on page 166.
  -146-

       The SETDOS command can override several of the .INI file
       directives (see page 363).  For example, the cursor shape
       used by 4DOS, 4OS2, and 4NT can be adjusted either with the
       CursorIns and CursorOver directives or the SETDOS /S command.
       The correspondence between SETDOS options and .INI directives
       is noted under each directive below, and under each option of
       the SETDOS command.

       Secondary shells automatically inherit the configuration
       settings currently in effect in the previous shell.  If
       values have been changed by SETDOS since the primary shell
       started, the current values will be passed to the secondary
       shell.  If the previous shell's .INI file had a [Secondary]
       section, it will then be read and processed.  If not, the
       previous shell's settings will remain in effect.

       For example, you might set BatchEcho to Yes in the .INI file,
       to enable batch file echo.  If you then use SETDOS /V0 to
       turn off batch file echoing in the primary shell, then any
       secondary shells will inherit the SETDOS setting, rather than
       the original value from the .INI file; i.e., batch files in
       the secondary shell will default to no echo.

       If you want to force secondary shells to start with a
       specific value for a particular directive, regardless of any
       changes made with SETDOS in a previous shell, repeat the
       directive in the [Secondary] section of the .INI file.

4DOS   If you start a secondary shell from a task switching program
       like Windows, Windows 95, or DESQview, you can specify an
       alternate location and name for 4DOS.INI by passing the
       "@d:\path\inifile" option to 4DOS as a command-line parameter
       (see your 4DOS Introduction and Installation Guide for
       details).  In this case, the configuration settings in the
       alternate 4DOS.INI file will supersede any settings inherited
       from the previous shell.  Any values which are not explicitly
       set in the alternate file will retain the value they had in
       the previous shell.

       The first section below lists the different types of
       directives.  Subsequent sections list all the individual
       directives, divided by function and then alphabetically by
       directive name.

       At the end of this chapter, we have included a few examples
       of how to use the .INI file directives (see page 168).


       Types of Directives

       There are 8 types of directives in the .INI file.  The
       different types of directives are shown in the lists below as
       follows:

            *  Name = nnnn (1234):  This directive takes a numeric
               value which replaces the "nnnn."  The default value
               is shown in parentheses.
  -147-

            *  Name = c (X):  This directive accepts a single
               character as its value.  The default character is
               shown in parentheses.  You must type in the actual
               character; you cannot use a key name.

            *  Name = CHOICE1 | Choice2 | ... :  This directive
               takes a choice value.  The possible choices are
               listed, separated by vertical bars.  The default
               value is shown in all upper case letters in the
               directive description, but in your file any of the
               choices can be entered in upper case or lower case.
               For example, if the choices were shown as "YES | No"
               then "YES" is the default.

            *  Name = Color:  This directive takes a color
               specification.  See page 27 for the format of color
               names.

            *  Name = Key (Default):  This directive takes a key
               specification.  See page 30 for the format of key
               names.

            *  Name = Path:  This directive takes a path
               specification, but not a filename.  The value should
               include both a drive and path (e.g., C:\4DOS) to
               avoid any possible ambiguities.  A trailing backslash
               [\] at the end of the path name is acceptable but not
               required.  Any default path is described in the text.

            *  Name = File:  This directive takes a filename.  We
               recommend that you use a full filename including the
               drive letter and path to avoid any possible
               ambiguities.  Any default filename is described in
               the text.

            *  Name = String:  This directive takes a string in the
               format shown.  The text describes the default value
               and any additional requirements for formatting the
               string correctly.  No comments are allowed.

       4DOS, 4OS2, and 4NT each contain a fixed-length area for
       storing strings entered in the .INI file, including file
       names, paths, and other strings.  This area is large and is
       unlikely to overflow; if it does, you will receive an error
       message.  If this occurs, reduce the complexity of your .INI
       file or contact our technical support department for
       assistance.

       Each directive is listed below with its name, type, and
       default value.  In some cases, no default is shown because
       the default value is different for different products; in
       these cases, the default is described in the text.

*      Directives that are preceded by an asterisk can be set with
       the OPTION command.  Unless you specifically want to set one
       of these options in the [Primary] or [Secondary] section of
       your .INI file, we suggest you use the OPTION command for
  -148-

       these directives because of its ease of use and because it
       generally enforces correct syntax and values for the option
       in question.


       Initialization Directives

       The directives in this section control how your command
       processor starts and where it looks for its files.

*           4StartPath = Path:  Sets the drive and directory where
            the 4START and 4EXIT batch files (if any) are located.

* 4DOS      Alias = nnnn  (1024):  Sets the amount of memory in
            bytes allocated forthe alias list.  The allowable range
            of values is 256 to 32767 bytes.  This directive is not
            needed in 4OS2 or 4NT because both adjust the size of
            the alias list dynamically.  If you use a global alias
            list (see page 185), the Alias value is ignored in all
            shells except the shell which first establishes the
            global list.

* 4DOS      AutoExecParms = String:  Sets the parameter or
            parameters to be passed to AUTOEXEC.BAT, or the file
            specified with the AutoExecPath directive, above, when
            4DOS is started as a primary shell with the /P option in
            CONFIG.SYS (see your Introduction and Installation
            Guide).  The parameters will be available in your
            AUTOEXEC.BAT file as %1, %2, etc.

* 4DOS      AutoExecPath = Path | File:  Sets the path used to find
            AUTOEXEC.BAT if 4DOS is started as a primary shell with
            the /P option in CONFIG.SYS (see your Introduction and
            Installation Guide).  If you include only a path, 4DOS
            will look for AUTOEXEC.BAT in the specified directory.
            If you include a complete file name, 4DOS will look for
            the specified file, and will not look for AUTOEXEC.BAT.
            The default is the file AUTOEXEC.BAT in the root
            directory of the boot drive.

            Using AutoExecPath with a complete file name lets you
            store multiple startup files in a single directory.  You
            may find this useful under DOS if you have multiple boot
            software and use different startup files under different
            configurations, or under OS/2 if you have several DOS
            sessions with different startup files.  If you are
            running 4DOS under OS/2, using AutoExecPath is
            equivalent to setting DOS_AUTOEXEC on a session's DOS
            properties notebook page (see the OS/2 documentation and
            your Introduction and Installation Guide for details on
            DOS settings).

*           DirHistory = nnnn (256): Sets the amount of memory
            allocated to the directory history in bytes.  The
            allowable range of values is 256 to 2048 bytes in 4DOS,
            and 256 to 32767 bytes in 4OS2 and 4NT.  If you use a
            global directory history list (see page 47), the
  -149-

            DirHistory value is ignored in all shells except the
            shell which first establishes the global list.

  4OS2,     DuplicateBugs = YES | No:  Tells the 4OS2 or 4NT parser
  4NT       to duplicate certain well-known bugs in CMD.EXE.  The
            only bug currently replicated is in the IF command (see
            page 284).

* 4DOS      Environment = nnnn  (512):  Sets the amount of memory
            allocated to the environment in bytes.  The allowable
            range of values is 160 to 32767 bytes.  This directive
            is not needed in 4OS2 or 4NT because both adjust the
            size of the environment dynamically.

* 4DOS      EnvFree = nnnn  (128):  Sets the minimum amount of
            memory in bytes that will be available in the
            environment for secondary shells.  4DOS will enlarge the
            environment for each secondary shell, if necessary, so
            that there is at least this much free environment space
            when the shell starts.  The allowable range of values is
            128 to 32767 bytes.

* 4OS2      HelpBook = String:  Sets the names of the "books" to be
            loaded when 4OS2 help is invoked with the HELP command
            or the F1 key.  The default is 4OS2+CMDREF which loads
            the 4OS2 help and the OS/2 command reference.  See the
            4OS2 Introduction and Installation Guide for details
            about this directive.

* 4DOS      HelpOptions = String:  Sets default options for the 4DOS
            help system.  For the available options, see the Help
            Reference topic in the 4DOS online help.

  4DOS      HelpPath = Path:  This directive is obsolete.  It has
            been replaced by InstallPath (see below).

*           History = nnnn  (1024):  Sets the amount of memory
            allocated to the command history list in bytes.  The
            allowable range of values is 256 to 8192 bytes in 4DOS,
            and 256 to 32767 bytes in 4OS2 and 4NT.  If you use a
            global history list (see page 40), the History value is
            ignored in all shells except the shell which first
            establishes the global list.

            INIQuery = Yes | NO:  If set to Yes, a prompt will be
            displayed before execution of each subsequent line in
            the current .INI file.  This allows you to modify
            certain directives when you start the command processor
            in order to test different configurations.  INIQuery can
            be reset to No at any point in the file.  Normally
            INIQuery = Yes is only used during testing of other .INI
            file directives.

            The prompt generated by INIQuery = Yes is:

                 [contents of the line]  (Y/N/Q/R/E)  ?
  -150-

            At this prompt, you may enter:

                 Y = Yes:  Process this line and go on to the next.
                 N = No:   Skip this line and go on to the next.
                 Q = Quit: Skip this line and all subsequent lines.
                 R = Rest: Execute this and all subsequent lines.
                 E = Edit: Prompt for a new value for this entry.

            If you choose E for Edit, you can enter a new value for
            the directive, but not a new directive name.

            For example, if you have found a compatibility problem
            you think may be related to 4DOS's swapping or upper
            memory block usage, you might change your 4DOS.INI file
            so a part of it read as follows:

                 INIQuery = Yes
                 Swapping = XMS, EMS, C:\
                 UMBLoad = Yes
                 UMBEnvironment = Yes
                 INIQuery = No

            You could then choose to process, ignore, or edit the
            Swapping,  UMBLoad, or UMBEnvironment directive each
            time 4DOS started.  This would allow you to test several
            possible combinations to see if you could resolve the
            compatibility problem.

  4DOS      InstallPath = Path:  Sets the path used to find the help
            system, OPTION.EXE, and other 4DOS files.  This
            directive is normally set by the installation program,
            and should not be changed unless you move the 4DOS files
            to a different directory.

* 4NT       LoadAssociations = YES | No:  No prevents 4NT from
            loading Windows NT's direct file associations from the
            registry and using them when searching for executable
            files.  The default of Yes allows loading of the file
            associations.  See Windows File Associations on page 77
            for additional details.

*           LocalAliases = Yes | No:  The default value is Yes in
            4DOS and No in 4OS2 and 4NT.  No forces all copies of
            the command processor to share the same alias list.  Yes
            keeps the lists for each shell separate.  See page 185
            for more details on local and global alias lists.

*           LocalDirHistory = Yes | No:  The default value is Yes in
            4DOS and No in 4OS2 and 4NT.  No forces all copies of
            the command processor to share the same directory
            history.  Yes keeps the directory histories for each
            shell separate.  See page 47 for more details on local
            and global directory histories.

*           LocalHistory = Yes | No:  The default value is Yes in
            4DOS and No in 4OS2 and 4NT.  No forces all copies of
            the command processor to share the same history list.
  -151-

            Yes keeps the lists for each shell separate.  See page
            40 for more details on local and global history lists.

            PauseOnError = YES | No:  Yes forces a pause with the
            message "Error in filename, press any key to continue
            processing" after displaying any error message related
            to a specific line in the .INI file.  No continues
            processing with no pause after an error message is
            displayed.

* 4DOS      REXXPath = File:  Specifies the program that 4DOS will
            use to execute .BAT files that begin with the characters
            [/*].  Specify a full path and filename if the program
            is not in your PATH.  Under PC-DOS 7 and above, REXXPath
            defaults to REXX.EXE, the REXX interpreter included with
            the operating system.  If REXX.EXE is not in your PATH
            under PC-DOS 7, you must use this directive to specify
            the location of the REXX interpreter.  See page 104 for
            more information on REXX support.

* 4OS2      SwapFilePath = Path | File:  Specifies the path to the
            OS/2 swap file so that the MEMORY command can find it.
            You can either specify a full path and filename for the
            swap file or just the path.  If you specify a path only,
            4OS2 assumes that the file is called SWAPPER.DAT.  If
            SwapFilePath is not used, 4OS2 assumes that the file is
            named SWAPPER.DAT and stored in the \OS2\SYSTEM
            directory of the boot drive.

* 4DOS      Swapping = swap type [, swap type] ...:  Sets the type
            of swapping 4DOS should use.  4DOS runs in two parts, a
            resident portion that is always in memory and a
            transient portion that is "swapped" to EMS memory, XMS
            memory, a RAM disk, or your hard disk while application
            programs are running.  The swap area for the transient
            portion normally requires about 200K bytes of memory or
            disk space for the primary shell, and 50K bytes for each
            secondary shell.

            The swap type can be EMS to swap to EMS expanded memory,
            XMS to swap to XMS extended memory, d:\path to swap to
            the specified drive and path, or None for no swapping.

            If you use d:\path, 4DOS will create the file
            4DOSSWAP.nnn in the specified directory.  The file name
            changes if UniqueSwapName is set to Yes (see page 168).
            If you use None, the transient portion of 4DOS will
            remain in memory at all times; this will reduce memory
            available for application programs by about 200K.

            You can specify multiple swap types and 4DOS will try
            them in the order listed.  Swap type "None" is always
            appended to your list of possible swap types as a "last
            resort," even if you don't include it explicitly.  The
            default Swapping specification is EMS, XMS, x:\, None,
            where x is the boot drive.  In most cases you will find
            that the default setting works without modification.
  -152-

            Before changing the Swapping specification, see the
            Miscellaneous Reference section of the 4DOS online help
            for more detail on swapping types and the way 4DOS uses
            memory.

            If you use disk swapping in the primary shell under
            Windows 95, 4DOS sessions run from inside Windows will
            not inherit aliases, .INI settings, the command history,
            or the directory history from the primary shell.  This
            is due to a restriction in Windows 95.

            TreePath = Path:  Sets the location of JPSTREE.IDX, the
            file used for extended directory searches (see pages 51
            and 53 for information about extended searches).  By
            default, the file is placed in the root directory of
            drive C:.

* 4DOS      UMBAlias = Yes | NO | 1 | 2 ... | 8:  Yes attempts to
            load global alias list storage into a UMB (Upper Memory
            Block).  If you use a specific region number (1 through
            8), 4DOS will attempt to reserve room for the global
            alias list in that UMB region.

            Region numbers can be used under MS-DOS / PC-DOS 5.0 and
            above, and under OS/2's DOS support.  To use them, you
            must enable DOS UMB management with the DOS=UMB or
            DOS=HIGH,UMB directive in CONFIG.SYS.  See the
            Miscellaneous Reference section of the 4DOS online help
            for complete details on UMBs and UMB regions, and the
            hardware and software required to support them.

            If you use an invalid region number, or if region
            numbers have not been enabled on your system, 4DOS will
            load the global alias list into the first available
            region.  If no upper memory is available, space for the
            global alias list will be reserved in low memory.

            UMBAlias applies to global aliases only, and is only
            used in the first shell which establishes the global
            alias area (see page 185 for more information on local
            and global alias lists).  If you specify
            LocalAliases = Yes, or if the previous shell already
            created a global alias area, any UMBAlias setting is
            ignored.

* 4DOS      UMBDirHistory= Yes | NO | 1 | 2 ... | 8:  Yes attempts
            to load global directory history list storage into a UMB
            (Upper Memory Block).  See page 47 for more information
            on local and global directory history lists.  See
            UMBAlias (above) for information on the use of UMBs and
            region numbers.  Like UMBAlias, UMBDirHistory will be
            ignored if a global directory history list is not used.

* 4DOS      UMBEnvironment = Yes | NO | 1 | 2 ... | 8:  Yes attempts
            to load the master environment into a UMB (Upper Memory
            Block).  This reduces 4DOS's base memory requirements
            but may cause problems with some programs that try to
  -153-

            access the master environment directly.  See UMBAlias
            (above) for information on the use of UMBs and region
            numbers.

* 4DOS      UMBHistory = Yes | NO | 1 | 2 ... | 8:  Yes attempts to
            load global history list storage into a UMB (Upper
            Memory Block).  If you use a specific region number (1
            through 8), 4DOS will attempt to reserve room for the
            global history list in that UMB region.  See page 40 for
            more information on local and global history lists.  See
            UMBAlias (above) for information on the use of UMBs and
            region numbers.  Like UMBAlias, UMBHistory will be
            ignored if a global history list is not used.

* 4DOS      UMBLoad = Yes | NO | 1 | 2 ... | 8:  Yes attempts to
            load the resident portion of 4DOS into a UMB (Upper
            Memory Block).  This reduces the size of the resident
            portion in base memory from about 3K bytes to 256 bytes.
            See UMBAlias (above) for information on the use of UMBs
            and region numbers.

* 4OS2,     WindowState = STANDARD | Maximize | Minimize | Custom:
  4NT       Sets the initial state of the 4OS2 or 4NT window.
            Standard puts the window in the default position on the
            OS/2 or Windows NT desktop, and is the default setting.
            Maximize maximizes the window; Minimize minimizes it.
            Custom uses the position and size specified by WindowX
            etc. (below).  If you use Maximize, Minimize, or Custom
            you may see the 4OS2 or 4NT window appear briefly in the
            Standard position as it is created by the operating
            system, then switch to the new state.

* 4OS2,     WindowX = nnnn, WindowY = nnnn, WindowWidth = nnnn,
  4NT       WindowHeight = nnnn:  These 4 directives set the initial
            size and position of the 4OS2 or 4NT window.  They are
            ignored unless WindowState (above) is set to Custom.
            The measurements are in pixels or pels.  Under 4OS2,
            WindowX and WindowY refer to the position of the bottom
            left corner of the window relative to the bottom left
            corner of the screen.  Under 4NT, WindowX and WindowY
            refer to the position of the top left corner of the
            window relative to the top left corner of the screen.


       Configuration Directives

       These directives control the way that 4DOS, 4OS2, and 4NT
       operate.  Some can be changed with the SETDOS command while
       the command processor is running.  Any corresponding SETDOS
       command is listed in the description of each directive;
       information on SETDOS begins on page 363.

*           AmPm = Yes | NO | Auto:  Yes displays times in 12-hour
            format with a trailing "a" for AM or "p" for PM.  The
            default of No forces a display in 24-hour time format.
            Auto formats the time according to the country code set
            for your system.  AmPm controls the time displays used
  -154-

            by DIR and SELECT, in LOG files, and the output of the
            TIMER, DATE, and TIME commands.  It has no effect on
            %_TIME, %@MAKETIME, the $t and $T options of PROMPT, or
            date and time ranges.

* 4DOS      ANSI = AUTO | Yes | No:  Tells 4DOS whether an ANSI
            driver is installed and should be used for the CLS and
            COLOR commands.  4DOS normally determines this itself,
            but if you are using a non-standard ANSI driver or your
            loading sequence is unusual, you may need to explicitly
            inform 4DOS.  Also see SETDOS /A.  This directive is not
            available in 4OS2 (because 4OS2 assumes that ANSI
            support is always enabled), or 4NT (because Windows NT
            does not offer ANSI support).

*           AppendToDir = Yes | NO:  If set to Yes, a trailing
            backslash [\] will be appended to directory names when
            doing filename completion.  (Regardless of the setting
            of this directive, a trailing backslash is always
            appended to a directory name at the beginning of the
            command line to enable automatic directory changes.)

*           BatchEcho = YES | No:  Sets the default batch ECHO mode.
            Yes enables echoing of all batch file commands unless
            ECHO is explicitly set off in the batch file.  No
            disables batch file echoing unless ECHO is explicitly
            set on.  Also see SETDOS /V.

*           BeepFreq = nnnn  (440):  Sets the default BEEP command
            frequency in Hz.  This is also the frequency for "error"
            beeps (for example, if you press an illegal key).  To
            disable all error beeps set this or BeepLength to 0.  If
            you do, the BEEP command will still be operable, but
            will not produce sound unless you explicitly specify the
            frequency and duration.

*           BeepLength = nnnn  (2):  Sets the default BEEP length in
            system clock ticks (approximately 1/18 of a second per
            tick).  BeepLength is also the default length for
            "error" beeps (for example, if you press an illegal
            key).

*           CDDWinLeft, CDDWinTop, CDDWinWidth, CDDWinHeight = nnnn:
            These values set the position and size of the popup
            window used by extended directory searches (see page
            53), in characters, including the border.  The defaults
            are 3, 3, 72, and 16, respectively (i.e., a window
            beginning in column 3, row 3, 72 columns wide and 16
            rows high).  The position is relative to the top left
            corner of the screen.  The width and height values
            include the space required for the window border.  The
            window cannot be smaller than than 10 columns wide by 5
            rows high (including the border).  The values you enter
            will be adjusted if necessary to keep a minimum-size
            window visible on the screen.  The window is normally
            displayed with a shadow, but if you specify a window
            starting at column 0 and extending to the right margin,
  -155-

            the shadow is eliminated; this may be useful to prevent
            speech software from reading text in the shadow area
            while viewing the window.

*           CommandSep = c:  This is the character used to separate
            multiple commands on the same line.  The default is the
            caret [^] in 4DOS, and the ampersand [&] in 4OS2 and
            4NT.  You cannot use any of the redirection characters
            (| > < ) or any of the whitespace characters (space,
            tab, comma, or equal sign).  The command separator is
            saved by SETLOCAL and restored by ENDLOCAL.  Also see
            SETDOS /C, the %+ internal variable on page 113, and
            page 136 for information on using compatible command
            separators for two or more products.

*           CursorIns = nnnn  (100):  This is the shape of the
            cursor for insert mode during command-line editing and
            all commands which accept line input (DESCRIBE, ESET,
            etc.).  The size is a percentage of the total character
            cell size, between 0% and 100%.  Because of the way
            video BIOSes and drivers map the cursor shape, you may
            not get a smooth progression in cursor shapes as
            CursorIns and CursorOver change.  If CursorIns or
            CursorOver is set to -1, the command processor will not
            attempt to modify the cursor shape at all; you can use
            this feature to give another program full control of the
            cursor shape.  Also see SETDOS /S.

*           CursorOver = nnnn  (15):  This is the shape of the
            cursor for overtype mode during command-line editing and
            all commands which accept line input.  The size is a
            percentage of the total character cell size, between 0%
            and 100%.  Also see SETDOS /S.

*           DecimalChar = . | , | AUTO:  Sets the character used as
            the decimal separator for @EVAL, numeric IF and IFF
            tests, version numbers, and other similar uses.  The
            only valid settings are period [.], comma [,], and Auto
            (the default).  A setting of Auto tells the command
            processor to use the decimal separator associated with
            your current country code.  If you change the decimal
            character you must also adjust the thousands character
            (with ThousandsChar, see below) so that the two
            characters are different.  Also see SETDOS /G.

*           DescriptionMax = nnnn (511):  Controls the description
            length limit for DESCRIBE (see page 219).  The allowable
            range is 20 to 511 characters.

* !         DescriptionName = [File | EA]:  Sets the file name in
            which to store file descriptions.  The default file name
            is DESCRIPT.ION.  Use this directive with caution
            because changing the name from the default will make it
            difficult to transfer file descriptions to another
            system.
  -156-

  4OS2      If you set DescriptionName = EA, 4OS2 will use the
            ".SUBJECT" extended attribute (EA) for file descriptions
            instead of a separate file.  Note that using EAs will
            slow the DIR and SELECT commands noticeably.  On a FAT
            volume, performance may be substantially slower,
            depending on whether the system has cached the extended
            attributes.

*           Descriptions = YES | No:  Turns description handling on
            or off during the file processing commands COPY, DEL,
            MOVE, and REN.  If set to No, the command processor will
            not update the description file when files are moved,
            copied, deleted or renamed.  Also see SETDOS /D.

*           EditMode = Insert | OVERSTRIKE:  This directive lets you
            start the command-line editor in either insert or
            overstrike mode.  Also see SETDOS /M.

*           EscapeChar = c :  Sets the character used to suppress
            the normal meaning of the following character.  The
            default is Ctrl-X [the up-arrow character] in 4DOS, and
            a caret [^] in 4OS2 and 4NT.  See page 83 for a
            description of the escape character and special escape
            sequences.  You cannot use any of the redirection
            characters (|, >, or < ) or the whitespace characters
            (space, tab, comma, or equal sign) as the escape
            character.  The escape character is saved by SETLOCAL
            and restored by ENDLOCAL.  Also see SETDOS /E, the %=
            internal variable on page 113, and page 136 for
            information on using compatible escape characters for
            two or more products.

*           EvalMax = nnnn (8):  Controls the maximum number of
            digits after the decimal point in values returned by
            @EVAL (see page 125).  This setting can be overridden
            with the construct @EVAL[expression=x.y].  The allowable
            range is 0 to 8.  Also see SETDOS /F.

*           EvalMin = nnnn (0):  Controls the minimum number of
            digits after the decimal point in values returned by
            @EVAL (see page 125).  The allowable range is 0 to 8.
            EvalMin will be ignored if it is larger than EvalMax.
            This setting can be overridden with the construct
            @EVAL[expression=x.y].  Also see SETDOS /F.

* 4OS2,     ExecWait = Yes | NO:  Controls whether 4OS2 and 4NT wait
  4NT       for an external program started from the command line to
            complete before redisplaying the prompt.  See Waiting
            for Applications to Finish on page 79 for details on the
            effects of this directive.

*           FileCompletion = cmd1: ext1 ext2 ...; cmd2: ext3 ext4
            ...  Sets the files made available during filename
            completion for selected commands.  The format is the
            same as that used for the FILECOMPLETION environment
            variable.  See page 43 for a detailed explanation of
            selective filename completion.
  -157-

*           FuzzyCD = 0 | 1 | 2 | 3:  Enables or disables extended
            directory searches, and controls their behavior.  A
            setting of 0 (the default) disables extended searches.
            For complete details on the meaning of the other
            settings see Extended Directory Searches on page 53.

*           HistCopy = Yes | NO:  Controls what happens when you re-
            execute a line from the command history.  If this option
            is set to Yes, the line is appended to the end of the
            history list.  By default, or if this option is set to
            No, the command is not copied.  The original copy of the
            command is retained at its original position in the list
            regardless of the setting of HistCopy.  Set this option
            to No if you want to use HistMove = Yes; otherwise, the
            HistCopy setting will override HistMove.

*           HistLogName = File:  Sets the history log file name
            and/or path.  If only a path is given, the default log
            file name (4DOSHLOG, 4OS2HLOG, etc.) will be used.
            Using HistLogName does not turn history logging on; you
            must use a LOG /H ON command to do so.

*           HistMin = nnnn  (0):  Sets the minimum command-line size
            to save in the command history list.  Any command line
            whose length is less than this value will not be saved.
            Legal values range from 0, which saves everything, to
            the maximum command-line length plus 1 (i.e., 256 in
            4DOS, or 1024 in 4OS2 and 4NT), which disables all
            command history saves.

*           HistMove = Yes | NO:  If set to Yes, a recalled line is
            moved to the end of the command history.  The difference
            between this directive and HistCopy, above, is that
            HistCopy = Yes copies each recalled line to the end of
            the history but leaves the original in place.  HistMove
            = Yes places the line at the end of history and removes
            the original line.  This directive has no effect if
            HistCopy = Yes.

*           HistWrap = YES | No:  Controls whether the command
            history recall "wraps" when you reach the top or bottom
            of the list.  The default setting enables wrapping, so
            the list appears "circular".  If HistWrap is set to No,
            history recall will stop at the beginning and end of the
            list rather than wrapping.  This setting affects history
            recall at the prompt only; the command history window
            never wraps.

  4DOS,     LineInput = Yes | NO:  This directive controls how 4DOS
  4OS2      and 4OS2 get their input from the command line.  Yes
            forces 4DOS and 4OS2 to perform line-by-line input, just
            as COMMAND.COM and CMD.EXE do, instead of character-by-
            character input.  This will disable command-line
            editing, history recall, the directory history window,
            and filename completion, and will reduce the 4OS2 input
            length limit from 1023 characters to 255 characters.  It
            is normally used only for rare memory-resident programs
  -158-

            (TSRs) or applications which do not work properly unless
            the command processor uses line input.  If you have a
            particular program that requires line input, you can use
            SETDOS /L to temporarily change modes.  See the
            Compatibility section of the online help for information
            on any programs which require this option.

*           LogName = File:  Sets the log file name and/or path.  If
            only a path is given, the default log file name
            (4DOSLOG, 4OS2LOG, etc.) will be used.  Using LogName
            does not turn logging on; you must use a LOG ON command
            to do so.

*           NoClobber = Yes | NO:  If set to Yes, will prevent
            standard output redirection (see page 58) from
            overwriting an existing file, and will require that the
            output file already exist for append redirection.  Also
            see SETDOS /N.

*           ParameterChar = c:  Sets the character used after a
            percent sign to specify all or all remaining command-
            line arguments in a batch file or alias (e.g., %& or
            %n&; see pages 90 and 184).  The default is the
            ampersand [&] for 4DOS and the dollar sign [$] for 4OS2
            and 4NT.  The parameter character is saved by SETLOCAL
            and restored by ENDLOCAL.  Also see SETDOS /P.  See page
            136 for information on using compatible parameter
            characters for two or more products.

*           PopupWinLeft, PopupWinTop, PopupWinWidth, PopupWinHeight
            = nnnn:  These values set the position and size of the
            command-line, directory history, and filename completion
            windows, and most other popup windows (see CDDWinLeft
            etc. for the extended directory search window).  The
            values are in characters, and include the border.  The
            defaults are 40, 1, 36, and 12, respectively (i.e., a
            window beginning in column 40, row 1, 36 columns wide
            and 12 rows high).  The position is relative to the top
            left corner of the screen.  The width and height values
            include the space required for the window border.  The
            window cannot be smaller than than 10 columns wide by 5
            rows high (including the border).  The values you enter
            will be adjusted if necessary to keep a minimum-size
            window visible on the screen.  The window is normally
            displayed with a shadow, but if you specify a window
            starting at column 0 and extending to the right margin,
            the shadow is eliminated; this may be useful to prevent
            speech software from reading text in the shadow area
            while viewing the window.

*           Printer = devicename:  Sets the output device that the
            LIST command will print to.  By default, LPT1 is used.
            The device can be PRN, LPT1 to 3, COM1 to 4, NUL (which
            will disable printed output) or any other installed
            character device.
  -159-

* 4DOS      ScreenColumns = nnnn:  Sets the number of columns used
            by the video display.  Normally the screen size is
            determined automatically, but if you have a non-standard
            display you may need to set it explicitly.  Systems
            which need to set OutputBIOS to Yes (see page 167) may
            also need to use this directive.

* 4DOS,     ScreenRows = nnnn:  Sets the number of screen rows used
  4OS2      by the video display.  Normally the screen size is
            determined automatically, but if you have a non-standard
            display you may need to set it explicitly.  This value
            does not affect screen scrolling, which is controlled by
            your operating system, or (under DOS) your video BIOS or
            ANSI driver.  ScreenRows is used only by the LIST and
            SELECT commands, the paged output options of other
            commands (e.g., TYPE /P), and error checking in the
            screen output commands.  Also see SETDOS /R.

*           TabStops = nnnn (8):  Sets the tab stops for files
            displayed with the LIST command.  Setting TabStops=3,
            for example, will place a tab stop in every third
            column.  The allowable range is 1 to 32.

*           ThousandsChar = . | , | AUTO:  Sets the character used
            as the thousands separator for numeric output.  The only
            valid settings are period [.], comma [,], and Auto (the
            default).  A setting of Auto tells the command processor
            to use the thousands separator associated with your
            current country code.  If you change the thousands
            character you must also adjust the decimal character
            (with DecimalChar, see above) so that the two characters
            are different.  Also see SETDOS /G.

*           UpperCase = Yes | NO:  Yes specifies that file and
            directory names should be displayed in the traditional
            upper-case by internal commands like COPY and DIR.  No
            allows the normal 4DOS, 4OS2, and 4NT lower-case style.
            This directive does not affect the display of filenames
            on HPFS, NTFS, or LFN drives; see page 14 for more
            details.  Also see SETDOS /U.

* 4DOS      Win95SFNSearch = YES | No:  Set to No to disable the
            automatic search for short filenames after long
            filenames in Windows 95.  See page 75 for details.


       Color Directives

       These directives control the colors that 4DOS, 4OS2, and 4NT
       use for their displays.  Screen border colors can only be set
       in StdColors.  "BORder" color specifications included in
       other directives will be ignored.  For complete details on
       color names see page 27.

* 4DOS,     BrightBG = Yes | No.  If set to Yes, 4DOS and 4OS2 will
  4OS2      enable bright background colors.  If set to No, bright
            backgrounds will be disabled, but blinking foreground
  -160-

            characters will be enabled.  If BrightBG is not used,
            4DOS and 4OS2 will not adjust the bright background /
            blinking foreground switch at all.  Most color video
            boards default to a blinking foreground with bright
            background colors disabled.  See also SETDOS /B.

            Using BrightBG requires careful attention to
            interactions of display type, mode, and color.  For a
            detailed explanation, see page 28.

*           CDDWinColors = Color:  Sets the default colors for the
            popup window used by extended directory searches (see
            page 53).  If this directive is not used, the colors
            will be reversed from the current colors on the screen.

*           ColorDir = ext1 ext2 ...:colora;ext3 ext4 ... :colorb;
            ...:  Sets the directory colors used by DIR and SELECT.
            The format is the same as that used for the COLORDIR
            environment variable.  See page 230 for a detailed
            explanation of color-coded directories.

*           InputColors = Color:  Sets the colors used for command-
            line input.  This setting is useful for making your
            input stand out from the normal output.  InputColors
            will not work properly under 4DOS unless you have an
            ANSI driver loaded (see page 25 for more information on
            ANSI).

*           ListboxBarColors = Color:  Sets the color for the
            highlight bar in the popup list boxes (i.e., command
            history window, filename completion window, @SELECT
            window, etc.).

*           ListColors = Color:  Sets the colors used by the LIST
            command.  If this directive is not used, LIST will use
            the current default colors set by the CLS or COLOR
            command or by the StdColors directive, below.

*           ListStatBarColors = Color:  Sets the colors used on the
            LIST status bar.  If this directive is not used, LIST
            will set the status bar to the reverse of the screen
            color (the screen color is controlled by ListColors,
            above).

*           PopupWinColors = Color:  Sets the default colors for the
            command-line, directory history, and filename completion
            windows, and most other popup windows (see CDDWinColors
            for the extended directory search window).  If this
            directive is not used, the colors will be reversed from
            the current colors on the screen.

*           SelectColors = Color:  Sets the color used by the SELECT
            command.  If this directive is not used, SELECT will use
            the current default colors set by the CLS or COLOR
            command or by the StdColors directive, below.
  -161-

*           SelectStatBarColors = Color:  Sets the color used on the
            SELECT status bar.  If this directive is not used,
            SELECT will set the status bar to the reverse of the
            screen color (the screen color is controlled by
            SelectColors, above).

*           StdColors = Color:  Sets the standard colors to be used
            when CLS is used without a color specification, and for
            LIST and SELECT if ListColors and SelectColors are not
            used.  Using this directive is similar to placing a
            COLOR command in AUTOEXEC.BAT or 4START.  StdColors
            takes effect the first time CLS, LIST, or SELECT is used
            after 4DOS, 4OS2, or 4NT starts, but will not affect the
            color of error or other messages displayed during the
            loading and initialization process.

            Under 4DOS, if ANSI.SYS or a compatible driver is not
            loaded, the colors will not be "sticky" -- you may lose
            them when you run an application.  See page 25 for
            additional details.


   ##  Key Mapping Directives

       The directives in this group allow you to change the keys
       used for command-line editing and other internal functions.
       They take effect only inside 4DOS, 4OS2, or 4NT, and do not
       affect other programs or the help system.

       The description of each directive below explains the function
       of the corresponding key.  Using the directive allows you to
       assign a different or additional key to perform the function
       described.  For example, to use function key F3 to invoke the
       HELP facility (normally invoked with F1):

            Help = F3

       Any directive can be used multiple times to assign multiple
       keys to the same function.  For example:

            ListFind = F        ;F does a find in LIST
            ListFind = F5       ;F5 also does a find in LIST

       Use some care when you reassign keystrokes.  If you assign a
       default key to a different function, it will no longer be
       available for its original use.  For example, if you assign
       F1 to the AddFile directive (a part of filename completion),
       the F1 key will no longer invoke the help system, so you will
       probably want to assign a different key to Help.

       Please read the information on key names beginning on page 30
       before using the key mapping directives.

       Key assignments are processed before looking for keystroke
       aliases.  For example, if you assign Shift-F1 to HELP and
       also assign Shift-F1 to a key alias, the key alias will be
       ignored.
  -162-

       Assigning a new keystroke for a function does not deassign
       the default keystroke for the same function.  If you want to
       deassign one of the default keys, use the NormalKey directive
       described below or the corresponding directive for keys in
       the other key groups (NormalEditKey, NormalPopupKey, or
       NormalListKey).


       General Input Keys

            This first set of Key Mapping Directives applies to all
            input.  These directives are in effect whenever 4DOS,
            4OS2, or 4NT requests input from the keyboard, including
            during command-line editing and the DESCRIBE, ESET,
            INPUT, LIST, and SELECT commands.  See page 35 for more
            information about command-line editing.

            Backspace = Key  (Bksp):  Deletes the character to the
            left of the cursor.

            BeginLine = Key  (Home):  Moves the cursor to the
            beginning of the line.

            Del = Key  (Del):  Deletes the character at the cursor.

            DelToBeginning = Key (Ctrl-Home):  Deletes from the
            cursor to the start of the line.

            DelToEnd = Key (Ctrl-End):  Deletes from the cursor to
            the end of the line.

            DelWordLeft = Key  (Ctrl-L):  Deletes the word to the
            left of the cursor.

            DelWordRight = Key  (Ctrl-R, Ctrl-Bksp):  Deletes the
            word to the right of the cursor.  See ClearKeyMap on
            page 166 if you need to remove the default mapping of
            Ctrl-Bksp to this function.

            Down = Key  (Down):  Scrolls the display down one line
            in LIST; moves the cursor down one line in SELECT and in
            the command-line history, directory history, or %@SELECT
            window.

            EndLine = Key  (End):  Moves the cursor to the end of
            the line.

            EraseLine = Key  (Esc):  Deletes the entire line.

            ExecLine = Key (Enter):  Executes or accepts a line.

            Ins = Key (Ins):  Toggles insert / overstrike mode
            during line editing.

            Left = Key  (Left):  Moves the cursor left one character
            on the input line; scrolls the display left 8 columns in
  -163-

            LIST; scrolls the display left 4 columns in the history
            or %@SELECT windows.

            NormalKey = Key:  Deassigns a general input key in order
            to disable the usual meaning of the key within 4DOS,
            4OS2, or 4NT and/or make it available for keystroke
            aliases.  This will make the keystroke operate as a
            "normal" key with no special function.  For example:

                 NormalKey = Ctrl-End

            will disable Ctrl-End, which is the standard "delete to
            end of line" key.  Ctrl-End could then be assigned to a
            keystroke alias.  Another key could be assigned the
            "delete to end of line" function with the DelToEnd
            directive (above).

            Right = Key  (Right):  Moves the cursor right one
            character on the input line; scrolls the display right 8
            columns in LIST; scrolls the display right 4 columns in
            the command-line history, directory history, or %@SELECT
            window.

            Up = Key  (Up):  Scrolls the display up one line in
            LIST; moves the cursor up one line in SELECT and in the
            command-line history, directory history, or %@SELECT
            window.

            WordLeft = Key  (Ctrl-Left):  Moves the cursor left one
            word; scrolls the display left 40 columns in LIST.

            WordRight = Key  (Ctrl-Right):  Moves the cursor right
            one word; scrolls the display right 40 columns in LIST.


       Command-Line Editing Keys

            The following directives apply only to command-line
            editing.  They are only effective at the 4DOS, 4OS2, or
            4NT prompt.

            AddFile = Key  (F10):  Keeps the current filename
            completion entry and inserts the next matching name.

            AliasExpand = Key (Ctrl-F):  Expands all aliases in the
            current command line without executing them.

            CommandEscape = Key  (Alt-255):  Allows direct entry of
            a keystroke that would normally be handled by the
            command line editor (e.g. Tab or Ctrl-D).

            DelHistory = Key  (Ctrl-D):  Deletes the displayed
            history list entry and displays the previous entry.

            EndHistory = Key  (Ctrl-E):  Displays the last entry in
            the history list.
  -164-

            Help = Key  (F1):  Invokes the HELP facility.

4DOS,       LFNToggle = Key (Ctrl-A):  Toggles filename completion
4NT         between long filename and short filename modes on LFN
            drives.

            LineToEnd = Key  (Ctrl-Enter):  Copies the current
            command line to the end of the history list, then
            executes it.

            NextFile = Key  (F9, Tab):  Gets the next matching
            filename.  See ClearKeyMap on page 166 if you need to
            remove the default mapping of Tab to this function.

            NextHistory = Key  (Down):  Recalls the next command
            from the command history.

            NormalEditKey = Key:  Deassigns a command-line editing
            key in order to disable the usual meaning of the key
            while editing a command line, and/or make it available
            for keystroke aliases.  For details see the NormalKey
            directive on page 163.

            PopFile = Key  (F7, Ctrl-Tab):  Opens the filename
            completion window.  You may not be able to use Ctrl-Tab,
            because not all systems recognize it as a keystroke.
            See ClearKeyMap on page 166 if you need to remove the
            default mapping of Ctrl-Tab to this function.

            PrevFile = Key  (F8, Shift-Tab):  Gets the previous
            matching filename.  See ClearKeyMap on page 166 if you
            need to remove the default mapping of Shift-Tab to this
            function.

            PrevHistory = Key  (Up):  Recalls the previous command
            from the command history.

            SaveHistory = Key  (Ctrl-K):  Saves the command line in
            the command history list without executing it.


       Popup Window Keys

            The following directives apply to popup windows,
            including the command history window, the directory
            history window, the filename completion window, the
            extended directory search window, and the @SELECT
            window.

            DirWinOpen = Key (Ctrl-PgUp):  Opens the directory
            history window while at the command line.

            HistWinOpen = Key (PgUp):  Brings up the history window
            while at the command line.

            NormalPopupKey = Key:  Deassigns a popup window key in
            order to disable the usual meaning of the key within the
  -165-

            popup window.  For details see the NormalKey directive
            on page 163.

            PopupWinBegin = Key (Ctrl-PgUp):  Moves to the first
            item in the list when in the popup window.

            PopupWinDel = Key (Ctrl-D):  Deletes a line from within
            the command history or directory history window.

            PopupWinEdit = Key (Ctrl-Enter):  Moves a line from the
            command history or directory history window to the
            prompt for editing.

            PopupWinEnd = Key (Ctrl-PgDn):  Moves to the last item
            in the list when in the popup window.

            PopupWinExec = Key (Enter):  Selects the current item
            and closes the window.


       LIST Keys

            The keys in the last group of Key Mapping Directives are
            effective only inside the LIST command.

            ListExit = Key (Esc):  Exits from the LIST command.

            ListFind = Key (F):  Prompts and searches for a string.

            ListFindReverse = Key (Ctrl-F):  Prompts and searches
            backward for a string.

            ListHex = Key (X):  Toggles hexadecimal display mode.

            ListHighBit = Key (H):  Toggles LIST's "strip high bit"
            option, which can aid in displaying files from certain
            word processors.

            ListInfo = Key (I):  Displays information about the
            current file.

            ListNext = Key (N):  Finds the next matching string.

            ListPrevious = Key (Ctrl-N):  Finds the previous
            matching string.

            ListPrint = Key (P):  Prints the file on LPT1.

            ListWrap = Key (W):  Toggles LIST's wrap option on and
            off.  The wrap option wraps text at the right margin.

            NormalListKey = Key:  Deassigns a LIST key in order to
            disable the usual meaning of the key within LIST.  For
            details see the NormalKey directive on page 163.
  -166-

   ##  Advanced Directives

       These directives are generally used for unusual
       circumstances, or for diagnosing problems.  Most often they
       are not needed in normal use.  This section provides basic
       information only; be sure to review the online help for
       complete details before using these directives.


       Advanced Directives For 4DOS, 4OS2, and 4NT

            The directives in this section work in 4DOS, 4OS2, and
            4NT.

            ClearKeyMap:  Clears all current key mappings.
            ClearKeyMap is a special directive which has no value or
            "=" after it.  Normally it is used to make one of the
            keys in the default map (Tab, Shift-Tab, Ctrl-Tab, or
            Ctrl-Bksp) available for a keystroke alias.

            Debug = nnnn (0):  Controls certain debugging options
            which can assist you in tracking down unusual problems.
            See the help for details.

            Include = File:  Include the text from the named file at
            this point in the processing of the current .INI file.
            Use this option to share a file of directives between
            several products.  The included file may contain any
            valid directive for the current section, but may not
            contain a section name.

            NextINIFile = File.  The full path and name of the file
            must be specified.  All subsequent shells will read the
            specified .INI file, and ignore any [Secondary] section
            in the original .INI file.  Under 4DOS, if you have a
            diskless or floppy-based workstation, NextINIFile will
            allow you to shift 4DOS.INI to a network drive for
            secondary shells, and avoid all access to the original
            boot drive.


       Advanced Directives For 4DOS Only

  4DOS      The following advanced directives apply to 4DOS only,
            and will not work in 4OS2 or 4NT.

            CritFail = Yes | NO:  This is the same as /F on the
            SHELL= line in CONFIG.SYS; it forces a Fail response to
            all DOS critical errors.  We do not recommend this on
            most systems, because you will not be able to react to a
            critical error and correct the problem that caused it.

            DiskReset = Yes | NO:  Enables disk resets after file
            processing commands, before DIR, and when starting 4DOS.
            Set to Yes if you have problems with disk change
            detection on floppy disk drives, or with network
  -167-

            software which doesn't always properly flush data to the
            disk.

            DVCleanup = YES | No.  Controls the cleanup of 4DOS
            resources when you close a 4DOS window from the DESQview
            menu.

            FullINT2E = YES | No:  Enables support for the
            COMMAND.COM "back door" (interrupt 2E) which some
            programs use to execute commands.

            Inherit = YES | No:  .INI file data, aliases, and
            history lists are normally passed to secondary shells.
            No disables this feature.

            MessageServer = YES | No:  Enables the "message server"
            included for compatibility with COMMAND.COM in MS-DOS
            4.x and above.

            NetwareNames = Yes | NO.  Set to Yes to include strings
            in the resident portion of 4DOS which Novell Netware
            searches for when it loads.  You must use this option on
            most Netware systems to avoid problems with destroyed
            environment variables during LOGIN.

            OutputBIOS = Yes | NO:  Determines whether 4DOS uses the
            BIOS for all screen displays.  If set to No, 4DOS will
            use direct screen writes for color-coded directories and
            commands like DRAWBOX, LIST, SELECT, and SCRPUT.  If set
            to Yes, 4DOS will perform these commands using BIOS
            calls.

            SDFlush = Yes | NO:  Determines whether 4DOS instructs
            Microsoft SMARTDRV (and other compatible disk caching
            programs) to flush any "write-behind" buffers to the
            disk before the 4DOS prompt is displayed.  Setting
            SDFlush to Yes will ensure that SMARTDRV is instructed
            to write all modified data to disk before the prompt is
            displayed, but cannot guarantee that SMARTDRV actually
            performs this task.

            StackSize = nnnn:  Set the 4DOS internal stack size.
            The allowable range of values is 8192 to 16384.  The
            default is 8192 bytes on standard DOS systems, and 10240
            bytes under Windows 95.  If you use complex combinations
            of "prefix" commands like DO, EXCEPT, FOR, GLOBAL, IF,
            IFF, and SELECT on the same line, and especially if you
            use these commands in multiple nested batch files or
            GOSUBs, you may encounter a "4DOS internal stack
            overflow" error.  If you do, use this directive to
            increase the stack space available.

            SwapReopen = Yes | NO:  Set to Yes to enable reopening
            of the 4DOS swap file if it is closed by another
            program.  This is required when swapping 4DOS to Novell
            Netware drives or when using other applications which
            close 4DOS's swap file.  In all other circumstances, it
  -168-

            is only useful for diagnostic purposes.  Setting
            SwapReopen to Yes also disables the reduced swapping
            size used in 4DOS secondary shells.

            UniqueSwapName = Yes | No:  Set to Yes to change the
            disk swap file name from 4DOSSWAP.nnn to a unique,
            random  name generated by 4DOS, with an extension of
            "4SW" (e.g., A1CD6B11.4SW).

            Win95LFN = YES | No:  Set to No to disable long filename
            support in 4DOS under Windows 95.  This generally should
            be used only for debugging or diagnostic purposes.


       Examples

       The following examples will give you an idea of the types of
       things that can be done with the .INI file.  The comments on
       each directive explain what it does.

       First, a very simple 4DOS example that just sets up swapping
       and environment size, leaving everything else at its default
       value:

            [4DOS]
            InstallPath = c:\4dos600
            Swapping = ems, c:\           ;try EMS, then C: root
            Environment = 1024            ;set environment size

       Here's another 4DOS example, for a system which supports
       Upper Memory blocks (UMBs).  Several settings take advantage
       of UMBs, and others modify the 4DOS configuration to match
       the user's preferences.  Note that the comment for the
       Swapping directive is on separate lines before the directive
       itself, as no comments are allowed in string directives:

            [4DOS]
            InstallPath = c:\4dos600
            Environment = 3072            ;expand environment to 3K
            Alias = 6144                  ;expand aliases to 6K
            LocalHistory = No             ;use a global history
              ;for swapping try XMS, then RAM disk H:, then C:
            Swapping = xms, h:\, c:\
            UMBLoad = Yes                 ;res. part of 4DOS in UMB
            UMBEnvironment = Yes          ;master environment in UMB
            UMBHistory = Yes              ;global history in UMB
            BatchEcho = No                ;default is ECHO OFF
            CursorOver = 100              ;overstrike cursor 100%
            CursorIns = 10                ;insert cursor 10%

       This example for 4OS2 configures certain special characters
       to match 4DOS, and changes other default settings to suit the
       user's preferences.  All of these settings except HelpBook
       would also work in 4DOS or 4NT:

            [4OS2]
            PauseOnError = No             ;don't stop on INI errors
  -169-

            CommandSep = ^                ;4DOS command separator
            EscapeChar = [Ctrl-X]         ;4DOS escape character
            ParameterChar = &             ;4DOS parameter character
            BatchEcho = No                ;default to ECHO OFF
            HelpBook = 4OS2
            History = 2048                ;expand history to 2K
            bytes
            BeepFreq = 880                ;make beep higher pitch
            EditMode = Insert             ;insert mode for cmd edit
            ListFind = F5                 ;F5 does a find in LIST
            ListNext = F6                 ;and F6 does a find next
            StdColors = bri cya on blu    ;default colors
            colordir = DIRS:bri yel;com exe bat btm cmd:bri whi
