|
|
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: In 8bit mode, characters with octal codes 0200 and greater ! 176: print according to the ISO Latin1 alphabet; see ! 177: .IR ascii (6). ! 178: .SH FILES ! 179: .F /tmp/.mux* ! 180: temporary file used by ! 181: .B -l ! 182: option ! 183: .SH SEE ALSO ! 184: .IR 32ld (9.1), ! 185: .IR sam (9.1), ! 186: .IR jx (9.1), ! 187: .IR term (9.1), ! 188: .IR windows (9.1) ! 189: .br ! 190: R. Pike, ! 191: `Blit Download Protocols', ! 192: this manual, Vol. 2 ! 193: .SH DIAGNOSTICS ! 194: .I Mux ! 195: refuses to create a layer when there is not enough memory. ! 196: Space can be recovered by deleting a layer. ! 197: .br ! 198: Error messages from ! 199: .I mux ! 200: are written directly to the layer which caused them. ! 201: They are usually meaningful only to system administrators, ! 202: and indicate system difficulties. ! 203: .SH BUGS ! 204: Reshape only works properly for processes that arrange to see if they have ! 205: been reshaped, although most programs ! 206: make this arrangement. ! 207: .br ! 208: The behavior of raw mode prohibits editing ! 209: partially typed lines when running ! 210: .IR cu (1).
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.