UW (Unix (tm) Windows) for the Atari ST This program was written by Hans-Martin Mosner at the University of Dortmund in West Germany. It has since been enhanced by Brad Bosch and Brian Katzung at Lachman Associates, Inc., in Naperville, Illinois. Note that this disk represents a beta test version, and is provided on a strictly as-is basis, and we assume no responsibility or liability for any aspect of this software. This version of uw provides only adm31 emulation and the most basic UW protocol. The adm31 emulation has been extended slightly. See the end of the Features section for a description of the extensions. Features added by Brad Bosch and Brian Katzung: o Jump scrolling occurs if screen updates can't keep up with transmission from the host. o The input window may be different than the top window. o A printer copy of output to each window may be enabled or disabled on a window-by-window basis in various flavors. o sends a break. o There is a menu item to reset flow control if the Atari and the host get out of synchronization. o Fonts "windalt.fnt", "windoth.fnt", and "windtny.fnt" are supported in addition to "windstd.fnt". The "windtny" font is small enough to allow four 24 x 80 windows on the screen without overlapping. o The smaller system font is offered in addition to the larger one. Some of the characters in the smaller font are "improved" to increase readability. o The user may now select whether or not a window will be "topped" when a ^G (BEL) is output to it. o The user may choose to have ^G (BEL) flash the screen, ring the bell, neither, or both. o When not selecting an input window, pressing the right mouse button on the menu bar toggles the menu bar sensitivity. o The close-box works even when the UW protocol is not running. This is useful for changing the font size or other options. o The RTS (request to send) and DTR (data terminal ready) lines can be cleared and asserted. o Function keys can be used and defined up to 40 characters each. o Function keys and other global option values can be saved and loaded. A file called "win.cnf", if present, is read at startup time. o The right mouse button can be used to copy text from the screen and send it to a window as keyboard input. Click twice on a window border to send copied text. Click once on the boarder to select the window for input. Select text by dragging with the right button pressed. Inside a border, a single right button click selects a word and a double click selects a line. o Emulation window size can now be selected when a window is opened. The fixed sizes available in the menu can be changed with a resource editor without recompiling. Default sizes are font dependent. o A window menu item was added to allow the bottom window to be sent to the top even if it is competely hidden. Another item sends the top window to the bottom. The latter is somewhat slow due to shortcomings in GEM. o The main keyboard digit keys when used while the alt key is down will select that window number to be the top and keyboard input window. The first window is alt-1, the last is alt-7. Windows are numbered as gem numbers them. Alt-key bindings for lower case letters are scanned from the menu strings in the resource file. These bindings are indicated by the ^E (close box) character. o A window menu item was added to shrink the current window to an iconic size. The second-from-the-top non-iconic window becomes the current window. The fuller box is used to reverse the process. o An option is now available to cause new windows to be created without the sliders and arrows. The title bar (and close and fuller boxes) may also be eliminated by another option. Menu items have been added to support most of the functionality lost when the window controls are turned off. o Additional help information was added to the about dialog. o Startgem is now included in the distribution. This program, if placed in the auto folder, will attempt to start a:\bin\uw.prg automatically when the ST is booted up. o A variable called "locpath" contains the name of a directory to scan after the current directory when looking for configuration and font files. The string is 64 bytes long and defaults to c:\bin. o An RS232 configuration dialog has been added. There is no pro- vision for putting this information in the configuration file. Bug view: There is no auto-configuration. Feature view: Changes persist across executions. o One can now capture host output to a file on a per-window basis. Capture mode is terminated by setting an empty file name. o Added keyboard lock to file menu. This locks the keyboard and mouse until your password is reentered. o Added change working directory item to file menu. This is usefull for kermit and the exec command entry. o Added execute command entry. This allows uw to be suspended while another command is executed. Note that mwc startup for gem does not preserve the environment variables. The default command and parameters are part of the config file. o Add basic kermit functionality. Kermit can operate under the uw protocol in a window concurent with interactive terminal windows. Sending multiple files is not yet supported. Extensions to Adm31 emulation: o If the host sends a window the sequence ESC [18t, the window will respond with ESC [8;;t, where and specify the window's size in characters. o The insert line and delete line escape sequences (ESC E and ESC R, respectively) allow a repeat count (ie, ESC 5E inserts 5 lines). Bugs fixed: o Exiting in "fast" mode used to leave a window open. The system would crash on the next run unless you had returned to the desktop. o Actions on windows now check that there are windows to act upon. Known bugs: o Because of the extra memory used in the jump scrolling algorithm, the bottom row of pixels of an earlier line sometimes appears immediately below the title bar. o GEM doesn't let you completely eliminate the menu bar and increase your workspace. o Desk accessories sometimes leave damage on the screen. o GEM doesn't send "top" messages to the top window, so you can't use the left mouse button as a short hand to select the top window for input. Use the right button on the window title bar instead. o The rsconf() baud rates listed in the manual as 75 and 50 baud really result in system timer settings for 120 and 80 baud. The RS232 configuration dialog allows you to set these two baud rates, but decodes them as 300 or 200 baud, respectively. o The RS232 configuration code uses some trickery to determine the current port configuration. Some parts of this code may need to be turned off or adapted to run on other hardware or if system calls stop returning undocumented values.