Terminal Windowing - Overview

Windowing in PRO/5 allows you to write an application that manipulates the display without worrying about restoring the display to its original state. This capability is particularly useful when writing routines that may be called from a number of points in an application such as help display, account displays, etc.

PRO/5 is capable of maintaining multiple windows on a terminal screen, each having its own set of flags, modes and function/edit key loads. Function and edit keys may be loaded and the display modified without affecting other windows. This means that characters and function keys are local to the current window.

There is only one window active at a time. Moving from one window to another makes the new window the active window. The current window number may be found in the FIN() function and in the list returned by the 'WINDOW'("LIST") mnemonic sequence. See Reading the Window List.

ALL terminal display operations work through windowing. The first window that is created on the OPEN of a terminal is simply created without a border, and is window 0. It cannot be DROPped.

Any print operation that occurs off the physical display is maintained in the window buffer. When the cursor moves off the screen it is maintained in the last position until the logical cursor returns to a position on the physical display.

The following topics cover Terminal Windowing:

Creating a Window

Reading the Window List

Moving Windows, Removing Windows, and Accessing Inactive Windows