
                       MKWINOS/2 - Make OS/2 Desktop Objects
                         from Your Windows Program Manager

                     Copyright (c) 1995 by C F S Nevada, Inc.


                   If you have been provided with a complimen-
                   tary key to enable this program, that key is
                   personal to you and must not be given to
                   others. Please don't abuse it!

                   Note: This document is formatted so that it
                   can be printed using the following command:

                        copy readme!.txt prn



                                 Table of Contents


     1    Introduction . . . . . . . . . . . . . . . . . . . . . . . . . .   2
          1.1 OS/2 Warp Blue Box vs. Red Box and MKWINOS/2   . . . . . . .   2
          1.2 How MKWINOS/2 differs from Warp's Add Programs   . . . . . .   2

     2    Installation & Execution . . . . . . . . . . . . . . . . . . . .   3
          2.1 Quick Start Summary  . . . . . . . . . . . . . . . . . . . .   4
          2.2 Altering MKWINRUN.CMD  . . . . . . . . . . . . . . . . . . .   5
          2.3 Adjusting folder window positions  . . . . . . . . . . . . .   5

     3    Contents of the MKWIN directory  . . . . . . . . . . . . . . . .   6
          3.1 The MKWINOS/2 files  . . . . . . . . . . . . . . . . . . . .   6
          3.2 The MKWINOS2.KEY File  . . . . . . . . . . . . . . . . . . .   8
          3.3 Controlling Windows VDM Settings   . . . . . . . . . . . . .   8
          3.4 OS/2 Folder Presentation Style   . . . . . . . . . . . . . .   9

     4    MKWINRUN.CMD Structure . . . . . . . . . . . . . . . . . . . . .   9
          4.1 Startup and banner initialization  . . . . . . . . . . . . .   9
          4.2 Housekeeping   . . . . . . . . . . . . . . . . . . . . . . .   9
          4.3 Trap processing routine  . . . . . . . . . . . . . . . . . .  10
          4.4 Folder & Program creation  . . . . . . . . . . . . . . . . .  10
          4.5 Common routines  . . . . . . . . . . . . . . . . . . . . . .  10
          4.6 Sequence numbering   . . . . . . . . . . . . . . . . . . . .  11

     5    MKWINOS/2 Error Messages . . . . . . . . . . . . . . . . . . . .  11

     6    Windows file processing - Full Pack only . . . . . . . . . . . .  13

     7    Enabling MKWINOS/2 . . . . . . . . . . . . . . . . . . . . . . .  13
          7.1 Obtaining a MKWINOS/2 key  . . . . . . . . . . . . . . . . .  13
          7.2 Updates and service  . . . . . . . . . . . . . . . . . . . .  14

     Appendix A  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  15




     MKWINOS/2 Version 1.0                                              Page 1


     1    Introduction
          ------------

          MKWINOS/2 is a commercial OS/2 program that creates the equivalent
     of your Windows Program Manager as an OS/2 Desktop folder named "Program
     Manager Desktop Equivalent". Your Windows groups and the program entities
     within each group are used to create OS/2 folders and program objects
     respectively within the Program Manager Desktop Equivalent folder.
     MKWINOS/2 is equally effective with OS/2 Warp or OS/2 2.1 and 2.11.

          The MKWINOS/2 main program (MKWINOS2.CMD) creates a REXX program
     (MKWINRUN.CMD) which you run to build the OS/2 objects. You can alter the
     contents of MKWINRUN.CMD and the program can be rerun as desired. 

          Each OS/2 folder (the Desktop folder along with the group folders)
     will be the same size and in the same relative screen position as they
     exist on your full screen Windows display. The OS/2 folders created from
     the Windows program groups will contain the same Windows and DOS programs
     as the originals. Each program is setup as a Win-OS/2 object.

          Each program object created by MKWINOS/2 uses the default settings
     you have established with the WIN-OS/2 Setup option found in your OS/2
     System Setup settings notebook. MKWINOS/2 then adjusts these settings for
     the particular program with the settings found in MKWINOS2.DBX (an
     updated version of the DATABASE.TXT file provided with OS/2).

          1.1 OS/2 Warp Blue Box vs. Red Box and MKWINOS/2

              If you have OS/2 for Windows or OS/2 Warp (Red box) then
          MKWINOS/2 creates OS/2 Desktop objects to mirror your Windows
          Program Manager - nothing in your Windows directory is altered.

              MKWINOS/2 performs additional functions for OS/2 full pack (FP)
          systems (including Warp "Blue box", Warp Connect, Warp Server, OS/2
          2.1, and 2.11) with WIN-OS2 support. Control information and files
          from your Windows configuration is "merged" into the OS/2 \WINOS2
          files and directories. Hence, the program MKWINBAK.CMD is provided
          to create a backup repository of your \WINOS2 directory and all
          subordinate directories. A procedural .CMD file (R-WINOS2.CMD) is
          dynamically created to allow restoration of the WINOS2 files and
          directories in the event that it is necessary.


          1.2 How MKWINOS/2 differs from Warp's Add Programs

              MKWINOS/2 is significantly different from the Add Programs (or
          OS/2 2.1 Migrate Programs) facility in OS/2 since it creates program
          objects for just those applications that you had setup under
          Windows. MKWINOS/2 does not search your drives looking for possible
          candidates. Any previously created OS/2 Windows-related objects
          remain unchanged and can be removed at your discretion. Beyond
          simply creating OS/2 objects, MKWINOS/2 merges Windows files and
          properties into WINOS2 on an OS/2 fullpack system. The backup
          facility described above is provided to allow restoration of the
          WINOS2 files and directories in the event that it is necessary.

     MKWINOS/2 Version 1.0                                              Page 2

              Windows group folders that are open when MKWINOS/2 is run
          receive special attention on Warp. An option is provided at the end
          of MKWINRUN to shadow these folder and program objects to the OS/2
          Startup folder. A positive user reply is required to add these
          objects to the OS/2 Startup folder; they are also immediately opened
          on the OS/2 system. In either case, the Program Manager Desktop
          Equivalent folder is opened when MKWINRUN completes.

              MKWINOS/2 has an optional debugging log facility. The debugging
          facility is enabled for the initial release of MKWINOS/2. In
          subsequent releases this debugging facility would be activated by
          the presence of either -d or /d on the command line. Enabling the
          debugging facility, intended primarily for support use, results in
          the file MKWINOS2.LOG being created. Previous MKWINOS2.LOG files are
          overwritten.


     2    Installation & Execution
          ------------------------

          If you downloaded this program from a software repository the
     program is a demo version, not Shareware, that has been restricted to
     processing a limited number of Windows group folders. Only the programs
     within the Accessories group, the Main group, and the Startup group will
     be processed by the un-enabled, demo version. MKWINOS/2 processes all of
     the programs in all of the groups when the demo version is enabled with a
     key. The details for obtaining the key to enable the program appear later
     in this README!.TXT file.

          If you received an enabled copy, the .ZIP file contains the file
     MKWINOS2.KEY created just for you, Please do not pass this file or its
     contents on to others as you will be depriving not only the program's
     authors but the sales, distribution, and support organizations of their
     due revenue.

          In either case, simply unzip the .ZIP file you received into its own
     directory (the suggested directory name is MKWIN). There is no
     restriction on where this directory resides. After the distribution file
     is unzipped, the program is ready to run. The program name is MKWINOS2
     and it can be run from a full screen or windowed OS/2 command line
     session with the MKWIN (or directory of your choice) as the current
     directory. No changes are necessary to any files or other components on
     your system. (This assumes you have the current directory indication,
     ".;", in your LIBPATH statement.)

          Running MKWINOS2 creates a REXX program file named MKWINRUN.CMD in
     the same directory where MKWINOS2.CMD exists. MKWINRUN is the program you
     run to actually build the Windows equivalent objects. MKWINRUN may be
     altered and re-run as frequently as desired. However, we don't anticipate
     that most users will want to change the MKWINRUN program.

          The subject Windows system defaults to the Windows directory used by
     your OS/2 System. With OS/2 Red box (OS/2 2.1 for Windows), this is your
     actual Microsoft Windows directory. The subject Windows system for OS/2
     Blue box (OS/2 2.1 Full Pack), is the ?:\OS2\MDOS\WINOS2 directory.


     MKWINOS/2 Version 1.0                                              Page 3

          There are two ways of altering the pointer to the default Windows
     directory. If you have an enabled version of MKWINOS/2, you already have
     a file named MKWINOS2.KEY. If you are running the demo version, it will
     be necessary for you to create an ASCII text file called MKWINOS2.KEY in
     the MKWIN directory. MKWINOS/2 checks the first line of this file to see
     if it contains an enabling key, if you have one. All other data within
     this file is structured in a key word=value format and the position
     within the file, case, and white space is irrelevant. To specify a
     specific Windows directory for MKWINOS/2, add the line:

              Windows=path

     where path is the drive letter and path of the directory that contains
     the Windows PROGMAN.INI file. Generally, this line will be:

              Windows=c:\windows

          The other means of specifying an alternate Windows directory is by
     including it as a command line parameter when you run MKWINOS/2. For
     example:

              mkwinos2 c:\windows

     The command line specification overrides any Windows path stored in the
     MKWINOS2.KEY file.

          2.1 Quick Start Summary

              1)   Unzip MKWINOS/2 .ZIP file into a directory of your
                   choice - MKWIN suggested. The .ZIP file name is
                   MKWINOS2.ZIP (or MKWINnnn.ZIP for beta or other interim
                   releases).

              2)   If you are running a Full Pack version of OS/2 (original
                   OS/2 2.1 or Warp Blue box - including Connect and Server),
                   run MKWINBAK to create a backup of the subdirectories and
                   contents your \OS2\MDOS\WINOS2 directory. (This step is
                   not necessary for OS/2 warp Red box or OS/2 2.1 for
                   Windows since there are no \OS2\MDOS\WINOS2 files to
                   concern yourself with.)

              3)   If you have an enabling key, create the file MKWINOS2.KEY
                   in the MKWIN directory with the key value as the first or
                   only line of this file. White space and case is
                   irrelevant.

              4)   Run MKWINOS2 to build MKWINRUN.CMD. If you are running a
                   Full Pack system, specify the path to your \WINDOWS
                   directory on the command line. Alternately, you can add
                   the line:

                        Windows=path

                   to the MKWINOS2.KEY file where path is the drive and path
                   to your Windows directory (probably C:\WINDOWS). 


     MKWINOS/2 Version 1.0                                              Page 4

              5)   Run MKWINRUN to build the Program Manager Desktop
                   Equivalent folder and the OS/2 objects for your Windows
                   group and program folders.

          2.2 Altering MKWINRUN.CMD

              You may want to alter some of the settings in MKWINRUN.CMD. Two
          settings in particular were created with this in mind:

              GBL.icon_view   = "NONGRID"
              GBL.sort_option = "NO"

          GBL.icon_view can be changed to either GRID or FLOWED and GBL.sort
          option can be set to YES for Warp.

              If any of your Windows program entries point to non-existent
          files (for example, if you have moved then and not updated your
          Program Manager setup), each program setup string contains a TITLE=
          line which appends (path?) to the program title. This allows you to
          search MKWINRUN.CMD for any program objects which fall into this
          category, alter the paths manually and then simply delete the
          program setup string line:

              "TITLE=" || program_title || "^(path?);"

              These program objects are easily spotted when the group folder
          containing then is opened since the (path?) is appended to the
          program title and occupies a separate line. The number of program
          objects which fall into this category can be found by looking at the
          variable "GBL.unresolved_path_count".

          2.3 Adjusting folder window positions

              Under some conditions, an OS/2 group folder may open off of the
          screen. This occurs because MKWINOS/2 has to calculate the position
          of the group windows predicated on the relative positions of the
          Windows group windows when Program Manager is maximized.

              Any folder whose window opens out of the range of the Desktop
          can be brought into view using the following steps:

          1)  Open the group folder in by double clicking MB1.

          2)  Open the window list with <Ctrl-Esc> or clicking MB1 & MB2.

          3)  Select the folder in the window list and <Alt-F7>. The window
              can then be moved by either mouse movement or the arrow keys on
              the keyboard.

              Complete information on the use of <Alt-F7> will be found in
          the general OS/2 help information.






     MKWINOS/2 Version 1.0                                              Page 5

     3    Contents of the MKWIN directory
          -------------------------------

          3.1 The MKWINOS/2 files

          The following files, shown here in alphabetical order, are contained
     within the MKWINOS/2 package. They originate in the MKWINOS2.ZIP file or
     are created by MKWINOS/2 programs:

              MKWINBAK.CMD        This REXX program has two functions: 1) It
                                  creates a backup copy of the directory
                                  structure and contents of the WINOS2 and
                                  subordinate directories. 2) It creates a
                                  procedural file, R-WINOS2.CMD, which will
                                  restore your WINOS2 directory structure and
                                  contents to its contents when the MKWINBAK
                                  program was run.

              MKWINCLS.ICO        The icon associated with the Program Manager
                                  Desktop Equivalent folder when it is closed
                                  (Warp) or always (OS/2 2.1).

              MKWINMSD.ICO        MS-DOS program icon.

              MKWINOPN.ICO        The icon associated with the Program Manager
                                  Desktop Equivalent folder when it is opened
                                  (Warp only).

              MKWINOS2.CMD        The main MKWINOS/2 REXX program which you
                                  run from an OS/2 windowed or full screen
                                  command line.

              MKWINOS2.DAT        This file is an internal representation of
                                  the program settings contained in
                                  MKWINOS2.DBX. It is distributed in the
                                  MKWINOS/2 package but is recreated whenever
                                  MKWINOS2.DBX is updated or any program
                                  changes to MKWINOS/2 dictate.

              MKWINOS2.DBX        This is an updated copy of the
                                  \OS2\INSTALL\DATABASE.TXT file shipped with
                                  each copy of OS/2. MKWINOS2.DBX can be
                                  updated to include any additional program
                                  settings you wish.

              MKWINOS2.FIL        This file is an internal representation of
                                  the file and pathing data contained in
                                  MKWINOS2.DBX. It is distributed in the
                                  MKWINOS/2 package but is recreated whenever
                                  MKWINOS2.DBX is updated or any program
                                  changes to MKWINOS/2 dictate.

              MKWINOS2.KEY        This file contains the key to enable
                                  MKWINOS/2 as well as serving as the
                                  repository for any customization you choose
                                  for MKWINOS/2.

     MKWINOS/2 Version 1.0                                              Page 6

              MKWINOS2.LOG        This log file is created whenever the debug
                                  option is specified for MKWINOS2. It is
                                  intended to assist in any problem diagnosis
                                  with MKWINOS2.

              MKWINOS2.PER        The MKWINOS/2 processing routines for an
                                  OS/2 system with Personal REXX from Quercus
                                  Systems.

              MKWINOS2.RPT        A report file created by running MKWINOS/2.
                                  This file contains a summary of the tasks
                                  performed when MKWINOS/2 is run. It also
                                  contains information about any erroneous
                                  conditions MKWINOS/2 found. The report file
                                  contains the following groups of
                                  information:

                                  1)  The contents of the MKWINOS2.KEY file.

                                  2)  Any .GRP files found in the Windows
                                      directory that were not referenced in
                                      PROGMAN.INI - in essence unused .GRP
                                      files.

                                  3)  Files which will be copied from the
                                      Windows directory to the WINOS2
                                      directory (full pack only).

                                  4)  Group & program entries from
                                      C:\WIN-311\PROGMAN.INI. These will be
                                      annotated with any special
                                      considerations which should be
                                      addressed for the group or program
                                      entry. For example, unresolved .EXE
                                      paths, ambiguous MKWINOS2.DBX settings,
                                      etc.

              MKWINOS2.SAA        The MKWINOS/2 processing routines for a
                                  standard OS/2 SAA REXX environment.

              MKWINPCD.ICO        IBM PC DOS program icon.

              QREXXLIB.DLL        REXXLIB (see below) for Personal REXX from
                                  Quercus Systems.

              R-WINOS2.CMD        A procedural command file created by
                                  MKWINBAK that restores the \OS2\MDOS\WINOS2
                                  directory to the contents saved when
                                  MKWINBAK was last run.

              R-WINOS2.YES        A three byte file containing the letter Y
                                  and used as redirected input to provide a
                                  reply of Y to the system inquiry: Are you
                                  sure (Y/N). The presence of this file also
                                  serves as a control mechanism for the backup
                                  facility.

     MKWINOS/2 Version 1.0                                              Page 7

              README!.TXT         This file.

              REXXLIB.DLL         An OS/2 application program interface from
                                  Quercus Systems that provides the expanded
                                  capabilities in REXX required by MKWINOS/2.

                                  It is absolutely necessary that the version
                                  of REXXLIB distributed with MKWINOS/2, or a
                                  newer version, be used with MKWINOS/2 as
                                  there are functions that have been added to
                                  REXXLIB expressly for MKWINOS/2. Use of
                                  prior versions of REXXLIB will result in a
                                  MKWINOS/2 error message.

                                  REXXLIB is a copyrighted program product
                                  from Quercus Systems and is distributed with
                                  the permission of Quercus Systems. Its use
                                  is restricted to MKWINOS/2 unless you are a
                                  licensed REXXLIB user. Licensed REXXLIB
                                  users may delete this copy of REXXLIB if a
                                  newer version already exists in a LIBPATHed
                                  directory. It is suggested that the latest
                                  version of REXXLIB be retained.

          3.2 The MKWINOS2.KEY File

              The MKWINOS2.KEY file additionally serves as a repository for
          optional information used by the MKWINOS/2 processing routines. If
          the key to enable the full functionality of MKWINOS/2 is present, it
          MUST be the first line of the file and in the following format
          (white space and case is irrelevant):

              1234567 01 02 03 04 05 06 07
                        or
              1234567 0102 0304 0506 07 

              All of the other, optional information is of the form key
          word=value. For example, a pointer to the subject Windows directory
          can be specified by adding the line:

              windows=drive_and_path


          3.3 Controlling Windows VDM Settings

              MKWINOS/2 is distributed with MKWINOS2.DBX - its own version of
          the OS/2 file \OS2\INSTALL\DATABASE.TXT which describes the
          recommended Virtual DOS Machine (VDM) settings for many Windows
          programs. In the event that you have a program that is not contained
          in MKWINOS2.DBX, you can specify that it is to use the same settings
          as any other program that is contained in MKWINOS2.DBX by adding a
          line to the MKWINOS2.KEY file in the following format:

              alias=new,old

          where new is the .EXE name of the program that does not exist in

     MKWINOS/2 Version 1.0                                              Page 8

          DATABASE.TXT and old is the .EXE name of the program whose settings
          are itemized in MKWINOS2.DBX and are adequate for the new program.
          There is no limit to the number of alias statements included. In the
          event of duplicate new name alias lines, the last occurrence
          prevails. Invalid entries are ignored.

          3.4 OS/2 Folder Presentation Style

              The normal presentation style of the folders created by
          MKWINRUN is ICONVIEW=NONGRID and, for Warp, ALWAYSSORT=NO. These
          defaults can be changed by adding the following to your MKWINOS2.KEY
          file:

              ICONVIEW=FLOWED
              ALWAYSSORT=YES


     4    MKWINRUN.CMD Structure
          ----------------------

          When you run MKWINOS/2, the MKWINRUN.CMD REXX program is created,
     replacing any previous copy of MKWINRUN.CMD. An abbreviated copy of a
     MKWINRUN.CMD program in included in Appendix A. The MKWINRUN.CMD program
     may be altered and rerun as often as desired and/or necessary. The
     overall structure of the MKWINRUN.CMD program is:

          4.1 Startup and banner initialization

              This first section of MKWINRUN.CMD contains an introductory
          comment which includes the version and modification level of the
          MKWINOS/2 package, the date and time that the MKWINRUN.CMD program
          was created, the OS/2 video resolution, the number of Program
          Manager groups processed, and the subject Windows path that was used
          to build the group and program objects. 

          4.2 Housekeeping

              The housekeeping used to establish the operating environment
          for MKWINRUN.CMD as well as enabling a trap processing routine in
          the event of an error occurring in the MKWINRUN.CMD program. A
          number of initialization variables and their assigned values may be
          of special interest to you before you launch MKWINRUN:

              4.2.1     GBL.ambiguous_program_count

                   The value assigned to this variable represents the number,
              if any, of program objects which had multiple representations
              in MKWINOS2.DBX thus preventing the unique identity of the
              program from being determined. The values within MKWINOS2.DBX
              used to try to uniquely identify a Windows program are; the
              .EXE name, any ASSOC_FILE entries, and the program's TITLE
              value.

                   All of the program objects in MKWINRUN.CMD that fall into
              this ambiguous category also contain a comment which can be
              located by searching on the word "ambiguous" in the

     MKWINOS/2 Version 1.0                                              Page 9

              MKWINRUN.CMD file. The comment created for each of these
              program objects will identify the choices that were available
              in MKWINOS2.DBX.

              4.2.2     GBL.font

                   The font size for all of the newly created objects will
              match that used on the subject Windows system. The font style
              defaults to Helv since any alternative font on the Windows
              system which does directly correspond to an OS/2 type 1 is best
              left to the users discretion.

              4.2.3     GBL.wallpaper

                   Any .BMP file used as wallpaper on the subject Windows
              system will be used as the background image for the Program
              Manager Desktop Equivalent folder. Depending on your color
              scheme, it may be necessary to turn off the transparency
              setting for this folder so that the titles of each of the
              folders contained within the Program Manager Desktop Equivalent
              folder will be visible.

                   This is accomplished on Warp by selecting the View tab of
              the Settings notebook for the Program manager Desktop
              Equivalent folder and un-checking the "transparent background"
              box.

              4.2.4     GBL.icon_view
                        GBL.sort_option

                   These variables default to FLOWED and NO respectively.
              Their generated values can be altered with appropriate entries
              in the MKWINOS2.KEY file. You can change these values an rerun
              MKWINRUN to alter the style of the all of the objects created
              by MKWINRUN.

          4.3 Trap processing routine

              The REXX trap processing is enabled in MKWINRUN as well as all
          of the MKWINOS/2 programs. If one of these trap conditions is
          raised, a message indicating the kind of trap and the line number of
          the offending instruction is displayed along with the file ?.DMP
          being created. This file contains all of the variables used in the
          program along with the values assigned to those variables. The
          information displayed about the trap is also included in the .DMP
          file.

          4.4 Folder & Program creation

              The REXX commands and values used to build each Windows group
          equivalent folder along with objects for each of the programs
          contained in each group.

          4.5 Common routines

              Commonly used internal functions along with DLL registration

     MKWINOS/2 Version 1.0                                             Page 10

          and trap processing complete the MKWINRUN.CMD program.

          4.6 Sequence numbering

              Each MKWINRUN.CMD line used to create any of the three groups
          of OS/2 objects (Program Manager Desktop Equivalent folder, group
          folder, or program object) contains a 6 character sequence number as
          a REXX comment - /*ggppnn*/. This 6 character value includes a two
          digit value representing the relative group number with the Desktop
          folder being group 00, two digits representing the relative program
          number within the group (group entries contain 00), and a two digit
          sequential number. This style was carefully chosen to provide a user
          not familiar with REXX an intuitive means of generally identifying
          the contents of the MKWINRUN.CMD program. The sequence numbers are
          informational only and need not be maintained if you choose to alter
          the contents of MKWINRUN.CMD.


     5    MKWINOS/2 Error Messages
          ------------------------

          The following error messages can occur when running MKWINOS/2:

     MK001    Unable to locate PROGMAN.INI file in ?:\...

          The program was unable to locate PROGMAN.INI using the the following
          criteria in decreasing priority:

              1) Command line

              2) Key file (MKWINOS2.KEY)

              3) WINOS2_LOCATION value in OS2.INI.


     MK002    Unable to find the Order= string in PROGMAN.INI

          The string Order= could not be found in the PROGMAN.INI file. Should
          not occur.

     MK003    Unable to find the [Groups] string in PROGMAN.INI

          The string [Groups] could not be found in the PROGMAN.INI file.
          Should not occur.

     MK004    Error processing Group#= line in PROGMAN.INI (nnn).

          A line in the [Groups] stanza could not be recognized. The numeric
          value indicates the absolute byte position in the file where the
          line was in error. Should not occur.

     MK005    .GRP file name missing. Group is ignored.

          The file name shown for the indicated group number in PROGMAN.INI
          can not be found. The group is ignored.


     MKWINOS/2 Version 1.0                                             Page 11

     MK006    File_name is not a valid .GRP file

          Parsing of the .GRP file was omitted or may be in error because of
          one of the following:

              1) Bytes 1-4 do not contain PMCC.

              2) Unable to find "Tag Data" at end of .GRP file

     MK007    Unable to locate MKWINOS2.DBX

          This is our version of DATABASE.TXT. Should not occur.

     MK008    Unable to locate [WINDOWS] in MKWINOS2.DBX


     MK009    Unable to locate [OS2] in MKWINOS2.DBX


     MK010    Unable to locate the object WIN.INI file in ?:\...

          Could not locate WIN.INI in the WINOS2 path. Should not occur.

     MK011    Unable to locate WIN.INI file in ?:\...

          The program was unable to locate WIN.INI using the the following
          criteria in decreasing priority:

              1) Command line

              2) Key file (MKWINOS2.KEY)

              3) WINOS2_LOCATION value in OS2.INI.


     MK012    REXXLIB is at an obsolete level. See REXXLIB.DLL description on
              page 8.

     MK013    External REXX data queue error.

          Queue synchronization error. This is an internal program error that
          should not occur. It appears to be caused by the RXQUEUE('DEL')
          function intermittently not deleting the queue. Testing has shown
          that the program can be rerun without error.

     MK014    Unable to locate SYSTEM.INI file in ?:\...

          The program was unable to locate SYSTEM.INI using the the following
          criteria in decreasing priority:

              1) Command line

              2) Key file (MKWINOS2.KEY)

              3) WINOS2_LOCATION value in OS2.INI.


     MKWINOS/2 Version 1.0                                             Page 12

     MK015    Error while parsing source / object WIN.INI file.

          This is an internal programming error that should not occur. It is
          suffixed by a sequential number to indicate its source.

     MK016    Unable to locate MKWINOS2.FIL file.


     MK017    MKWINOS2 source code has been altered. It is necessary that
              this REXX program be run in the form it was received.


     6    Windows file processing - Full Pack only
          ----------------------------------------

          Many Windows programs require .INI files to hold data specific to a
     program or groups of programs. MKWINRUN.CMD handles this by identifying
     those .INI files contained in the subject Windows path that do not exist
     in the WINOS2 path. This situation only occurs in an OS/2 Warp Blue box
     (or original OS/2 2.1 - full pack) environment. MKWINRUN copies these
     .INI files to the WINOS2 directory if either; a) the .INI files does not
     exist; or b) the .INI file in the WINOS2 directory pre-dates the copy in
     the subject Windows directory. INI files which are part of the Windows
     program itself (e.g. CONTROL.INI, PROGMAN.INI, SYSTEM.INI, WIN.INI) are
     not copied. 

          If any Windows group windows are open or if there are programs in
     the Windows Startup group when MKWINOS/2 is run, MKWINRUN provides you
     with the option to shadow the equivalent OS/2 objects into the OS/2
     Startup folder (<WP_START>). The default is not to create these shadows
     and a 30 second time is permitted to reply to MKWINRUN in order to change
     the default from No to YES.


     7    Enabling MKWINOS/2
          ------------------

          The demo version of MKWINOS/2 is transformed into the full,
     commercial version by providing an enabling key as the first line of the
     MKWINOS2.KEY file. The retail price of MKWINOS/2 key is 19.95 USD (if you
     require diskette distribution add $7.00). All of the vendors listed below
     accept credit cards (MasterCard, Visa, Discover, and American Express) or
     a check payable in US dollars and drawn on a US bank. Credit card numbers
     should NOT be sent via the Internet. CompuServe members can securely E-
     mail orders to the CompuServe addresses shown below.

          7.1 Obtaining a MKWINOS/2 key

          The key can be obtained from the following sources:

              Productivity Solutions, Inc.
              E-mail    Rosemary Moskowitz [74431,1016]
              Voice     1-800-695-8642 (US & Canada)
                        1-610-631-0339 (other)
              FAX       1-610-631-0414


     MKWINOS/2 Version 1.0                                             Page 13

              C F S Nevada, Inc.
              E-mail    Dick Goran [71154,2002]
              Voice     1-800-864-2358 (US & Canada)
                        1-702-732-9616 (other)
              FAX       1-702-732-3847

              Quercus Systems - Personal REXX licensees only
              E-mail    Charles Daney [75300,245]
              Voice     1-800-440-5944 (US)
                        1-408-867-7399
              FAX       1-408-867-7489

          7.2 Updates and service

              The latest version of MKWINOS2.ZIP is available on the Internet
          via a World Wide Web browser from <http://www.cfsrexx.com>, via FTP
          from <ftp.cfsrexx.com/mkwinos2>, or from CompuServe in Library 1 of
          the OS2AVEN forum. Updates to the current version of MKWINOS/2 will
          be available at no additional charge from these electronic
          repositories. Though MKWINOS/2 is also available from other BBS and
          online services, C F S Nevada, Inc. only maintains the home sites.

              MKWINOS/2 is a trademark of C F S Nevada, Inc. OS/2 is
              a registered trademark of IBM and Windows is a
              registered trademark of Microsoft Corp.
































     MKWINOS/2 Version 1.0                                             Page 14

                                           Appendix A - MKWINRUN.CMD Sample


       /* MKWINRUN.CMD Sample (abbreviated for Appendix A) */

       GBL. = ''             /* initialize stem */
       parse Arg             GBL.command_line
       parse Version         GBL.REXX_version .
       parse Source          GBL.operating_system,
                             GBL.calling_environment,
                             GBL.program_path_and_name
       GBL.package_name    = 'MKWINRUN'
       GBL.environment     = 'OS2ENVIRONMENT'
       GBL.boot_drive      = LEFT( VALUE( 'RUNWORKPLACE',, GBL.environment ), 2 )
       GBL.program_version = 1.0         /* version / mod of this program */
       GBL.program_name    = FILESPEC( 'N', GBL.program_path_and_name )
       GBL.program_path    = FILESPEC( 'D', GBL.program_path_and_name ) ||,
                             FILESPEC( 'P', GBL.program_path_and_name )

       parse var GBL.program_name,
          GBL.program_fn '.',
          GBL.program_fe

       /*-----------------------------------------------*\
       |  Assure that REXXUTIL & REXXLIB are registered  |
       \*-----------------------------------------------*/
       call RxFuncAdd 'SysLoadFuncs', 'REXXUTIL', 'SysLoadFuncs'
       call SysLoadFuncs

       if RxFuncQuery( 'RexxLibDeregister' ) = 0 then
          do
             call RexxLibDeregister
          end
       if GBL.REXX_version = 'REXX/Personal' then
          do
             dll_name = 'QREXXLIB'
          end
       else
          do
             dll_name = 'REXXLIB'
          end
       call RxFuncAdd 'RexxLibRegister', dll_name, 'rexxlibregister'
       call RexxLibRegister

       call TIME 'E'                       /* set elapsed timer - sssss.uuuuu */
       say 'Begin' TRANSLATE( GBL.program_name ) 'at' TIME('N')

       /*------------------------------------------------------------------------*\
       |                                                                          |
       |                      Initialization and Setup code                       |
       |                                                                          |
       \*------------------------------------------------------------------------*/
       GBL.ambiguous_program_count   = 04  /* MKWINOS2.DBX yielded multiples       */
       GBL.bksp                      = "08"x
       GBL.desktop_object_id         =,
          "<MKWINOS2 Program Manager Desktop Equivalent>"

       MKWINOS/2 Version 1.0                                             Page 15

                                           Appendix A - MKWINRUN.CMD Sample

       GBL.desktop_title             =,
          "Program Manager^Desktop Equivalent^[Demo Version 0-917]"
       GBL.font                      = "8.Helv"
       GBL.group_total               = 33
       GBL.progress_list             = "\|/"
       GBL.progress_subscript        = 1
       GBL.seconds_to_wait_for_reply = 30  /* wait for user reply before shadowing */
       GBL.shadow_table.0            = 0   /* object IDs of shadowed objects       */
       GBL.subject_windows_path      = "C:\WIN-311\"
       GBL.wallpaper                 = ""
       GBL.WINOS2_path               = "C:\WIN-311\"
       GBL.unresolved_path_count     = 0   /* unresolved .EXE paths */

       /*---------------------------------------*\
       |  The following value(s) can be changed  |
       |  to suit your personal taste.           |
       \*---------------------------------------*/
       GBL.icon_view   = "NONGRID"           /* can be set to FLOWED | NONGRID */
       GBL.sort_option = "NO"                /* can be set to YES    | NO      */

       /*------------------------------------------------------------------*\
       |  The following seemingly needless code is to identify a rare,      |
       |  intermittent WPS bug where an existing object is not correctly    |
       |  deleted. If any MKWINOS2 objects are found to exist in the        |
       |  OS2.INI file after the Program Manager Desktop Equivalent object  |
       |  is destroyed, this program will terminate. You are advised to     |
       |  run one of the INI file maintenance programs to remove the        |
       |  bad objects.                                                      |
       \*------------------------------------------------------------------*/
       application_name = "PM_Workplace:Location"
       key = SYSINI( "USER", application_name, GBL.desktop_object_id )
       if key = "ERROR:" then
          do
             say "   Removing " || GBL.desktop_object_id
             call SysDestroyObject GBL.desktop_object_id

             /*----------------------------------------*\
             |  Check \OS2\OS2.INI for any remaining    |
             |  MKWINOS2 objects that should have been  |
             |  removed by SysDestroyObject().          |
             \*----------------------------------------*/
             lingering_object_count = 0

             call SYSINI "USER", application_name, "ALL:", "key_stem"
             if RESULT = "" then
                do
                   say VALUE( "USER_INI",, GBL.environment ) "may be corrupted, " ||,
                       "program canceled"
                   call EOJ 200
                end

             do k = 1 to key_stem.0
                if LEFT( key_stem.k, 9 ) = "<MKWINOS2" then
                   do

       MKWINOS/2 Version 1.0                                             Page 16

                                           Appendix A - MKWINRUN.CMD Sample

                      lingering_object_count = lingering_object_count + 1
                      if lingering_object_count = 1 then
                         do
                            say "The following WPS object(s) should not exist:"
                         end
                      say "   " || key_stem.k
                   end
             end

             if lingering_object_count = 0 then
                do
                   say GBL.program_name "is terminating because of the above error! Please try re-"
                   say "running" GBL.program_name "and, if the error persists, please report it"
                   say "at the numbers shown at the beginning of" GBL.program_name
                   call EOJ 201
                end
          end

       /*----------------------------------------------------------*\    /*000001*/
       |  Build Program Manager Desktop Equivalent on OS/2 Desktop  |    /*000002*/
       \*----------------------------------------------------------*/    /*000003*/
       say COPIES( " ", 3 ) || "Building" GBL.desktop_title              /*000004*/
                                                                         /*000005*/
       folder_class    = "WPFolder"                                      /*000006*/
       folder_title    = GBL.desktop_title                               /*000007*/
       folder_location = "<WP_DESKTOP>"                                  /*000008*/
       folder_option   = "UPDATE"                                        /*000009*/
       folder_setup    =,                                                /*000010*/
          "ALWAYSSORT="   || GBL.sort_option  || ";"                 ||, /*000011*/
          "ICONNFILE=1,"  || GBL.program_path || "MKWINOPN.ICO;"     ||, /*000012*/
          "ICONFILE="     || GBL.program_path || "MKWINCLS.ICO;"     ||, /*000013*/
          "ICONFONT="     || GBL.font         || ";"                 ||, /*000014*/
          "ICONVIEW="     || GBL.icon_view    || ",NORMAL;"          ||, /*000015*/
          "ICONPOS=50,08;"                                           ||, /*000016*/
          "ICONVIEWPOS=10,1,90,85;"                                  ||, /*000017*/
          "OBJECTID=<MKWINOS2 Program Manager Desktop Equivalent>;"      /*000018*/
       call SysCreateObject folder_class,,                               /*000019*/
                            folder_title,,                               /*000020*/
                            folder_location,,                            /*000021*/
                            folder_setup,,                               /*000022*/
                            folder_option                                /*000023*/
       if RESULT = 1 then                                               /*000024*/
          do                                                             /*000025*/
             say "   Unable to create " || folder_title || "folder,"     /*000026*/
             say "      program canceled."                              /*000027*/
             call EOJ 203                                                /*000028*/
          end                                                            /*000029*/
                                                                         /*000030*/
       if GBL.wallpaper = "" then                                       /*000031*/
          do                                                             /*000032*/
             say " "                                                     /*000033*/
             say "   It may be necessary to turn off the ""Transparent"  /*000034*/
             say "   bkgnd"" setting in the notebook settings for:"      /*000035*/
             say "   " || GBL.desktop_title                              /*000036*/

       MKWINOS/2 Version 1.0                                             Page 17

                                           Appendix A - MKWINRUN.CMD Sample

             say " "                                                     /*000037*/
          end                                                            /*000038*/

       /*-------------------------------------*\                         /*010001*/
       |  Build Group folder for: Accessories  |                         /*010002*/
       \*-------------------------------------*/                         /*010003*/
       say COPIES( " ", 6 ) || "Building Accessories folder."            /*010004*/
                                                                         /*010005*/
       folder_class    = "WPFolder"                                      /*010006*/
       folder_title    = "Accessories"                                   /*010007*/
       folder_location = "<MKWINOS2 Program Manager Desktop Equivalent>" /*010008*/
       folder_option   = "UPDATE"                                        /*010009*/
       folder_setup    =,                                                /*010010*/
          "DETAILSFONT="  || GBL.font || ";"                         ||, /*010011*/
          "TREEVIEWFONT=" || GBL.font || ";"                         ||, /*010012*/
          "ICONFONT="     || GBL.font || ";"                         ||, /*010013*/
          "ICONVIEW="     || GBL.icon_view || ",NORMAL;"             ||, /*010014*/
          "ICONPOS=13,72;"                                           ||, /*010015*/
          "ICONVIEWPOS=23,37,59,53;"                                 ||, /*010016*/
          "ICONRESOURCE=72,PMWP;"                                    ||, /*010017*/
          "ICONNRESOURCE=35,PMWP;"                                   ||, /*010018*/
          "ALWAYSSORT="  || GBL.sort_option  || ";"                  ||, /*010019*/
          "OBJECTID=<MKWINOS2:Accessories Group>;"                       /*010020*/
       call SysCreateObject folder_class,,                               /*010021*/
                            folder_title,,                               /*010022*/
                            folder_location,,                            /*010023*/
                            folder_setup,,                               /*010024*/
                            folder_option                                /*010025*/
       if RESULT = 1 then                                               /*010026*/
          do                                                             /*010027*/
             say "   Unable to create " || folder_title || "group folder,"
          end                                                            /*010029*/

          /*------------------------------------------*\                 /*010101*/
          |  Build WPProgram object for: Media Player  |                 /*010102*/
          \*------------------------------------------*/                 /*010103*/
          /* Program settings used are from MKWINOS2.DBX              */ /*010104*/
          program_class    = "WPProgram"                                 /*010105*/
          program_title    = "Media Player"                              /*010106*/
          program_location = "<MKWINOS2:Accessories Group>"              /*010107*/
          program_option   = "UPDATE"                                    /*010108*/
          program_setup    =,                                            /*010109*/
             "ICONFONT=" || GBL.font || ";"                          ||, /*010110*/
             "ICONPOS=23,16;"                                        ||, /*010111*/
             "EXENAME=C:\WIN-311\MPLAYER.EXE;"                       ||, /*010112*/
             "SET DOS_AUTOEXEC=E:\AUTOtest.BAT;"                     ||, /*010113*/
             "SET DPMI_MEMORY_LIMIT=64;"                             ||, /*010114*/
             "SET EMS_MEMORY_LIMIT=0;"                               ||, /*010115*/
             "SET IDLE_SECONDS=3;"                                   ||, /*010116*/
             "SET INT_DURING_IO=1;"                                  ||, /*010117*/
             "SET KBD_ALTHOME_BYPASS=1;"                             ||, /*010118*/
             "SET MOUSE_EXCLUSIVE_ACCESS=0;"                         ||, /*010119*/
             "SET VIDEO_8514A_XGA_IOTRAP=0;"                         ||, /*010120*/
             "SET VIDEO_RETRACE_EMULATION=1;"                        ||, /*010121*/

       MKWINOS/2 Version 1.0                                             Page 18

                                           Appendix A - MKWINRUN.CMD Sample

             "SET VIDEO_SWITCH_NOTIFICATION=1;"                      ||, /*010122*/
             "SET WIN_ATM=1;"                                        ||, /*010123*/
             "SET WIN_CLIPBOARD=1;"                                  ||, /*010124*/
             "SET WIN_DDE=1;"                                        ||, /*010125*/
             "SET XMS_MEMORY_LIMIT=16384;"                           ||, /*010126*/
             "OBJECTID=<MKWINOS2:Media Player>;"                         /*010127*/
          call SysCreateObject program_class,,                           /*010128*/
                               program_title,,                           /*010129*/
                               program_location,,                        /*010130*/
                               program_setup,,                           /*010131*/
                               program_option                            /*010132*/
          if RESULT = 1 then                                            /*010133*/
             do                                                          /*010134*/
                say "   Unable to create " || program_title || " program object,"
             end                                                         /*010136*/

          /*-----------------------------------*\                        /*010201*/
          |  Build WPProgram object for: Write  |                        /*010202*/
          \*-----------------------------------*/                        /*010203*/
          /* No matching MKWINOS2.DBX entry for this program          */ /*010204*/
          program_class    = "WPProgram"                                 /*010205*/
          program_title    = "Write"                                     /*010206*/
          program_location = "<MKWINOS2:Accessories Group>"              /*010207*/
          program_option   = "UPDATE"                                    /*010208*/
          program_setup    =,                                            /*010209*/
             "ICONFONT=" || GBL.font || ";"                          ||, /*010210*/
             "ICONPOS=4,37;"                                         ||, /*010211*/
             "EXENAME=C:\WIN-311\WRITE.EXE;"                         ||, /*010212*/
             "SET DOS_AUTOEXEC=E:\AUTOtest.BAT;"                     ||, /*010213*/
             "SET DPMI_MEMORY_LIMIT=64;"                             ||, /*010214*/
             "SET IDLE_SECONDS=3;"                                   ||, /*010215*/
             "SET KBD_ALTHOME_BYPASS=1;"                             ||, /*010216*/
             "SET VIDEO_SWITCH_NOTIFICATION=1;"                      ||, /*010217*/
             "SET WIN_ATM=1;"                                        ||, /*010218*/
             "SET WIN_CLIPBOARD=1;"                                  ||, /*010219*/
             "SET WIN_DDE=1;"                                        ||, /*010220*/
             "SET XMS_MEMORY_LIMIT=16384;"                           ||, /*010221*/
             "OBJECTID=<MKWINOS2:Write>;"                                /*010222*/
          call SysCreateObject program_class,,                           /*010223*/
                               program_title,,                           /*010224*/
                               program_location,,                        /*010225*/
                               program_setup,,                           /*010226*/
                               program_option                            /*010227*/
          if RESULT = 1 then                                            /*010228*/
             do                                                          /*010229*/
                say "   Unable to create " || program_title || " program object,"
             end                                                         /*010231*/

          /*-----------------------------------*\                        /*010301*/
          |  Build WPProgram object for: Clock  |                        /*010302*/
          \*-----------------------------------*/                        /*010303*/
          /* No matching MKWINOS2.DBX entry for this program          */ /*010304*/
          program_class    = "WPProgram"                                 /*010305*/
          program_title    = "Clock"                                     /*010306*/

       MKWINOS/2 Version 1.0                                             Page 19

                                           Appendix A - MKWINRUN.CMD Sample

          program_location = "<MKWINOS2:Accessories Group>"              /*010307*/
          program_option   = "UPDATE"                                    /*010308*/
          program_setup    =,                                            /*010309*/
             "ICONFONT=" || GBL.font || ";"                          ||, /*010310*/
             "ICONPOS=33,26;"                                        ||, /*010311*/
             "EXENAME=C:\WIN-311\CLOCK.EXE;"                         ||, /*010312*/
             "SET DOS_AUTOEXEC=E:\AUTOtest.BAT;"                     ||, /*010313*/
             "SET DPMI_MEMORY_LIMIT=64;"                             ||, /*010314*/
             "SET IDLE_SECONDS=3;"                                   ||, /*010315*/
             "SET KBD_ALTHOME_BYPASS=1;"                             ||, /*010316*/
             "SET VIDEO_SWITCH_NOTIFICATION=1;"                      ||, /*010317*/
             "SET WIN_ATM=1;"                                        ||, /*010318*/
             "SET WIN_CLIPBOARD=1;"                                  ||, /*010319*/
             "SET WIN_DDE=1;"                                        ||, /*010320*/
             "SET XMS_MEMORY_LIMIT=16384;"                           ||, /*010321*/
             "OBJECTID=<MKWINOS2:Clock>;"                                /*010322*/
          call SysCreateObject program_class,,                           /*010323*/
                               program_title,,                           /*010324*/
                               program_location,,                        /*010325*/
                               program_setup,,                           /*010326*/
                               program_option                            /*010327*/
          if RESULT = 1 then                                            /*010328*/
             do                                                          /*010329*/
                say "   Unable to create " || program_title || " program object,"
             end                                                         /*010331*/

          /*--------------------------------------*\                     /*010401*/
          |  Build WPProgram object for: Terminal  |                     /*010402*/
          \*--------------------------------------*/                     /*010403*/
          /* No matching MKWINOS2.DBX entry for this program          */ /*010404*/
          program_class    = "WPProgram"                                 /*010405*/
          program_title    = "Terminal"                                  /*010406*/
          program_location = "<MKWINOS2:Accessories Group>"              /*010407*/
          program_option   = "UPDATE"                                    /*010408*/
          program_setup    =,                                            /*010409*/
             "ICONFONT=" || GBL.font || ";"                          ||, /*010410*/
             "ICONPOS=23,37;"                                        ||, /*010411*/
             "EXENAME=C:\WIN-311\TERMINAL.EXE;"                      ||, /*010412*/
             "SET DOS_AUTOEXEC=E:\AUTOtest.BAT;"                     ||, /*010413*/
             "SET DPMI_MEMORY_LIMIT=64;"                             ||, /*010414*/
             "SET IDLE_SECONDS=3;"                                   ||, /*010415*/
             "SET KBD_ALTHOME_BYPASS=1;"                             ||, /*010416*/
             "SET VIDEO_SWITCH_NOTIFICATION=1;"                      ||, /*010417*/
             "SET WIN_ATM=1;"                                        ||, /*010418*/
             "SET WIN_CLIPBOARD=1;"                                  ||, /*010419*/
             "SET WIN_DDE=1;"                                        ||, /*010420*/
             "SET XMS_MEMORY_LIMIT=16384;"                           ||, /*010421*/
             "OBJECTID=<MKWINOS2:Terminal>;"                             /*010422*/
          call SysCreateObject program_class,,                           /*010423*/
                               program_title,,                           /*010424*/
                               program_location,,                        /*010425*/
                               program_setup,,                           /*010426*/
                               program_option                            /*010427*/
          if RESULT = 1 then                                            /*010428*/

       MKWINOS/2 Version 1.0                                             Page 20

                                           Appendix A - MKWINRUN.CMD Sample

             do                                                          /*010429*/
                say "   Unable to create " || program_title || " program object,"
             end                                                         /*010431*/

          /*--------------------------------------------*\               /*010501*/
          |  Build WPProgram object for: Sound Recorder  |               /*010502*/
          \*--------------------------------------------*/               /*010503*/
          /* No matching MKWINOS2.DBX entry for this program          */ /*010504*/
          program_class    = "WPProgram"                                 /*010505*/
          program_title    = "Sound^Recorder"                            /*010506*/
          program_location = "<MKWINOS2:Accessories Group>"              /*010507*/
          program_option   = "UPDATE"                                    /*010508*/
          program_setup    =,                                            /*010509*/
             "ICONFONT=" || GBL.font || ";"                          ||, /*010510*/
             "ICONPOS=14,16;"                                        ||, /*010511*/
             "EXENAME=C:\WIN-311\SOUNDREC.EXE;"                      ||, /*010512*/
             "SET DOS_AUTOEXEC=E:\AUTOtest.BAT;"                     ||, /*010513*/
             "SET DPMI_MEMORY_LIMIT=64;"                             ||, /*010514*/
             "SET IDLE_SECONDS=3;"                                   ||, /*010515*/
             "SET KBD_ALTHOME_BYPASS=1;"                             ||, /*010516*/
             "SET VIDEO_SWITCH_NOTIFICATION=1;"                      ||, /*010517*/
             "SET WIN_ATM=1;"                                        ||, /*010518*/
             "SET WIN_CLIPBOARD=1;"                                  ||, /*010519*/
             "SET WIN_DDE=1;"                                        ||, /*010520*/
             "SET XMS_MEMORY_LIMIT=16384;"                           ||, /*010521*/
             "OBJECTID=<MKWINOS2:Sound Recorder>;"                       /*010522*/
          call SysCreateObject program_class,,                           /*010523*/
                               program_title,,                           /*010524*/
                               program_location,,                        /*010525*/
                               program_setup,,                           /*010526*/
                               program_option                            /*010527*/
          if RESULT = 1 then                                            /*010528*/
             do                                                          /*010529*/
                say "   Unable to create " || program_title || " program object,"
             end                                                         /*010531*/

          /*----------------------------------------*\                   /*010601*/
          |  Build WPProgram object for: Paintbrush  |                   /*010602*/
          \*----------------------------------------*/                   /*010603*/
          /* No matching MKWINOS2.DBX entry for this program          */ /*010604*/
          program_class    = "WPProgram"                                 /*010605*/
          program_title    = "Paintbrush"                                /*010606*/
          program_location = "<MKWINOS2:Accessories Group>"              /*010607*/
          program_option   = "UPDATE"                                    /*010608*/
          program_setup    =,                                            /*010609*/
             "ICONFONT=" || GBL.font || ";"                          ||, /*010610*/
             "ICONPOS=14,37;"                                        ||, /*010611*/
             "EXENAME=C:\WIN-311\PBRUSH.EXE;"                        ||, /*010612*/
             "SET DOS_AUTOEXEC=E:\AUTOtest.BAT;"                     ||, /*010613*/
             "SET DPMI_MEMORY_LIMIT=64;"                             ||, /*010614*/
             "SET IDLE_SECONDS=3;"                                   ||, /*010615*/
             "SET KBD_ALTHOME_BYPASS=1;"                             ||, /*010616*/
             "SET VIDEO_SWITCH_NOTIFICATION=1;"                      ||, /*010617*/
             "SET WIN_ATM=1;"                                        ||, /*010618*/

       MKWINOS/2 Version 1.0                                             Page 21

                                           Appendix A - MKWINRUN.CMD Sample

             "SET WIN_CLIPBOARD=1;"                                  ||, /*010619*/
             "SET WIN_DDE=1;"                                        ||, /*010620*/
             "SET XMS_MEMORY_LIMIT=16384;"                           ||, /*010621*/
             "OBJECTID=<MKWINOS2:Paintbrush>;"                           /*010622*/
          call SysCreateObject program_class,,                           /*010623*/
                               program_title,,                           /*010624*/
                               program_location,,                        /*010625*/
                               program_setup,,                           /*010626*/
                               program_option                            /*010627*/
          if RESULT = 1 then                                            /*010628*/
             do                                                          /*010629*/
                say "   Unable to create " || program_title || " program object,"
             end                                                         /*010631*/

          /*-------------------------------------*\                      /*010701*/
          |  Build WPProgram object for: Notepad  |                      /*010702*/
          \*-------------------------------------*/                      /*010703*/
          /* No matching MKWINOS2.DBX entry for this program          */ /*010704*/
          program_class    = "WPProgram"                                 /*010705*/
          program_title    = "Notepad"                                   /*010706*/
          program_location = "<MKWINOS2:Accessories Group>"              /*010707*/
          program_option   = "UPDATE"                                    /*010708*/
          program_setup    =,                                            /*010709*/
             "ICONFONT=" || GBL.font || ";"                          ||, /*010710*/
             "ICONPOS=33,37;"                                        ||, /*010711*/
             "EXENAME=C:\WIN-311\NOTEPAD.EXE;"                       ||, /*010712*/
             "SET DOS_AUTOEXEC=E:\AUTOtest.BAT;"                     ||, /*010713*/
             "SET DPMI_MEMORY_LIMIT=64;"                             ||, /*010714*/
             "SET IDLE_SECONDS=3;"                                   ||, /*010715*/
             "SET KBD_ALTHOME_BYPASS=1;"                             ||, /*010716*/
             "SET VIDEO_SWITCH_NOTIFICATION=1;"                      ||, /*010717*/
             "SET WIN_ATM=1;"                                        ||, /*010718*/
             "SET WIN_CLIPBOARD=1;"                                  ||, /*010719*/
             "SET WIN_DDE=1;"                                        ||, /*010720*/
             "SET XMS_MEMORY_LIMIT=16384;"                           ||, /*010721*/
             "OBJECTID=<MKWINOS2:Notepad>;"                              /*010722*/
          call SysCreateObject program_class,,                           /*010723*/
                               program_title,,                           /*010724*/
                               program_location,,                        /*010725*/
                               program_setup,,                           /*010726*/
                               program_option                            /*010727*/
          if RESULT = 1 then                                            /*010728*/
             do                                                          /*010729*/
                say "   Unable to create " || program_title || " program object,"
             end                                                         /*010731*/

          /*--------------------------------------*\                     /*010801*/
          |  Build WPProgram object for: Recorder  |                     /*010802*/
          \*--------------------------------------*/                     /*010803*/
          /* No matching MKWINOS2.DBX entry for this program          */ /*010804*/
          program_class    = "WPProgram"                                 /*010805*/
          program_title    = "Recorder"                                  /*010806*/
          program_location = "<MKWINOS2:Accessories Group>"              /*010807*/
          program_option   = "UPDATE"                                    /*010808*/

       MKWINOS/2 Version 1.0                                             Page 22

                                           Appendix A - MKWINRUN.CMD Sample

          program_setup    =,                                            /*010809*/
             "ICONFONT=" || GBL.font || ";"                          ||, /*010810*/
             "ICONPOS=43,37;"                                        ||, /*010811*/
             "EXENAME=C:\WIN-311\RECORDER.EXE;"                      ||, /*010812*/
             "SET DOS_AUTOEXEC=E:\AUTOtest.BAT;"                     ||, /*010813*/
             "SET DPMI_MEMORY_LIMIT=64;"                             ||, /*010814*/
             "SET IDLE_SECONDS=3;"                                   ||, /*010815*/
             "SET KBD_ALTHOME_BYPASS=1;"                             ||, /*010816*/
             "SET VIDEO_SWITCH_NOTIFICATION=1;"                      ||, /*010817*/
             "SET WIN_ATM=1;"                                        ||, /*010818*/
             "SET WIN_CLIPBOARD=1;"                                  ||, /*010819*/
             "SET WIN_DDE=1;"                                        ||, /*010820*/
             "SET XMS_MEMORY_LIMIT=16384;"                           ||, /*010821*/
             "OBJECTID=<MKWINOS2:Recorder>;"                             /*010822*/
          call SysCreateObject program_class,,                           /*010823*/
                               program_title,,                           /*010824*/
                               program_location,,                        /*010825*/
                               program_setup,,                           /*010826*/
                               program_option                            /*010827*/
          if RESULT = 1 then                                            /*010828*/
             do                                                          /*010829*/
                say "   Unable to create " || program_title || " program object,"
             end                                                         /*010831*/

          /*--------------------------------------*\                     /*010901*/
          |  Build WPProgram object for: Cardfile  |                     /*010902*/
          \*--------------------------------------*/                     /*010903*/
          /* No matching MKWINOS2.DBX entry for this program          */ /*010904*/
          program_class    = "WPProgram"                                 /*010905*/
          program_title    = "Cardfile"                                  /*010906*/
          program_location = "<MKWINOS2:Accessories Group>"              /*010907*/
          program_option   = "UPDATE"                                    /*010908*/
          program_setup    =,                                            /*010909*/
             "ICONFONT=" || GBL.font || ";"                          ||, /*010910*/
             "ICONPOS=4,26;"                                         ||, /*010911*/
             "EXENAME=C:\WIN-311\CARDFILE.EXE;"                      ||, /*010912*/
             "SET DOS_AUTOEXEC=E:\AUTOtest.BAT;"                     ||, /*010913*/
             "SET DPMI_MEMORY_LIMIT=64;"                             ||, /*010914*/
             "SET IDLE_SECONDS=3;"                                   ||, /*010915*/
             "SET KBD_ALTHOME_BYPASS=1;"                             ||, /*010916*/
             "SET VIDEO_SWITCH_NOTIFICATION=1;"                      ||, /*010917*/
             "SET WIN_ATM=1;"                                        ||, /*010918*/
             "SET WIN_CLIPBOARD=1;"                                  ||, /*010919*/
             "SET WIN_DDE=1;"                                        ||, /*010920*/
             "SET XMS_MEMORY_LIMIT=16384;"                           ||, /*010921*/
             "OBJECTID=<MKWINOS2:Cardfile>;"                             /*010922*/
          call SysCreateObject program_class,,                           /*010923*/
                               program_title,,                           /*010924*/
                               program_location,,                        /*010925*/
                               program_setup,,                           /*010926*/
                               program_option                            /*010927*/
          if RESULT = 1 then                                            /*010928*/
             do                                                          /*010929*/
                say "   Unable to create " || program_title || " program object,"

       MKWINOS/2 Version 1.0                                             Page 23

                                           Appendix A - MKWINRUN.CMD Sample

             end                                                         /*010931*/

          /*--------------------------------------*\                     /*011001*/
          |  Build WPProgram object for: Calendar  |                     /*011002*/
          \*--------------------------------------*/                     /*011003*/
          /* No matching MKWINOS2.DBX entry for this program          */ /*011004*/
          program_class    = "WPProgram"                                 /*011005*/
          program_title    = "Calendar"                                  /*011006*/
          program_location = "<MKWINOS2:Accessories Group>"              /*011007*/
          program_option   = "UPDATE"                                    /*011008*/
          program_setup    =,                                            /*011009*/
             "ICONFONT=" || GBL.font || ";"                          ||, /*011010*/
             "ICONPOS=14,26;"                                        ||, /*011011*/
             "EXENAME=C:\WIN-311\CALENDAR.EXE;"                      ||, /*011012*/
             "SET DOS_AUTOEXEC=E:\AUTOtest.BAT;"                     ||, /*011013*/
             "SET DPMI_MEMORY_LIMIT=64;"                             ||, /*011014*/
             "SET IDLE_SECONDS=3;"                                   ||, /*011015*/
             "SET KBD_ALTHOME_BYPASS=1;"                             ||, /*011016*/
             "SET VIDEO_SWITCH_NOTIFICATION=1;"                      ||, /*011017*/
             "SET WIN_ATM=1;"                                        ||, /*011018*/
             "SET WIN_CLIPBOARD=1;"                                  ||, /*011019*/
             "SET WIN_DDE=1;"                                        ||, /*011020*/
             "SET XMS_MEMORY_LIMIT=16384;"                           ||, /*011021*/
             "OBJECTID=<MKWINOS2:Calendar>;"                             /*011022*/
          call SysCreateObject program_class,,                           /*011023*/
                               program_title,,                           /*011024*/
                               program_location,,                        /*011025*/
                               program_setup,,                           /*011026*/
                               program_option                            /*011027*/
          if RESULT = 1 then                                            /*011028*/
             do                                                          /*011029*/
                say "   Unable to create " || program_title || " program object,"
             end                                                         /*011031*/

          /*----------------------------------------*\                   /*011101*/
          |  Build WPProgram object for: Calculator  |                   /*011102*/
          \*----------------------------------------*/                   /*011103*/
          /* No matching MKWINOS2.DBX entry for this program          */ /*011104*/
          program_class    = "WPProgram"                                 /*011105*/
          program_title    = "Calculator"                                /*011106*/
          program_location = "<MKWINOS2:Accessories Group>"              /*011107*/
          program_option   = "UPDATE"                                    /*011108*/
          program_setup    =,                                            /*011109*/
             "ICONFONT=" || GBL.font || ";"                          ||, /*011110*/
             "ICONPOS=23,26;"                                        ||, /*011111*/
             "EXENAME=C:\WIN-311\CALC.EXE;"                          ||, /*011112*/
             "SET DOS_AUTOEXEC=E:\AUTOtest.BAT;"                     ||, /*011113*/
             "SET DPMI_MEMORY_LIMIT=64;"                             ||, /*011114*/
             "SET IDLE_SECONDS=3;"                                   ||, /*011115*/
             "SET KBD_ALTHOME_BYPASS=1;"                             ||, /*011116*/
             "SET VIDEO_SWITCH_NOTIFICATION=1;"                      ||, /*011117*/
             "SET WIN_ATM=1;"                                        ||, /*011118*/
             "SET WIN_CLIPBOARD=1;"                                  ||, /*011119*/
             "SET WIN_DDE=1;"                                        ||, /*011120*/

       MKWINOS/2 Version 1.0                                             Page 24

                                           Appendix A - MKWINRUN.CMD Sample

             "SET XMS_MEMORY_LIMIT=16384;"                           ||, /*011121*/
             "OBJECTID=<MKWINOS2:Calculator>;"                           /*011122*/
          call SysCreateObject program_class,,                           /*011123*/
                               program_title,,                           /*011124*/
                               program_location,,                        /*011125*/
                               program_setup,,                           /*011126*/
                               program_option                            /*011127*/
          if RESULT = 1 then                                            /*011128*/
             do                                                          /*011129*/
                say "   Unable to create " || program_title || " program object,"
             end                                                         /*011131*/

          /*---------------------------------------------*\              /*011201*/
          |  Build WPProgram object for: Object Packager  |              /*011202*/
          \*---------------------------------------------*/              /*011203*/
          /* No matching MKWINOS2.DBX entry for this program          */ /*011204*/
          program_class    = "WPProgram"                                 /*011205*/
          program_title    = "Object^Packager"                           /*011206*/
          program_location = "<MKWINOS2:Accessories Group>"              /*011207*/
          program_option   = "UPDATE"                                    /*011208*/
          program_setup    =,                                            /*011209*/
             "ICONFONT=" || GBL.font || ";"                          ||, /*011210*/
             "ICONPOS=43,26;"                                        ||, /*011211*/
             "EXENAME=C:\WIN-311\PACKAGER.EXE;"                      ||, /*011212*/
             "SET DOS_AUTOEXEC=E:\AUTOtest.BAT;"                     ||, /*011213*/
             "SET DPMI_MEMORY_LIMIT=64;"                             ||, /*011214*/
             "SET IDLE_SECONDS=3;"                                   ||, /*011215*/
             "SET KBD_ALTHOME_BYPASS=1;"                             ||, /*011216*/
             "SET VIDEO_SWITCH_NOTIFICATION=1;"                      ||, /*011217*/
             "SET WIN_ATM=1;"                                        ||, /*011218*/
             "SET WIN_CLIPBOARD=1;"                                  ||, /*011219*/
             "SET WIN_DDE=1;"                                        ||, /*011220*/
             "SET XMS_MEMORY_LIMIT=16384;"                           ||, /*011221*/
             "OBJECTID=<MKWINOS2:Object Packager>;"                      /*011222*/
          call SysCreateObject program_class,,                           /*011223*/
                               program_title,,                           /*011224*/
                               program_location,,                        /*011225*/
                               program_setup,,                           /*011226*/
                               program_option                            /*011227*/
          if RESULT = 1 then                                            /*011228*/
             do                                                          /*011229*/
                say "   Unable to create " || program_title || " program object,"
             end                                                         /*011231*/

          /*-------------------------------------------*\                /*011301*/
          |  Build WPProgram object for: Character Map  |                /*011302*/
          \*-------------------------------------------*/                /*011303*/
          /* No matching MKWINOS2.DBX entry for this program          */ /*011304*/
          program_class    = "WPProgram"                                 /*011305*/
          program_title    = "Character Map"                             /*011306*/
          program_location = "<MKWINOS2:Accessories Group>"              /*011307*/
          program_option   = "UPDATE"                                    /*011308*/
          program_setup    =,                                            /*011309*/
             "ICONFONT=" || GBL.font || ";"                          ||, /*011310*/

       MKWINOS/2 Version 1.0                                             Page 25

                                           Appendix A - MKWINRUN.CMD Sample

             "ICONPOS=4,16;"                                         ||, /*011311*/
             "EXENAME=C:\WIN-311\CHARMAP.EXE;"                       ||, /*011312*/
             "SET DOS_AUTOEXEC=E:\AUTOtest.BAT;"                     ||, /*011313*/
             "SET DPMI_MEMORY_LIMIT=64;"                             ||, /*011314*/
             "SET IDLE_SECONDS=3;"                                   ||, /*011315*/
             "SET KBD_ALTHOME_BYPASS=1;"                             ||, /*011316*/
             "SET VIDEO_SWITCH_NOTIFICATION=1;"                      ||, /*011317*/
             "SET WIN_ATM=1;"                                        ||, /*011318*/
             "SET WIN_CLIPBOARD=1;"                                  ||, /*011319*/
             "SET WIN_DDE=1;"                                        ||, /*011320*/
             "SET XMS_MEMORY_LIMIT=16384;"                           ||, /*011321*/
             "OBJECTID=<MKWINOS2:Character Map>;"                        /*011322*/
          call SysCreateObject program_class,,                           /*011323*/
                               program_title,,                           /*011324*/
                               program_location,,                        /*011325*/
                               program_setup,,                           /*011326*/
                               program_option                            /*011327*/
          if RESULT = 1 then                                            /*011328*/
             do                                                          /*011329*/
                say "   Unable to create " || program_title || " program object,"
             end                                                         /*011331*/

       /*-----------------------------------------*\
       |  Open Program Manager Desktop Equivalent  |
       \*-----------------------------------------*/
       call SysOpenObject GBL.desktop_object_id, 0, 1
       if RESULT = 1 then
          do
             say "   Unable to open" GBL.desktop_object_id || ". This should not occur"
          end

       exit























       MKWINOS/2 Version 1.0                                             Page 26

                                       Index


     .BMP  . . . . . . . . . . . .  10      GBL.unresolved_path_count .  5, 16
     .CMD  . . . . . . . . . . . . . 2      GBL.wallpaper . . . .   10, 16, 17
     .DMP  . . . . . . . . . . . .  10      GRID  . . . . . . . . . . . . .  5
     .EXE  . . . . . . . . . . 7-9, 16      IBM PC DOS program icon.
     .GRP  . . . . . . . . . 7, 11, 12           MKWINPCD.ICO . . . . . . .  7
     .INI  . . . . . . . . . . . .  13      ICONVIEW= . . . . . . . .   17, 18
     .ZIP  . . . . . . . . . . .  3, 4      Installation & Execution  . . .  3
     (path?)                                Key file
          unresolved .EXE paths  . . 5           MKWINOS2.KEY . . . . . . .  6
     <Alt-F7>  . . . . . . . . . . . 5      LIBPATH . . . . . . . . . . . .  3
     <Ctrl-Esc>  . . . . . . . . . . 5      Log file
     <ftp.cfsrexx.com/mkwinos2>  .  14           MKWINOS2.LOG . . . . . . .  7
     <http://www.cfsrexx.com>  . .  14      MKWINBAK.CMD  . . . . . . .   2, 6
     <WP_START>  . . . . . . . . .  13      MKWINCLS.ICO  . . . . . . .  6, 17
     \WINOS2 . . . . . . . . . . . . 2      MKWINMSD.ICO  . . . . . . . . .  6
     Add Programs                           MKWINnnn.ZIP  . . . . . . . . .  4
          differences from                  MKWINOPN.ICO  . . . . . . .  6, 17
              MKWINOS/2  . . . . . . 2      MKWINOS/2 files . . . . . . . .  6
     Adjusting folder window                MKWINOS2.CMD  . . . .   2, 3, 6, 2
              positions                     MKWINOS2.DAT  . . . . . . . . .  6
          <Alt-F7> . . . . . . . . . 5      MKWINOS2.DBX  
                                                        2, 6-10, 12, 15, 18-25
     alias . . . . . . . . . . .  8, 9           updated version of
     Altering MKWINRUN.CMD . . . . . 5                DATABASE.TXT  . . . .  2
     Altering the pointer to the            MKWINOS2.FIL  . . . . . . .  6, 13
              default Windows               MKWINOS2.KEY  . . . .   3, 4, 6-13
              directory  . . . . . . 4      MKWINOS2.LOG  . . . . . . .   3, 7
     ALWAYSSORT  . . . . . . 9, 17, 18      MKWINOS2.PER  . . . . . . . . .  7
     ambiguous . . . . . . .  7, 9, 15      MKWINOS2.RPT  . . . . . . . . .  7
     Appendix A  . . . . . . . . .  15      MKWINOS2.SAA  . . . . . . . . .  7
     ASSOC_FILE  . . . . . . . . . . 9      MKWINOS2.ZIP  . . . . .   4, 6, 14
     background  . . . . . . . . .  10      MKWINPCD.ICO  . . . . . . . . .  7
     Backup WINOS2 directory                MKWINRUN.CMD  2-5, 9-11, 13, 15, 2
          MKWINBAK.CMD . . . . . . . 6      MS-DOS program icon
     CompuServe  . . . . . . .  13, 14           MKWINMSD.ICO . . . . . . .  6
     Connect . . . . . . . . . .  2, 4      Obtaining a MKWINOS/2 key . .   13
     Contents of the MKWIN                  OS/2 Folder Presentation
              directory  . . . . . . 6                Style . . . . . . . .  9
     CONTROL.INI . . . . . . . . .  13      OS/2 System Setup
     Controlling Windows VDM                     WIN-OS/2 setup . . . . . .  2
              Settings   . . . . . . 8      Program Manager . . . . . . . .  2
     DATABASE.TXT  . .  2, 6, 8, 9, 12      Program Manager Desktop
     Debugging log . . . . . . . . . 3                Equivalent
     E-mail  . . . . . . . . .  13, 14           folder . . . . . . . . . .  2
     Enabling MKWINOS/2  . . . . .  13      QREXXLIB.DLL  . . . . . . . . .  7
     Error Messages  . . . . . . .  11      Quick Start Summary . . . . . .  4
     FAX . . . . . . . . . . .  13, 14      R-WINOS2.CMD  . . . . . .  2, 6, 7
     FLOWED  . . . . . .  5, 9, 10, 16      R-WINOS2.YES  . . . . . . . . .  7
     FTP . . . . . . . . . . . . .  14      Report file
     GBL.ambiguous_program_count 9, 15           MKWINOS2.RPT . . . . . . .  7
     GBL.font  . . . . . . . 10, 16-25      REXXLIB.DLL . . . . . . . .  8, 12
     GBL.icon_view . . .  5, 10, 16-18      Sequence numbering
     GBL.sort  . . . . .  5, 10, 16-18           MKWINRUN.CMD . . . . . .   11
     GBL.sort_option . .  5, 10, 16-18      Trap processing routine . . .   10

     MKWINOS/2 Version 1.0                                             Page 27

                                       Index

     Updates and service . . . . .  14
     VDM . . . . . . . . . . . . . . 8
     wallpaper . . . . . .  10, 16, 17
     Warp  . . . . . . . . . . . . . 2
     Warp Blue Box vs. Red Box
              and MKWINOS/2  . . . . 2
     WIN-OS/2 Setup  . . . . . . . . 2
     Windows file processing
          Full pack  . . . . . . .  13
     Windows Program Manager . . . . 2
     WINOS2_LOCATION . . . . .  11, 12
     [Groups]  . . . . . . . . . .  11
     [OS2] . . . . . . . . . . . .  12
     [WINDOWS] . . . . . . . . . .  12









































     MKWINOS/2 Version 1.0                                             Page 28
