|
|
1.1 ! root 1: .TH XTERM 1 "20 Apr 1987" "X Version 11" ! 2: .SH NAME ! 3: xterm \- X window system terminal emulator ! 4: .SH SYNOPSIS ! 5: .B xterm ! 6: [ option ] ... ! 7: .SH DESCRIPTION ! 8: .I Xterm ! 9: is the ! 10: .I X ! 11: window system terminal emulator. ! 12: It attempts to emulate a DEC VT102 terminal ! 13: to provide a standard terminal type for programs not aware of the window ! 14: system directly. ! 15: Under 4.3BSD, Ultrix 1.2 and other systems with the capability, ! 16: .I xterm ! 17: supports the terminal resizing facilities built into the system. ! 18: .PP ! 19: In addition, ! 20: .I xterm ! 21: emulates the Tektronix 4015 in a separate window. ! 22: .I Note: Tektronix mode is untested for X 11 and guaranteed not to work at this ! 23: .I time. ! 24: To maintain the correct aspect ratio (height/width), Tektronix graphics will ! 25: be restricted to the ! 26: largest box with a 4015's aspect ratio that will fit in the window. ! 27: This box is located in the upper left area of the window. ! 28: .PP ! 29: Both windows may be displayed at the same time, though only one window and ! 30: mode is active at a time. ! 31: Input will be displayed in the active window even if the mouse is in the other ! 32: window. ! 33: Switching between the active modes is possible under manual (menu) and program ! 34: (escape sequence) control. ! 35: .PP ! 36: .I Xterm ! 37: understands the following options. ! 38: If the option begins with a ! 39: .RB ` + ' ! 40: instead of a ! 41: .RB ` \- ', ! 42: the option is restored to its default value. ! 43: These options override those set in the ``.Xdefaults'' file (see the ! 44: .B "X DEFAULTS" ! 45: section). ! 46: .TP 12 ! 47: .B \-132 ! 48: Normally, the VT102 DECCOLM escape sequence that switches between 80 and ! 49: 132 column mode is ignored. ! 50: This option causes the DECCOLM escape sequence to be recognized, and the ! 51: .I xterm ! 52: window will resize appropriately. ! 53: .TP ! 54: .B \-L ! 55: indicates that ! 56: .I xterm ! 57: is being called by ! 58: .IR init (8), ! 59: and should presume that its file descriptors ! 60: are already open on a slave pseudo-tty, and that ! 61: .IR getty (8) ! 62: should be ! 63: run rather than the user's shell. ! 64: This option should only be used by ! 65: .IR init (8) ! 66: .TP ! 67: .BI \-b " border" ! 68: .I Xterm ! 69: maintains an inner border (distance between characters and the window's ! 70: border) of one pixel. ! 71: The ! 72: .B \-b ! 73: option allows you to set the size of this border to ! 74: .I border. ! 75: .TP ! 76: .BI \-bd " color" ! 77: On color displays, determines the color of the (highlighted) border. ! 78: .TP ! 79: .BI \-bg " color" ! 80: On color displays, determines the color of the background. ! 81: .TP ! 82: .BI \-bw " borderwidth" ! 83: Allows you to specify the width of the window border in pixels. ! 84: .TP ! 85: .BI \-cr " color" ! 86: On color displays, determines the (highlighted) color of the text cursor; ! 87: default is the text (foreground) color. ! 88: .TP ! 89: .B \-cu ! 90: Several programs that use the ! 91: .IR curses (3x) ! 92: cursor motion package have some difficulties with VT102-compatible terminals. ! 93: The bug fixed with this option occurs with ! 94: .IR more (1) ! 95: on a file containing a line that is exactly the width of the window and ! 96: which is followed by line beginning with a tab. ! 97: Normally, the leading tabs disappear, but this option causes them to be ! 98: displayed correctly. ! 99: .TP ! 100: .BI \-e " command arguments" ! 101: The specified ! 102: .I command ! 103: will be executed in the window, rather than ! 104: starting a shell. ! 105: The command and the optional arguments must appear last on the ! 106: .I xterm ! 107: command line. ! 108: .TP ! 109: .BI \-fb " font" ! 110: The specified ! 111: .I font ! 112: will be used instead of the default bold font (which is ``vtbold''). ! 113: This font must be the same height and width as the normal font. ! 114: If only one of the normal or bold fonts is specified, it will be used as the ! 115: normal font and the bold font will be produced by overstriking this font. ! 116: .TP ! 117: .BI \-fg " color" ! 118: On color displays, determines the color of the text (foreground). ! 119: .TP ! 120: .BI \-fn " font" ! 121: The specified ! 122: .I font ! 123: will be used instead of the default font (which is ``fixed''). ! 124: Any fixed width font may be used. ! 125: .TP ! 126: .B \-i ! 127: This option causes ! 128: .I xterm ! 129: to startup displaying the icon rather than the normal window. ! 130: .TP ! 131: .B \-j ! 132: .I Xterm ! 133: will `jump scroll'; when ! 134: .I xterm ! 135: falls behind scrolling ! 136: the screen, it will move multiple lines up at once. ! 137: The VT100 escape sequences for smooth scroll can be used to enable/disable ! 138: this feature from a program, ! 139: or the `Mode Menu' can be used to set it interactively. ! 140: .\"TP ! 141: .\"B \-k ! 142: .TP ! 143: .B \-l ! 144: Logging is turned on; all input from the pseudo tty is appended to the ! 145: logfile. ! 146: .TP ! 147: .BI \-lf " file" ! 148: This ! 149: .I file ! 150: specifies the file in which the log is written to, rather than the default ! 151: ``\fBXtermLog.\fIXXXXX\fR'' where ! 152: .I XXXXX ! 153: is the process id of ! 154: .I xterm ! 155: (the file is created in the directory ! 156: .I xterm ! 157: is started in, or the home directory for a login ! 158: .IR xterm ). ! 159: If ! 160: .I file ! 161: begins with a ``|'' then the rest of the string is assumed to be a command ! 162: to be executed by the shell, and a pipe is opened to the process. ! 163: .TP ! 164: .B \-ls ! 165: This option causes the shell run under ! 166: .I xterm ! 167: to be a login shell (the user's .login file is read and the initial directory ! 168: will be the home directory). ! 169: .TP ! 170: .B \-mb ! 171: This option turns on the right margin bell. ! 172: .TP ! 173: .BI \-ms " color" ! 174: On color displays, determines the color of the mouse cursor; default is the ! 175: text cursor color. ! 176: .TP ! 177: .BI \-n " windowname" ! 178: Sets the name of the window for use by a window manager. ! 179: If no name is specified, the name "xterm" is used. ! 180: .TP ! 181: .BI \-nb " number" ! 182: This ! 183: .I number ! 184: is used as the right margin distance in which the margin bell will ring ! 185: (the default is 10). ! 186: .TP ! 187: .B \-r ! 188: The screen will be displayed with white characters on a black background, ! 189: rather than the default black on white. ! 190: This becomes the normal video mode, which is reversed by turning on the ! 191: reverse video mode. ! 192: .TP ! 193: .B \-rv ! 194: Same as ! 195: .BR \-r . ! 196: .TP ! 197: .B \-rw ! 198: This options turns on reverse-wraparound mode, that allows the cursor to ! 199: wraparound from the leftmost column to the rightmost column of the previous ! 200: line. ! 201: This is very useful in the shell to allow erasure backwards across the ! 202: previous line. ! 203: .TP ! 204: .B \-s ! 205: When this option is specified, xterm no longer scrolls synchronously ! 206: with the display. ! 207: .I Xterm ! 208: no longer attempts to keep the screen completely up to date while ! 209: scrolling, but can then run faster when network latencies are very high. ! 210: This is typically useful when using ! 211: .I xterm ! 212: across a very large internet or many hops. ! 213: .TP ! 214: .B \-sb ! 215: This option causes the scrollbar to be displayed during startup, with the ! 216: saving of lines scrolled off the top of the window being turned on. ! 217: .TP ! 218: .B \-si ! 219: When using the scrollbar to review previous lines of text, the window is ! 220: normally repositioned automatically at the ! 221: bottom of the scroll region when input has arrived. This option disables ! 222: repositioning on input. ! 223: .TP ! 224: .B \-sk ! 225: When using the scrollbar to review pass lines of text, this option ! 226: causes the window to be repositioned automatically in the normal postion at the ! 227: bottom of the scroll region when a key is pressed. ! 228: .TP ! 229: .BI \-sl " number" ! 230: The ! 231: .I number ! 232: specifies the maximum number of lines to save that are scrolled off the top ! 233: of the window. ! 234: The default is 64 lines. ! 235: .TP ! 236: .B \-sn ! 237: By default, the status line is in revere-video (relative to the rest of the ! 238: window). ! 239: This option causes the status line to be in normal video (the status line ! 240: is still enclosed in a box). ! 241: .TP ! 242: .B \-st ! 243: This option causes the status line to be displayed on startup. ! 244: .TP ! 245: .B \-t ! 246: This option causes the initial ! 247: .I xterm ! 248: window to be the Tektronix window, rather than the normal VT102 window. ! 249: .TP ! 250: .B \-vb ! 251: This option turns on the visual bell mode, which flashes the window on ! 252: receipt of a CTRL-G. ! 253: .TP ! 254: .B \-w ! 255: Same as ! 256: .BR \-bw . ! 257: .TP ! 258: .BI = geometry ! 259: .I Xterm ! 260: will take a normal X geometry specification for the VT102 window. ! 261: This takes the form of ``\fB=\fIwidth\fBx\fIheight\fB+\fIxoff\fB+\fIyoff\fR''. ! 262: See ! 263: .IR X (1) ! 264: for details of this specification. ! 265: .TP ! 266: .BI % geometry ! 267: This geometry specification applies to the Tektronix window. ! 268: .TP ! 269: .BI # geometry ! 270: This geometry specification applies to the icon position (the width and ! 271: height information are optional and otherwise ignored). ! 272: .TP ! 273: .IB host : display ! 274: Normally, ! 275: .I xterm ! 276: gets the host and display number to use from the environment ! 277: variable ``DISPLAY''. ! 278: One can, however specify them explicitly. ! 279: The ! 280: .I host ! 281: specifies which machine to create the window on, and ! 282: the ! 283: .I display ! 284: argument specifies the display number. ! 285: For example, ! 286: ``orpheus:1'' creates a shell window on display one on the machine ! 287: orpheus. ! 288: .SH "X DEFAULTS" ! 289: .I Xterm ! 290: allows you to preset defaults in a customization file in your home ! 291: directory, called ! 292: .BR .Xdefaults . ! 293: The format of the file is ``programname.keyword:string''. ! 294: See ! 295: .IR X (1) ! 296: for more details. ! 297: .I Xterm ! 298: obeys the convention for `MakeWindow' defaults. ! 299: Keywords recognized by ! 300: .I xterm ! 301: are listed below. ! 302: .TP 15 ! 303: .B Background ! 304: Set the background color. ! 305: .TP ! 306: .B BodyFont ! 307: Set the default font. ! 308: .TP ! 309: .B BoldFont ! 310: Specify a default bold font. ! 311: .TP ! 312: .B Border ! 313: Set the border color. ! 314: .TP ! 315: .B BorderWidth ! 316: Set the border width of the window. ! 317: .TP ! 318: .B C132 ! 319: If ``on'', allow the DECCOLM escape sequence to switch between 80 and 132 ! 320: column mode. ! 321: .TP ! 322: .B Curses ! 323: If ``on'', enable the ! 324: .IR curses (3x) ! 325: fix. ! 326: .TP ! 327: .B Cursor ! 328: Set the text cursor color. ! 329: .TP ! 330: .B CursorShape ! 331: If ``arrow'', use the arrow mouse cursor rather than the I-beam mouse cursor. ! 332: .TP ! 333: .B Foreground ! 334: Set the text color. ! 335: .TP ! 336: .B Geometry ! 337: Set the window geometry (position and size). ! 338: .TP ! 339: .B IconStartup ! 340: If ``on'', initially display the icon rather than the normal window. ! 341: .TP ! 342: .B InternalBorder ! 343: Set the space between the text and window border. ! 344: This is called padding above. ! 345: .TP ! 346: .B JumpScroll ! 347: If ``on'', jump scroll is enabled. ! 348: .\"TP ! 349: .\"B KeyBoard ! 350: .TP ! 351: .B LogFile ! 352: Specifies the log file or command to pipe to when logging is activated. ! 353: .TP ! 354: .B Logging ! 355: If ``on'', turn logging on initially. ! 356: .TP ! 357: .B LogInhibit ! 358: If ``on'', totally inhibit logging from being turned on. ! 359: .TP ! 360: .B LoginShell ! 361: If ``on'', make the shell executed a login shell. ! 362: .TP ! 363: .B MarginBell ! 364: If ``on'', turn on the margin bell. ! 365: .TP ! 366: .B Mouse ! 367: Set the mouse cursor color. ! 368: .TP ! 369: .B MultiScroll ! 370: Allows xterm to scroll asynchronously with the display. ! 371: .TP ! 372: .B NMarginBell ! 373: Set the margin bell right margin distance. ! 374: .TP ! 375: .B ReverseVideo ! 376: If ``on'', reverse the definition of foreground and background color. ! 377: .TP ! 378: .B ReverseWrap ! 379: If ``on'', turn on the reverse wraparound mode. ! 380: .TP ! 381: .B SaveLines ! 382: Set the number of lines to save when scrolled of the top of the window. ! 383: .TP ! 384: .B ScrollBar ! 385: If ``on'', show the scrollbar initially. ! 386: .TP ! 387: .B ScrollInput ! 388: If ``off'', disable repositioning the scroll region at the bottom if ! 389: new input has arrived. ! 390: .TP ! 391: .B ScrollKey ! 392: If ``on'', reposition the scroll region at the bottom if ! 393: a key is pressed. ! 394: .TP ! 395: .B SignalInhibit ! 396: If ``on'', totally inhibit the sending of signals from the ! 397: .B xterm ! 398: menu. ! 399: .TP ! 400: .B StatusLine ! 401: If ``on'', show the status line on startup. ! 402: .TP ! 403: .B StatusNormal ! 404: If ``on'', make the status line normal video. ! 405: .TP ! 406: .B TekInhibit ! 407: If ``on'', totally inhibit going into Tektronix mode. ! 408: .TP ! 409: .B VisualBell ! 410: If ``on'', turn on visual bell mode at startup. ! 411: .SH EMULATIONS ! 412: The VT102 emulation is fairly complete, but does not support the blinking ! 413: character attribute nor the double-wide and double-size character sets. ! 414: .IR Termcap (5) ! 415: entries that work with ! 416: .I xterm ! 417: include ``xterm'', ``vt102'', ``vt100'' and ``ansi'', and ! 418: .I xterm ! 419: automatically searches the termcap file in this order for these entries and then ! 420: sets the ``TERM'' and the ``TERMCAP'' environment variables. ! 421: .PP ! 422: Many of the special ! 423: .I xterm ! 424: features (like logging) may be modified under program control ! 425: through a set of escape sequences different from the standard VT102 escape ! 426: sequences. ! 427: (See the ! 428: .I ``Xterm Control Sequences'' ! 429: document.) ! 430: .PP ! 431: The Tektronix 4015 emulation is also fairly good. ! 432: Four different font sizes and five different lines types are supported. ! 433: The Tektronix text and graphics commands are recorded internally by ! 434: .I xterm ! 435: and may be written to a file by sending the COPY escape sequence (or through ! 436: the ! 437: .B Tektronix ! 438: menu; see below). ! 439: The name of the file will be ! 440: ``\fBCOPY\fIyy\fB\-\fIMM\fB\-\fIdd\fB.\fIhh\fB:\fImm\fB:\fIss\fR'', where ! 441: .IR yy , ! 442: .IR MM , ! 443: .IR dd , ! 444: .IR hh , ! 445: .I mm ! 446: and ! 447: .I ss ! 448: are the year, month, day, hour, minute and second when the COPY was performed ! 449: (the file is created in the directory ! 450: .I xterm ! 451: is started in, or the home directory for a login ! 452: .IR xterm ). ! 453: .SH "MOUSE USAGE" ! 454: .PP ! 455: Once the VT102 window is created, ! 456: .I xterm ! 457: allows you to select text and copy it within the same or other windows. ! 458: .PP ! 459: The selection functions are invoked when the mouse buttons are used with no ! 460: modifiers, and when they are used with the ``shift'' key. ! 461: .PP ! 462: The left button is used to save text into the cut buffer. ! 463: Move the cursor to beginning of the text, ! 464: and then hold the button down while moving the cursor to the end of the region ! 465: and releasing the button. ! 466: The selected text is highlighted and is saved in the global cut buffer when ! 467: the button is released. Double-clicking selects by words. Triple-clicking ! 468: selects by lines. Quadruple-clicking goes back to characters, etc. ! 469: Multiple-click is determined by the time from button up to ! 470: button down, so you can change the selection unit in the middle of a selection. ! 471: .PP ! 472: The middle button `types' (pastes) the text from the cut buffer, ! 473: inserting it as keyboard input. ! 474: .PP ! 475: The right button extends the current selection. (Without loss of generality, ! 476: that is you can swap ``right'' and ``left'' everywhere in the rest of this ! 477: paragraph...) If pressed while closer to ! 478: the right edge of the selection than the left, it extends/contracts the ! 479: right edge of the selection. If you contract the selection past ! 480: the left edge of the selection, ! 481: .I xterm ! 482: assumes you really meant the left edge, restores the original selection, then ! 483: extends/contracts the left edge of the selection. Extension starts in the ! 484: selection unit mode ! 485: that the last selection or extension was performed in; you can multiple-click ! 486: to cycle through them. ! 487: .PP ! 488: By cutting and pasting pieces of text without trailing new lines, ! 489: you can take text from several places in different windows and form a command ! 490: to the shell, for example, or take output from a program and insert it into ! 491: your favorite editor. ! 492: Since the cut buffer is globally shared among different applications, ! 493: you should regard it as a `file' whose contents you know. ! 494: The terminal emulator and other text programs should be treating it as if it ! 495: were a text file, i.e. the text is delimited by new lines. ! 496: .PP ! 497: The scroll region displays the position and amount of text currently showing ! 498: in the window (highlighted) relative to the amount of text actually saved. ! 499: As more text is saved (up to the maximum), the size of the highlighted area ! 500: decreases. ! 501: .PP ! 502: Clicking the mouse with the left button in the scroll region moves the ! 503: corresponding line to the top of the display window. ! 504: .PP ! 505: Clicking the right button moves the top line of the display window down to the ! 506: mouse position. ! 507: .PP ! 508: Clicking the middle button moves the display to a position in the saved text ! 509: that corresponds to the mouse's position in the scrollbar. ! 510: .PP ! 511: .PP ! 512: Unlike the VT102 window, the Tektronix window dows not allow the copying of ! 513: text. ! 514: It does allow Tektronix GIN mode, and in this mode ! 515: the cursor will change from an arrow to a cross. ! 516: Pressing any key will send that key and the current coordinate of the ! 517: cross cursor. ! 518: Pressing the left, middle or right button will return the letters `l', `m', and ! 519: `r', respectively. ! 520: If the `shift' key is pressed when a mouse buton is pressed, the corresponding ! 521: upper case letter is sent. ! 522: To distinquish a mouse button from a key, the high bit of the character is ! 523: set (but this is bit is normally stripped unless the terminal mode is RAW; ! 524: see ! 525: .IR tty (4) ! 526: for details). ! 527: .SH MENUS ! 528: .PP ! 529: .I Xterm ! 530: has three different menus, named ! 531: .BR xterm , ! 532: .BR Modes , ! 533: and ! 534: .BR Tektronix. ! 535: Each menu pops up under the correct combinations of key and button presses. ! 536: Most menus are divided into two section, separated by a horizontal line. ! 537: The top portion contains various modes that can be altered. ! 538: A check mark appears next to a mode that is currently active. ! 539: Selecting one of these modes toggles its state. ! 540: The bottom portion of the menu are command entries; selecting one of these ! 541: performs the indicated function. ! 542: .PP ! 543: The ! 544: .B xterm ! 545: menu pops up when the ``control'' and ``shift'' keys and the left button are ! 546: pressed in a window. ! 547: The menu title gives the version number of ! 548: .IR xterm . ! 549: The modes section contains items that apply to both the VT102 and Tektronix ! 550: windows. ! 551: Notable entries in the command section of the menu are the ! 552: .BR Continue , ! 553: .BR Suspend , ! 554: .BR Interrupt , ! 555: .BR Hangup , ! 556: .B Terminate ! 557: and ! 558: .B Kill ! 559: which sends the SIGCONT, SIGTSTP, SIGINT, SIGHUP, SIGTERM and ! 560: SIGKILL signals, respectively, to the process group of the process running ! 561: under ! 562: .I xterm ! 563: (usually the shell). ! 564: The ! 565: .B Continue ! 566: function is especially useful if the user has accidentally typed CTRL-Z, ! 567: suspending the process. ! 568: .PP ! 569: The ! 570: .B Modes ! 571: menu sets various modes in the VT102 emulation, and is popped up with the ! 572: ``control'', ``shift'', and middle button combination in the VT102 window. ! 573: In the command section of this menu, the soft reset entry will reset ! 574: scroll regions. ! 575: This can be convenient when some program has left the scroll regions ! 576: set incorrectly (often a problem when using VMS or TOPS-20). ! 577: The full reset entry will clear the screen, reset tabs to every ! 578: eight columns, and reset the terminal modes (such as wrap and smooth scroll) ! 579: to there initial states just after ! 580: .I xterm ! 581: has finish processing the command line options. ! 582: The ! 583: .B Tektronix ! 584: menu sets various modes in the Tektronix emulation, and is popped up with the ! 585: ``control'', ``shift'', and middle button combination in the Tektronix window. ! 586: The current font size is checked in the modes section of the menu. ! 587: The ! 588: .B PAGE ! 589: entry in the command section clears the Tektronix window. ! 590: .SH "OTHER FEATURES" ! 591: .I Xterm ! 592: automatically highlights the window border and text cursor when the ! 593: mouse enters the window (selected) and unhighlights them when the mouse ! 594: leaves the window (unselected). ! 595: If the window is the focus window, then the window is highlighted no matter ! 596: where the mouse is. ! 597: .PP ! 598: In VT102 mode, there are escape sequences to activate and deactivate ! 599: an alternate screen buffer, which is the same size as the display area ! 600: of the window. ! 601: When activated, the current screen is saved and replace with the alternate ! 602: screen. ! 603: Saving of lines scrolled off the top of the window is disabled until the ! 604: normal screen is restored. ! 605: The ! 606: .IR termcap (5) ! 607: entry for ! 608: .I xterm ! 609: allows the visual editor ! 610: .IR vi (1) ! 611: to switch to the alternate screen for editing, and restore the screen ! 612: on exit. ! 613: .PP ! 614: In either VT102 or Tektronix mode, there are escape sequences to change the ! 615: name of the windows to specify a new log file name. ! 616: .SH ENVIRONMENT ! 617: .I Xterm ! 618: sets the environment variables ``TERM'' and ``TERMCAP'' properly for the ! 619: size window you have created. ! 620: It also uses and sets the environment ! 621: variable ``DISPLAY'' to specify which bit map display terminal to use. ! 622: The environment variable ``WINDOWID'' is set to the X window id number ! 623: of the ! 624: .I xterm ! 625: window. ! 626: .SH "SEE ALSO" ! 627: resize(1), X(1), pty(4), tty(4) ! 628: .br ! 629: .I ``Xterm Control Sequences'' ! 630: .SH BUGS ! 631: XTERM WILL HANG FOREVER IF YOU TRY TO PASTE TOO MUCH TEXT AT ONE TIME !!! IT ! 632: IS BOTH PRODUCER AND CONSUMER FOR THE PTY AND SCREWS ITSELF. ! 633: Tektronix mode is **not** working in this version. ! 634: There is currently no way for a ! 635: .I xterm ! 636: window not to highlight itself when the mouse cursor enter it ! 637: while another window is the keyboard focus. ! 638: There needs to be a dialog box to allow entry of log file name ! 639: and the COPY file name. ! 640: Many of the options are not resettable after ! 641: .I xterm ! 642: starts. ! 643: .SH AUTHORS ! 644: Loretta Guarino Reid (DEC-UEG-WSL), ! 645: Joel McCormack (DEC-UEG-WSL), Terry Weissman (DEC-UEG-WSL), ! 646: Edward Moy (Berkeley), Ralph R. Swick (MIT-Athena), ! 647: Mark Vandevoorde (MIT-Athena), Bob McNamara (DEC-MAD), ! 648: Jim Gettys (MIT-Athena), Bob Scheifler (MIT-LCS), Doug Mink (SAO). ! 649: .sp ! 650: VMS and TOPS-20 are trademarks of Digital Equipment Corporation. ! 651: .sp ! 652: Copyright (c) 1984, 1985, 1986, 1987 by Massachusetts Institute of Technology. ! 653: .br ! 654: See ! 655: .IR X (1) ! 656: for a full copyright notice.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.