Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / v9 / man / man1 / xkibitz.1
CommitLineData
920dae64
AT
1.TH XKIBITZ 1 "06 October 1994"
2.SH NAME
3xkibitz \- allow multiple people to interact in an xterm
4.SH SYNOPSIS
5.B xkibitz
6[
7.I xkibitz-args
8] [
9.I program program-args...
10]
11.br
12.SH INTRODUCTION
13.B xkibitz
14allows users in separate xterms to share one shell (or any program
15that runs in an xterm). Uses include:
16.RS
17.TP 4
18\(bu
19A novice user can ask an expert user for help. Using
20.BR xkibitz ,
21the expert can see what the user is doing, and offer advice or
22show how to do it right.
23.TP
24\(bu
25By running
26.B xkibitz
27and then starting a full-screen editor, people may carry out a
28conversation, retaining the ability to scroll backwards,
29save the entire conversation, or even edit it while in progress.
30.TP
31\(bu
32People can team up on games, document editing, or other cooperative
33tasks where each person has strengths and weaknesses that complement one
34another.
35.TP
36\(bu
37If you want to have a large number of people do an on-line code
38walk-through, you can sit two in front of each workstation, and then
39connect them all together while you everyone looks at code together
40in the editor.
41.SH USAGE
42To start
43.BR xkibitz ,
44one user (the master) runs xkibitz with no arguments.
45
46.B xkibitz
47starts a new shell (or another program, if given on the command
48line). The user can interact normally with the shell, or
49upon entering an escape (described when xkibitz starts) can add
50users to the interaction.
51
52To add users, enter "+ display" where display is the X display name.
53If there is no ":X.Y" in the display name, ":0.0" is assumed.
54The master user must have permission to access each display.
55Each display is assigned
56a tag \- a small integer which can be used to reference the display.
57
58To show the current tags and displays, enter "=".
59
60To drop a display, enter "- tag" where tag is the display's tag
61according to the "=" command.
62
63To return to the shared shell, enter "return". Then the keystrokes of
64all users become the input of the shell. Similarly, all users receive
65the output from the shell.
66
67To terminate
68.B xkibitz
69it suffices to terminate the shell itself. For example, if any user
70types ^D (and the shell accepts this to be EOF), the shell terminates
71followed by
72.BR xkibitz .
73
74Normally, all characters are passed uninterpreted. However, in the
75escape dialogue the user talks directly to the
76.B xkibitz
77interpreter. Any
78.BR Expect (1)
79or
80.BR Tcl (3)
81commands may also be given.
82Also, job control may be used while in the interpreter, to, for example,
83suspend or restart
84.BR xkibitz .
85
86Various processes
87can produce various effects. For example, you can emulate a multi-way write(1)
88session with the command:
89
90 xkibitz sleep 1000000
91.PP
92.SH ARGUMENTS
93.B xkibitz
94understands a few special arguments
95which should appear before the
96.I program
97name (if given).
98Each argument should be separated by whitespace.
99If the arguments themselves takes arguments,
100these should also be separated by whitespace.
101
102.B \-escape
103sets the escape character. The default escape character is ^].
104
105.B \-display
106adds a display much like the "+" command. Multiple \-display flags
107can be given. For example, to start up xkibitz with three additional
108displays:
109
110 xkibitz -display mercury -display fox -display dragon:1.0
111
112.SH CAVEATS
113Due to limitations in both X and UNIX, resize propagation is weak.
114
115When the master user resizes the xterm, all the other xterms are logically
116resized.
117Unfortunately, xkibitz cannot force the physical xterm size to correspond
118with the logical xterm sizes.
119
120The other users are free to resize their xterm but their sizes are not
121propagated. The master can check the logical sizes with the "=" command.
122
123Deducing the window size is a non-portable operation. The code is known
124to work for recent versions of SunOS, AIX, Unicos, and HPUX. Send back
125mods if you add support for anything else.
126.SH ENVIRONMENT
127The environment variable SHELL is used to determine and start a shell, if no
128other program is given on the command line.
129
130If the environment variable DISPLAY is defined, its value is used for the
131display name of the
132.B xkibitz
133master (the display with tag number 0). Otherwise this name remains empty.
134
135Additional arguments may be passed to new xterms through
136the environment variable XKIBITZ_XTERM_ARGS.
137For example, to create xterms
138with a scrollbar and a green pointer cursor:
139.nf
140
141 XKIBITZ_XTERM_ARGS="-sb -ms green"
142 export XKIBITZ_XTERM_ARGS
143
144.fi
145(this is for the Bourne shell - use whatever syntax is appropriate for your
146favorite shell). Any option can be given that is valid for the
147.B xterm
148command, with the exception of
149.BR -display ,
150.B -geometry
151and
152.BI -S
153as those are set by
154.BR xkibitz .
155.SH SEE ALSO
156.BR Tcl (3),
157.BR libexpect (3)
158.BR kibitz (1)
159.br
160.I
161"Exploring Expect: A Tcl-Based Toolkit for Automating Interactive Programs"
162\fRby Don Libes,
163O'Reilly and Associates, January 1995.
164.br
165.I
166"kibitz \- Connecting Multiple Interactive Programs Together", \fRby Don Libes,
167Software \- Practice & Experience, John Wiley & Sons, West Sussex, England,
168Vol. 23, No. 5, May, 1993.
169.SH AUTHOR
170Don Libes, National Institute of Standards and Technology