MKWINOS/2 v. 1.0 (29/9/1995, Richard K. Goran) |
Readme/What's new |
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 |
Add new comment