[fa.info-terms] Windows TR? && SuperScreen

info-terms (04/02/83)

>From UCBVAX.@MIT-MC.@udel-relay.ARPA.chris.umcp-cs@UDel-Relay  Sat Apr  2 00:26:21 1983
Received: by UCBVAX.ARPA (3.332/3.19)
	id AA02296; 2 Apr 83 06:08:05 PST (Sat)
To: Brad A. Silverberg <SILVERBERG@SRI-CSL>
Cc: info-terms@mit-mc
Via:  UMCP-CS; 1 Apr 83 3:01-EST

Oops, I goofed.  Rich never put out a TR on windows per se.  However,
we (Mark Weiser, Randy Trigg, & I) are currently working on ``the''
U of MD TR on Windows.  Obviously it isn't available yet since we aren't
done writing it.  But I can breifly describe windows here:

1.  Window == a rectangular region displaying text.

2.  Windows can overlap.  The overlap is a rectangular region; one
    window is "under" the other.  E.g.:

    +----------------+
    |                |
    |                |----+
    |                |    |
    +----------------+    |
                  |       |
                  +-------+

    Rest assured that the characters outlining the windows join
    together, making a nice solid border around the window.  (The
    border isn't required, but you usually want one.)

3.  Windows can be hidden.  If a window is hidden, you can print
    to it, but you can't see the results until you unhide it.
    Hiding/unhiding is a user-level request, not something that
    happens automatically.

4.  You can print to covered windows.  The characters that are
    covered won't be visible until the window is uncovered, by any
    one or more of:  hiding the top window; moving either window
    so they don't overlap; closing the top window; or ``exposing''
    the bottom window.  Exposing the bottom window is the act of
    bringing said window to the "top of the pile", so that in the
    above picture exposing the lower window would make the upper
    one be covered where the lower one is covered now.

5.  Within a single window, you can do anything that you can do on
    a standard smart terminal, i.e. write characters with optional
    modes, clear lines and/or whole window, insert/delete line/char,
    etc.  All of this obeys the hidden/covered/etc rules above.

6.  Windows can be labeled on the top or bottom; you replace the top
    or bottom line (represented in the figure by '-') with inverse
    video text.  So you can get RoloDex(tm?) cards or whatever.

I think that's the basics.  This probably matches pretty closely to
what's running now on the SuperScreen.

Anyway, Rich wrote the original SuperScreen code and some code to
emulate an SS on our Vax with a termcap interface.  His Vax code
basically faked an SS by writing all changed chars, so was ridiculously
slow, especially at scrolling.  I have recently rewritten it to
handle line/char I/D operations on terminals that have such ability,
and made a library out of it.  The Windows Library is like having
a very, very slow, text-only, SuperScreen.

I think I've said enough, unless anyone in particular wants more
info.  But I've about exhausted my supply of SuperScreen information.
				- Chris