summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc191.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc191.txt')
-rw-r--r--doc/rfc/rfc191.txt216
1 files changed, 216 insertions, 0 deletions
diff --git a/doc/rfc/rfc191.txt b/doc/rfc/rfc191.txt
new file mode 100644
index 0000000..515f1e1
--- /dev/null
+++ b/doc/rfc/rfc191.txt
@@ -0,0 +1,216 @@
+
+
+
+
+
+
+RFC 191 Charles Irby
+NIC 7136 Augmentation Research Center
+Category D.6, I.1 Stanford Research Institute
+ 13-JUL-71
+
+ GRAPHICS IMPLEMENTATION AND CONCEPTUALIZATION AT ARC
+
+Overview:
+
+This document is a brief description of the way in which graphics
+terminals are conceptualized and used at the Augmentation
+Research Center. All things described are implemented and have
+been operational for several months. Although our attention has
+initially been centered about the display of textual material, we
+are now about to turn our attention toward pictorial displays
+(hopefully much enhanced over our previous 940 line drawing
+capabilities).
+
+ This document will discuss only those facits of display use
+ which have been implemented and are currently operational,
+ namely only those dealing with textual display.
+
+included is a discussion of the use of multiple file viewing
+display areas in NLS to provide cross file editing capabilities.
+A description of our display and terminal input equipment will
+be issued as a separate document.
+
+NOTE: RFC 190 includes a functional description of the
+implementation of the interface to our displays and is a
+description of the way this interface was extended to include
+"Processor-displays" (an IMLAC PDS-1, in this case) to our
+system, thus enabling one to use Display NLS over any of our
+teletype lines (including the network).
+
+ A "processor dsplay" is a display with Processing power which
+ can be controlled by character strings.
+
+Description of the "conceptual display" implemented at ARC
+
+The allocatable output unit for our display terminals (which
+include our local terminals and all remote processor-displays) is
+
+
+
+
+
+
+
+
+
+
+ [Page 1]
+
+a rectangular "display area". A program treats this display area
+much like it would a file which it has opened with write access.
+
+When requesting the allocation of a display area, a program
+specifies its attributes, including where it is to be on the
+screen. The program is returned an identifier which it
+subsequently uses to manipulate images within the display area
+and the display area itself. Each string which the program
+writes into the display area is also given an identifier, which
+can subsequently be used to move, delete, replace, or change the
+characteristics of that string.
+
+ The currently implemented characteristics are character size,
+ horizontal spacing between characters, and font of the
+ characters (e.g. blinking, italics, intensity, etc.).
+
+ The position of items in the display area are given relative
+ to the 0,0, which is the lower left corner of the display
+ area. The horizontal coordinate increases to the right and the
+ vertical coordinate increases toward the top.
+
+In addition to above described manipulation of strings within
+display areas a program can suppress the display of individual
+strings within display areas or suppress whole display areas.
+
+Also, a program can switch the terminal's state from teletype
+simulation to display mode and vis versa.
+
+ When in display mode, the teletype simulation display area is
+ suppressed and the coordinates of the cursor are input with
+ each character. When in teletype simulation mode, all user
+ owned display areas are suppressed and the coordinates of the
+ cursor are not input with each character.
+
+At TENEX startup time, display areas are allocated for a teletype
+simulation and a cursor for each local display terminal. Programs
+can change the string being displayed as the cursor to give the
+human feedback as to the programs state.
+
+Within NLS:
+
+ The NLS subsystem deals only with the cursor and the display
+ areas it has requested from the system for output to the user.
+ The display area formatters assumes that the display has 64K
+ by 64K addressable points (with 0,0 at upper left), several
+ different character sizes and fonts, and 7-bit ASCII.
+
+
+
+
+
+ [Page 2]
+
+ The display area formatters use format parameters during the
+ format process and post-processors to convert the vertual
+ format to one that is acceptable to the device for which the
+ formatting was being done (a display area on the screen, a
+ page for a printer, a microfilm device, or a teletype).
+
+ NLS allows the user to specify arguments to commands by
+ selecting items from the current display image. This is
+ accomplished through the use of a data structure, which
+ describes the current display image, to map the cursor
+ coordinates, which are input with each character, into the
+ proper selection.
+
+Multiple text display areas in NLS
+
+When the user's device is a display, NLS allows him to subdivide
+the file-viewing display area (the one in which he views his
+file) and view (and edit across) several different files at once.
+Following is a discussion of the commands and capabilities
+associated with this new feature.
+
+ new commands
+
+ Horizontal split
+
+ splits a file-viewing display area horizontally (into an
+ upper and lower segment) at the selected location moving
+ the image of the original display area to the upper or
+ lower segment depending on whether the cursor is above or
+ below the bugged position when the final Command Accept is
+ input.
+
+ No display area will be created which is smaller then 2
+ lines by 20 columns (using the character size of the
+ original display area).
+
+ Vertical split
+
+ splits a file-viewing display area vertically (into a left
+ and right segment) at the selected location moving the
+ image of the original display area to the left or right
+ segment depending on whether the cursor is to the left or
+ right of the selected position when the final CA is input.
+
+ No display area will he created which is smaller then 2
+ lines by 20 columns (using the character size of the
+ original display area).
+
+
+
+ [Page 3]
+
+ Move boundary
+
+ The selected boundary is moved to the new position. A
+ boundary will not be moved passed a boundary of a neighbor.
+ A boundary is moved for all display areas for which it is a
+ boundary. Any resulting display area which is smaller than
+ two lines by twenty columns will be deleted.
+
+ Character size
+
+ The current character size of the display area which
+ currently contains the cursor is displayed, and the user
+ may type a number (0, 1, 2, 3) for a new character size.
+ The final Command Accept causes the character size to be
+ changed. The horizontal and vertical increment are
+ automatically adjusted. Different display areas may
+ simultaneously have different character sizes.
+
+ Clear display area
+
+ The selected display area is cleared, i.e. the image is
+ erased, the return and file return rings are released, and
+ the association of a file with that display area is
+ removed. The display area itself is not deleted.
+
+One may freely edit and jump using several display areas. The
+position of the cursor is used to resolve ambiguities.
+
+ For example, If one executes a Jump command, the position of
+ the cursor when the final Command Accept is entered determines
+ in which display area the new image is to appear.
+
+ Also, If one changes viewspecs using the leftmost two buttons
+ of the mouse, the viewspecs of the display area containing the
+ cursor when the buttons go down are used as the initial values
+ and are displayed in the viewspec area. When the buttons are
+ released, the display area containing the cursor receives the
+ new viewspecs.
+
+
+ [ This RFC was put into machine readable form for entry ]
+ [ into the online RFC archives by BBN Corp. under the ]
+ [ direction of Alex McKenzie. 12/96 ]
+
+
+
+
+
+
+
+ [Page 4]
+