|
|
1.1 root 1: .TH MUX 9.1
2: .CT 1 comm_term
3: .SH NAME
4: mux, ismux, invert \- layer multiplexer for 5620
5: .SH SYNOPSIS
6: .B mux
7: [
8: .B -l
9: .I command ...
10: ]
11: .PP
12: .B mux exit
13: .PP
14: .B mux cd
15: .I directory
16: .PP
17: .B ismux
18: [
19: .B -
20: ]
21: .PP
22: .B invert
23: .SH DESCRIPTION
24: .I Mux
25: manages asynchronous windows, or layers.
26: Upon invocation, it loads the terminal with a
27: program
28: (default
29: .FR /usr/jerq/lib/muxterm ,
30: settable by the environment variable
31: .BR MUXTERM )
32: that is
33: the primary user interface.
34: Option
35: .B -l
36: also creates a layer and invokes the shell to run
37: .I commands
38: in it.
39: (See
40: .IR windows (9.1)).
41: .PP
42: The command
43: .L mux exit
44: leaves
45: .I mux,
46: destroying all layers;
47: .L mux cd
48: changes the directory of
49: .IR mux ,
50: and hence of layers later created,
51: but not of the current layers.
52: .PP
53: Each layer is essentially a separate terminal.
54: Characters typed into the layer are sent to the standard input of
55: a Unix process bound to the layer, and characters written on the
56: standard output of that process appear in the layer.
57: When a layer is created, a separate shell
58: (the value of the
59: .B SHELL
60: environment variable, or
61: .I sh
62: by default)
63: is established, and bound to the layer.
64: .PP
65: Layers are created, deleted, and rearranged using the mouse.
66: Depressing mouse button 3 activates a menu of layer operations.
67: Releasing button 3 then selects an operation.
68: At this point, a gunsight or box cursor indicates that an operation is pending.
69: Hitting button 3 again activates the operation on the layer pointed to by the cursor.
70: .PP
71: The
72: .B New
73: operation, to create a layer,
74: requires a rectangle to be swept out,
75: across any diagonal, while button 3 is depressed.
76: A box outline cursor indicates that a rectangle is to be created.
77: The
78: .B Reshape
79: operation, to change the size and location of a layer on the screen,
80: requires first that a layer be indicated (gunsight cursor) and a new rectangle
81: be swept out (box cursor).
82: The other operations are self-explanatory.
83: .PP
84: In a non-current layer,
85: button 1 is a shorthand for
86: .B Top
87: and
88: .BR Current ,
89: which pulls a layer to the front
90: of the screen and makes it the active layer for keyboard and mouse input.
91: Th current layer is indicated by a heavy border.
92: .PP
93: There is a point
94: in each layer, called the `Unix point', where
95: the next character from the host Unix system will be inserted.
96: The Unix point advances whenever characters
97: are received from the host, but not when echoing typed characters.
98: When a newline is typed after the Unix point,
99: characters between the Unix point and the newline,
100: inclusive, are sent to the host and the
101: Unix point advanced to after the newline.
102: This means that
103: shell prompts and other output will be inserted before
104: characters that have been typed ahead.
105: No other characters are sent to the host (but see the discussion of raw mode
106: below).
107: Therefore partially typed lines or text anywhere before the Unix
108: point may be edited.
109: .PP
110: The default terminal program allows any text on the screen to be edited,
111: much as in
112: .IR sam (9.1).
113: Text may be selected by sweeping it with button 1 depressed.
114: Typed characters replace selected text.
115: .PP
116: All layers share a common `snarf buffer' (distinct from
117: .IR sam 's).
118: The
119: .B cut
120: operation on button 2 deletes selected text and puts it
121: in the buffer;
122: .B snarf
123: copies selected text to the buffer;
124: .B paste
125: replaces selected text (which may be null) from the buffer; and
126: .B send
127: copies the snarf buffer to after the Unix point.
128: .PP
129: Normally the terminal doesn't scroll
130: as text is received, but a button 2 menu item selects scrolling.
131: .PP
132: A scroll bar indicates what portion of all the text stored
133: for a layer is on the screen.
134: (It measures characters, not lines.)
135: Releasing button 1 in the scroll bar brings the line at the top
136: of the screen to the cursor;
137: releasing button 3 takes the line at the cursor
138: to the top of the screen.
139: Button 2, treating the scroll bar as a ruler, brings the indicated
140: point in the whole stored text to the top of the screen.
141: Slide the cursor off either end of the scroll bar with button 2
142: depressed to get right to an end of the file.
143: .PP
144: The
145: .SM NUM LOCK
146: key advances a half page.
147: .PP
148: .I Ismux
149: reports on its standard error whether its standard output is a
150: .I mux
151: layer, and also generates the appropriate exit status.
152: With option
153: .LR - ,
154: no message is produced.
155: .PP
156: .I Invert
157: reverses the sense of video, from black on white to
158: white on black, or
159: .I vice
160: .IR versa .
161: .PP
162: Independent user-level programs can be loaded into layers, see
163: .IR 32ld (9.1).
164: .SM SHIFT-SETUP
165: freezes
166: .I mux
167: and complements the video of the layer of the running user-level terminal process.
168: Hitting button 2 in this state will attempt to kill the process;
169: 1 or 3 will leave it running.
170: .PP
171: In raw mode or no-echo mode (see
172: .IR ttyld (4))
173: the Unix point advances with each character
174: typed after it.
175: .SH FILES
176: .F /tmp/.mux*
177: temporary file used by
178: .B -l
179: option
180: .SH SEE ALSO
181: .IR 32ld (9.1),
182: .IR sam (9.1),
183: .IR jx (9.1),
184: .IR term (9.1),
185: .IR windows (9.1)
186: .br
187: R. Pike,
188: `Blit Download Protocols',
189: this manual, Vol. 2
190: .SH DIAGNOSTICS
191: .I Mux
192: refuses to create a layer when there is not enough memory.
193: Space can be recovered by deleting a layer.
194: .br
195: Error messages from
196: .I mux
197: are written directly to the layer which caused them.
198: They are usually meaningful only to system administrators,
199: and indicate system difficulties.
200: .SH BUGS
201: Reshape only works properly for processes that arrange to see if they have
202: been reshaped, although most programs
203: make this arrangement.
204: .br
205: The behavior of raw mode prohibits editing
206: partially typed lines when running
207: .IR cu (1).
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.