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