Dec 312017
MultiWindows interface to Unix connected to Windows - client part.
File UWWIN103.ZIP from The Programmer’s Corner in
Category UNIX Files
MultiWindows interface to Unix connected to Windows – client part.
File Name File Size Zip Size Zip Type
DEFAULT.UW 225 183 deflated
HISTORY.UWW 2364 1184 deflated
README.UWW 654 429 deflated
UW.DOC 20140 7806 deflated
UWWIN.EXE 67584 25675 deflated
UWWIN.HLP 21372 9378 deflated

Download File UWWIN103.ZIP Here

Contents of the UW.DOC file

UW/WIN Version 1.03

Russell Poffenberger

January 1992


This document describes version 1.03 of UW/WIN. This application is designed
to run on IBM-PC's and compatible computers under Windows 3.0. This program
was inspired by UW/PC, written by Rhys Weatherley. This program is entirely
independent from UW/PC, and bears no resemblance to UW/PC other than its
basic functionality. UW in general is based on a program written for the
Macintosh by John Bruner. It provides for up to seven separate sessions on
a remote UNIX machine. A UW server package must be running on the UNIX
system for any of the advanced features to work.


In order to be less "similar" to UW/PC, some of the UW commands have been
changed. Particularly the "New" command (Alt-N, creates a new UW session
and window) has been changed to "Create" (Alt-C), "Kill" (Alt-K, kills
the current window) has been changed to "Remove" (Alt-R), and "Exit" (Alt-E,
exits the UW protocol) has been changed to "Protocol 0" (Alt-0). Also, "Upload"
and "Download" (not implemented yet) have been changed to the "Page Up" and
"Page Down" keys respectively.

Version 1.03 is the second version released to the public so far, and comments
are welcome. This version implements the Unix Windows protocols 0 and 1.
The UW server also has a "protocol 2" available, but is not yet implemented.
Protocol 2 provides more window management. Look for support in a future

Note that the documentation for the server states that it will probably not
compile on anything but BSD based UNIX systems. It will not work on System V.
Also, UW/WIN will not operate in REAL mode. This is because Borland C++ is
used, and BC++ does not support making REAL mode applications. At such time
that Borland supports this, or Microsoft supports this in a C++ compiler,
I will likely provide REAL mode support.

UW/WIN is distributed in the hopes that it will be found useful. If you like
the program, a contribution to the author of $20 (or whatever you feel it
is worth) would be appreciated and will help to keep enhancements and future
products available. With any contribution, you will receive notification
of new versions. With any contribution of $10 or more, you will receive
a bound manual. Feel free to distribute this program as you wish, so long
as its contents, and this notice are not changed. Note, however, that the
server is copyrighted by John Bruner, and is not covered under these terms,
and has its own terms and conditions contained within its documentation. For
that reason, the server is not bundled with this package, but must be obtained

The source code for the server, packaged together with the Macintosh binaries
can be downloaded from some ftp sites. The standard distribution is
available in the directory "mirrors/unix-c/macintosh" on
"" []. The file is named "uw42.tar-z".
On "" [] as (no MAC binaries)
in the "pub/pc/win3/util" directory. The DOS based PC version can be obtained
from "" in the mirrors/msdos/modem directory.

Comments about UW/WIN can be sent to the author at one of the following

Internet: [email protected]

UUCP : {uunet,decwrl,amdahl}!sjsca4!poffen

CIS : 72401,276

US mail : Russ Poffenberger
2827 Old Estates Ct.
San Jose, Ca. 95135

Comments about UW/PC (the DOS version), can be sent to:

Rhys Weatherley -- [email protected]

Comments about the UW server for UNIX hosts should be sent to John Bruner:

ARPANET/MILNET: [email protected]

UUCP: {lll-crg,decwrl,caip}!mordor!jdb

U.S. Mail: John Bruner
Lawrence Livermore National Laboratory
P.O. Box 5503, L-276
Livermore, CA 94550


The following files should be present in the UW/WIN archive:

