1
0
mirror of synced 2026-01-12 00:42:56 +00:00
Interlisp.medley/lispusers/commwindow.tedit
2020-11-15 19:22:14 -08:00

13 lines
9.0 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

XEROX COMMWINDOW
2
4
1
COMMWINDOW
1
4
By: Larry Masinter, Stan Lanning, Nick Briggs, Richard Burton (Masinter.pa@Xerox.com, Lanning.PA@Xerox.COM, Briggs.PA@Xerox.com, Burton.pa@Xerox.com)
Uses: COURIERSERVE
This document last edited on 2-Apr-87 17:49:35
INTRODUCTION
This is a demonstration of communication capabilities. The COMMWINDOW module implements a "remote window" capability, where one user can watch (with slow update) a region of another users screen.
Both participants need to have COMMWINDOW loaded.
To show someone else a piece of your screen, call
(SEND-BITS partner &OPTIONAL frame) [Function]
The partner is the name of the machine you want to talk to. (The watcher has to be registered in the clearinghouse database; this is a NS protocol name.)
frame, if supplied, is a screen region to show. If it is omitted, send-bits will prompt the (sender) for a frame of the screen.
The sender has complete control over the frame. The frame appears as a gray frame around the area shown, like this:
´aÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÀ0À0Áªªªªªªªªªªªªªªªªª¡0ÄEVªªªªªªªªªªªªªªª¥TDD0ÄEUUUUUUUUUUUUUUUUUTDD0Á©UUUUUUUUUUUUUUUZ¡0Áªªªªªªªªªªªªªªªªª¡0ÄEVªªªªªªªªªªªªªªª¥TDD0ÄEUUUUUUUUUUUUUUUUUTDD0Á©UUUUUUUUUUUUUUUZ¡0Ïþ«ÿÿÿÿÿÿÿÿý¡0ÏýWÿÿÿÿÿÿÿÿüDDDDDDETDD0ÀT DDDDDDETDD0À¨
¡0À¨
¡0ÀT DDDDDDETDD0ÀT DDDDDDETDD0À¨
¡0À¨
¡0ÀT DDDDDDETDD0ÀT DDDDDDETDD0À¨
¡0À¨
¡0ÀT DDDDDDETDD0ÀT DDDDDDETDD0À¨
¡0À¨
¡0ÀT DDDDDDETDD0ÏýWÿÿÿÿÿÿÿÿüDDDDDDETDD0Ïþ«ÿÿÿÿÿÿÿÿý¡0Ïþ«ÿÿÿÿÿÿÿÿý¡0ÏýWÿÿÿÿÿÿÿÿüDDDDDDETDD0ÏýWÿÿÿÿÿÿÿÿüDDDDDDETDD0Ïþ«ÿÿÿÿÿÿÿÿý¡0Ïþ«ÿÿÿÿÿÿÿÿý¡0ÏýWÿÿÿÿÿÿÿÿüDDDDDDETDD0ÏýWÿÿÿÿÿÿÿÿüDDDDDDETDD0Ïþ«ÿÿÿÿÿÿÿÿý¡0Ïþ«ÿÿÿÿÿÿÿÿý¡0ÏýWÿÿÿÿÿÿÿÿüDDDDDDETDD0ÏýWÿÿÿÿÿÿÿÿüDDDDDDETDD0À¨
¡0À¨
¡0ÀT DDDDDDETDD0À!T DDDDDDETDD0È"¨
¡0Î.¨p@
¡0È1Tˆ@ DDDDDDETDD0È!T`ÿÿÿÿÿÿõ_ÿÿ0È"¨ÿÿÿÿÿÿú¯ÿÿ0É"¨ˆ@ÿÿÿÿçÿú¯ÿÿ0Æ!Tp@ÿÿÿÿçÿõ_ÿÿ0ÀTÿÿÿÿÿÿõ_ÿÿ0À¨Â<19>fz¬00À¨fLÉ“$Ï:©“?0ÀTfLÉ“$ü5Y“?0ÀTfLÉ“$ù5Y“?0À¨fLÉ“$É:©“?0À¨fLÌ&¬3?0ÀTÿÿÿÿÿÿõ_ÿÿ0ÀTÿÿÿÿÿÿõ_ÿÿ0À¨ÿÿÿÿÿÿú¯ÿÿ0À¨
 0ÀT""""""%R""0ÀT Áá^?€0À¨ ˆˆˆª™Œš©¨ˆ0À¨  0ÀT""'¦+&%S?"0ÀT D E^ 0À¨ ˆˆˆ¬ÉŒú©¨ˆ0À¨ "1Š¡ 0ÀT""'ãòú¥S?¢0ÀT P0Àªªªªªªªªªªªªªªªªª¨ˆˆ0Àªªªªªªªªªªªªªªªªª 0ÀUUUUUUUUUUUUUUUUUP0ÀUUUUUUUUUUUUUUUUUQñ0Àªªªªªªªªªªªªªªªªª¢ 0Àªªªªªªªªªªªªªªªªª¤0ÀUUUUUUUUUUUUUUUUUT0ÀUUUUUUUUUUUUUUUUUTy0À @ ˆ¤ 0À @Hb0À H!éù0À 0À 0À 0À 0À ðü'ðð‚0À  !Â0À  B¢0À0À0ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿð
(The frame consists really of 4 thin windows, so that you can really type/button inside it.)
The frame can be moved by left buttoning anywhere on it. Right buttoning on it makes it go away temporarily.
(Reshaping the frame can be accomplished by left buttoning the frame while the shift key is depressed. This doesn't reshape the remote window currently, so this isn't very useful.)
Since this is an experiment, there are a couple of parameters you can vary. The function (mode-menu) will bring up a window that lets you control any and all of these parameters.
The first is the shape of the areas sent in each packet.
Currently available shapes are:
square: a square of bits as big as will fit in a single packet
rectangle: 4 times wider than it is high.
horizontal: as wide as the frame, and then as high can be
vertical: as high as the frame and as wide as can be
h3: this is a funny mode, where the update is in horizontal chunks, but spread out.
PARAMETERS
The parameter \ETHERLIGHTNING lets you tell the low-level ethernet code to randomly drop packets. This parameter can be used to study the effects of noisy communication lines on transmision protocol.
Another parameter gives you some local control over the region within the frame that is updated. There are three available values:
Sender: Update near the sender's cursor, when it has moved, ASAP.
Viewer: Update near the viewer's cursor, when it has moved, ASAP.
NIL: don't do anything special.
Another parameter lets lets you prune out sending packets that update regions of the display that have not changed. The tradeoff here between the cost of sending the packets vs testing a region to see if it has changed.
A recent addition was the following part of the protocol: when the mouse on the sender is moving, it will send a square around the mouse interleaved with any other transmission ongoing. That means you can make sure a remote area is being updated by wiggling the mouse.
The sender's mouse is also tracked in the remote viewers viewpoint (the cursor shape is currently not tracked, however). The mouse coordinates are sent every packet, so that mouse position always updates.
The viewer has a limited option to place a pointer back on the sender's screen: if the viewer holds the shift key down while the viewer's mouse is in the view point window, a little pointer (ÀÀ@&@6@<@?Ÿ€?><80@ @) will appear in the senders window and track the viewers cursor. (The pointer is in fact a little icon window.) When the viewer releases the shift key, the pointer icon disappears.
CAUTIONS:
Don't move the frame off the screen. It will just signal an error.
The "don't change unsent tiles" parameter doesn't seem to work.
(LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL)))))
.ÈH1È È(È.È È(È(ŠŠ8(ŠŠ8DÈÈ PAGEHEADING RUNNINGHEAD(È (MODERN
MODERN MODERNMODERN
MODERN
LOGO  HRULE.GETFNMODERN
 HRULE.GETFNMODERN
 HRULE.GETFNMODERN
  HRULE.GETFNMODERN  HRULE.GETFNMODERN 0 Ä32 
š{t $ BMOBJ.GETFN3MODERN
]nµ´9 @+;6U É==Ý
Í¿\ BMOBJ.GETFN3
C@

ïkzº