UWWIN.EXEThe actual UW/WIN Windows 3.0 executable.
UWWIN.DOCThis documentation file.
DEFAULT.UWAn example configuration file.
README.UWWHistory of UW/WIN versions.
UWWIN.HLP A Windows 3.0 compatible help file.


When UW/WIN starts, it creates a client area, then brings up the "File | Open"
dialog box, allowing you to select a configuration file. You may select
one of the available files, or press "Cancel". Pressing "Cancel" will NOT
initialize the serial port or parameters. Use the various menus and dialog
boxes (described below) to setup the desired parameters. You may navigate
the drives and directories to find configuration files. By default, the
directory where the UW/WIN executable was executed from is the starting

You may specify the name of a configuration file on the command line. In this
case the opening dialog is skipped, and the configuration file is read in
directly. This allows you to setup filemanager associations, or create an
icon in a program manager group to represent a specific connection.

Once you have selected a valid configuration file, or picked a com port for
use from the "Setup | Comm" menu, UW/WIN enters "Protocol 0", which is
equivalent to the dumb terminal emulations available in conventional
communications programs. The default emulation is ADM31, but VT52 emulation
is also available. A number of special keystrokes are defined in protocol 0:

ALT-B - Sends a line break over the serial link.
ALT-I - Send the modem initialization string.
ALT-U - Send the string defined by the "uw" initialization setup.
This is useful once connected to start the UW server on
the UNIX host. See "CONFIGURING UW/WIN" below.
ALT-Q - Quit the program: All windows will be destroyed, and UW/WIN
will be exited. You will be prompted before quitting.

These functions may also be invoked under the "UW" menu.

The purpose of protocol 0 is to allow you to connect to the UNIX host in
in the normal fashion. When you are ready to use the multiple-window mode
of UW/WIN, execute the UW server on the remote host by typing its command
name, or by pressing ALT-U if the "uw" command string has been
set correctly (see below). Note that the server must be compiled and
accessible for you to do this.

When the server starts, it uses special characters to begin the protocol
with UW/WIN. The current window now becomes UW window 1. At this point, up
to six more login windows may be started, either by using the ALT-N key,
or using the "UW" menu. At this point, ALT-U, or the corresponding menu
have no effect, and the following commands (or menu equivalents) are
available :

ALT-0 - Exit the UW protocol. If any windows are present, they
will be terminated. You will be prompted for verification
first. This function does NOT hangup the modem before
exiting, so UW/WIN can be restarted.
ALT-R - Remove just the current window.
ALT-C - Create a new window. Up to 7 windows total may be created,
if all 7 windows are already up, then this has no effect.
ALT-n - "n" is a digit between 1 and 7. Make window 'n' the active
window. It will be brought to the top, and given keyboard

Usually, if you exit a UNIX shell in a window, that window will be killed
automatically, if you exit window 1, then ALL other windows will be killed,
and UW/WIN will return to protocol 0.

Each window contains a status bar at the top. This bar contains information
about the window, such as the window number, the screen size (columns X rows),
and which protocol is in force. The screen size is useful to set the UNIX
terminal characteristics correctly (usually using stty, refer to your UNIX
system documentation for specific information.) after changing the window
size. When a window is iconified, the window name is shortened to indicate
just the window number, so as not to clutter up your windows desktop.

The UW server usually defaults to using ADM31 emulation whenever it creates
a new window. You may need to manually modify the UNIX terminal type in the
windows to get the correct screen behavior if you have set your default
emulation type to something other than ADM31 in the configuration file.
If you are using the Bourne shell compatible shell, you can add the following
lines to your ".cshrc" file to automatically change the terminal type to SS,
where SS is your preferred terminal type.

case $TERM in
adm31) eval `tset -s SS`;;
*) ;;

When the UW server starts, it will set the TERMCAP environment variable within
a UW window, but in protocol 0 the TERMCAP environment is not set

The following TERMCAP string may be used if your system lacks a working adm31
entry. You may create an entry in your termcap file, or set your environment
to this string. The formatting is for looks only, delete all leading and
trailing spaces and returns to make it a single string if setting it in the
TERMCAP variable. If adding to the termcap file, escape the end of each
line with a backslash '\'.

cm=\E=%+ %+ :cl=^Z:cd=\EY:co#80:dc=\EW:dl=\ER:

UW/WIN allows for two different emulations to be used automatically. You may
set the protocol 0 emulation (through the Emulation... dialog) to be something
simple, typically vt52, since most UNIX systems have this entry. When entering
protocol 1, the protocol 1 emulation will automatically be used.


When UW/WIN starts up, it first pops up a dialog box allowing you to select
an existing configuration (profile) file. This file conforms to standard
Windows 3.0 ".ini" conventions. If you press "Cancel", then no setups will
occur, and you must use the various setup menus and dialog boxes to configure
the various parameters. Once you have the desired settings, you may save this
to a named profile file. An example configuration file is distributed with
UW/WIN. Each line of the file is of the form "name=arg" where "name" is the
name of the configurable parameter, and "arg" is its argument. Comments may
be introduced starting with "#", but may not appear within commands. The
configurable parameters, which are all optional, and their defaults follow:


The serial port to be used for communications. This can
be either 1, 2, 3, or 4.


The baud rate to use for transmission. This can be
one of 300, 600, 1200, 2400, 4800, 9600 or 19200.


The parity to use for transmission. This can be one
of none, even or odd.


The number of data bits (7 or 8) to use for transmission.


The number of stop bits (1 or 2) to use for transmission.


The modem initialization string, The string cannot be
longer than 128 characters in length.


The default terminal emulation type to use for protocol 0.
This is to rectify some problems with UNIX termcap entries that
are missing the entry for ADM31 terminals, as discussed
above under "USING UW/WIN". It can be either adm31 or vt52.


Set the terminal emulation type for protocol 1. This is is
the emulation used under protocol 1. This can be either adm31
or vt52.

Specifies which type of flowcontrol to use. It can be either
hardware or software.


This string is sent to the modem when dialing.


This string contains the phone number to send to the modem
when dialing. It is appended to the dialprefix string.

f1_key - f10_key

These ten configuration variables allow you to define
the function keys to any strings you desire. If you do
not define a function key, it will have its default setting
as defined by the terminal emulation in use. The characters
"^" is used to indicate that the next character is a control
character, ie "^m" is carriage return. The string should be
128 characters or less.


This specifies the string to send in response to ALT-u, or
when selecting "Start UW" from the "UW" menu. The "^"
character is treated as described above.


This specifies the name of a file (or files) to load for extra
fonts. Usually these are ".fon" files. You can specify more than
one by separating the file names with a space. This cannot
be changed at runtime.


This specifies the number of lines for the scrollback history
buffer. This cannot be changed at runtime.


If non-zero (true), then the backspace key will output the "del"
code (0x7f).


This value specifies the delay (in seconds) before attempting
a redial if the previous dial was unsuccessful in connecting.

Most of these options may be changed at runtime using the various menus and
dialog boxes. Any changes made affect only the current session. You may
save these settings to a profile file by choosing the "File | Save" or
"File | Save As" menu item. The menu operations are described below.


This menu item contains a submenu consisting of the following

OpenProvide a dialog box to allow selection of s profile
file to load.
SaveSave the current settings to the profile file last
loaded. If no file has been loaded, the this will
invoke the "Save As" function explained below.
Save AsPop up a dialog box allowing the user to select an
existing file, or enter a new one to save the current
settings to. The extension ".uw" is recommended.
ExitExit UW/WIN.


This is the interface to the clipboard.

CopyIf there is selected text, then this menu is enabled.
Selecting it will copy the selected text to the
Windows clipboard.

PasteIf there is compatible text in the clipboard, then
selecting this function will copy the text from the
clipboard to the window session, sending it to the
remote system.

Copy then Paste
This will perform a copy and subsequent paste in a
single operation.


From this menu you can invoke either the "Comm",
"Initialization", or "Emulation" dialog boxes.

CommUse this dialog box to set the various communication
parameters, such as baud rate, parity, etc.

This dialog box allows you to specify strings to
use for the dialing prefix, modem initialization,
and the UW command.

Use this dialog box to select which emulation to
use for each protocol.


This version of UW/WIN contains a Windows 3.0 compatible help
file. The items under this menu can be used to index into
help file using the Windows 3.0 help facility. An "About"
box provides version and identification information.


The "Dial" menu provides two entries, "Number" and "Hangup".

NumberThis brings up a dialog box allowing you to edit the
number to dial, and to invoke dialing. Pressing
"Cancel" before connection has occurred, will
terminate the call in progress.

HangupSelecting this will cause a hangup using the Hayes
standard escape sequence "+++" to gain control of the
modem, then issuing "ath0" to hangup the modem. This
will not gracefully exit the UW protocol, and should
only be used in an emergency.

Keys | Function

This menu, when selected, will bring up a dialog box allowing
you to program your own strings to function keys. The dialog
provides ten radio buttons to select which function key to
program. The edit box show the current string, and allows you
to edit the string. Once the string is the way you want it,
press "Save" to save the string. If you don't save it, it will
be lost. At this point, you may select another function key
to program, or exit the dialog box. Strings should be 128
characters or less.

Keys | Mapping

This dialog allows you to select various default key mappings. Currently,
the only mapping supported is to map the Backspace key to the Delete
code (0x7f). Checking the box enables the mapping, unchecking the box
disables the mapping.


Refer to the UW commands description above.


From this menu, you may index into the help file using the
Windows help facility.


Yoy may select which font you wish to use in the terminal
windows. The menu is created dynamically based on available
fixed pitch fonts available at the time UW/WIN was started.
Even fonts available via ATM may be used. Note that only
fixed pitch fonts will be shown, and be careful with very
small fonts. If the font is so small that the system menu
takes more than one line, then some problems will occur. This
will hopefully be fixed in a future release (it is a difficult
problem). There is also a menu entry "Bold". Selecting this
will toggle bold on/off. When a checkmark is next to it, then
the characters will be in bold.

On startup, UW/WIN uses the default SYSTEM font, and sets the window to
80 X 24 lines. You may resize the window by dragging a border, just like
any other Windows application. Read the "Microsoft Windows 3.0 Users Guide"
for more info.

The standard system colors "WINDOW" and "WINDOW_TEXT" are used for the client
area background and text respectively. These can be changed using the "Color"
utility in the Windows "Control Panel" program manager group.


There are some limitations in UW/WIN and the UW server. If a lot of data
is being received in one window, the UW server will be slow to process input
from another. This is caused by the server, not UW/WIN. Another problem is
one of modem communication reliability. Unless an error correcting modem
protocol is used, characters could be dropped, lost or garbled. If one of
the protocol bytes gets affected, strange behavior may result, such as output
going to the wrong window, or input from one window going to the wrong
session. If things become entirely out of sync, try exiting the UW protocol.
If this doesn't work, try "ctrl-A" followed by the "Delete" key. The UW commands
are a small part of the total data (statistically speaking) so these problems
should be uncommon. Using an error correcting modem or protocol such as V.42,
MNP 4, or Telebit PEP will avoid these problems. When using such modems, it is
highly recommended that you make use of hardware flow control. Since high speed
error correcting modems implement their own modem to modem flow control, it is
much more efficient to let hardware handshaking govern the flow of characters.
Some high speed protocols, particularly Telebit's PEP, don't switch the
send/receive lines too well when a large amount of traffic is going in one
direction. Attempting to use software flow control (where an XOFF character is
sent to the remote system to turn off output) will generally result in lost
characters. For low speed (2400 and below), the modems have no internal flow
control mechanism, so you must use software flow control.

There is also a bug in Windows 3.0 related to the comm ports. If you type
while any window is busy receiving and displaying data, the data you type
may get "stuck" in the send queue. If this appears to happen, wait till the
receive activity is through, and type another key, this will unstick the
queue and send all queued characters.


In the future, UW/WIN will be extended with the following capabilities: ANSI
terminal emulation, X/Y/Zmodem file transfers in any window (and also
protocol 0), and support for a subset of the UW protocol 2 features which
gives more control over window management. Other minor features may include
saving of selected font information to the configuration file, and other
convenience items. Comments and suggestions are very welcome.

 December 31, 2017  Add comments

Leave a Reply