|
|
1.1 ! root 1: VERSION X10/6.6B ! 2: ------- -------- ! 3: ! 4: General ! 5: ------- ! 6: ! 7: vt102 and Tektronix 4015 emulation in separate windows, each with its own ! 8: mode menu (control middle button). ! 9: ! 10: Switching between each mode can be done via the menus, or with escape ! 11: sequences: ! 12: vt102 -- \E[?38h --> tek ! 13: tek -- \E\003 --> vt102 ! 14: ! 15: The windows hilite themselves when the mouse is with either window or when ! 16: one of these is the focus window. The windows unhilite when the mouse moves ! 17: out of the window and neither is the focus window. Hiliting appears as ! 18: windows with solid color borders and solid block cursors. Unhiliting appears ! 19: as windows with "grayed" borders and a rectangle cursor. ! 20: ! 21: The parser for both modes is table-driven and is much more efficient than the ! 22: original parsers. ! 23: ! 24: If UTMP is define in the Makefile, then each instance of xterm makes an entry ! 25: in /etc/utmp and thus appears with the "who" command. ! 26: ! 27: If both windows are visible and one is iconified, both disappear. Deiconifing ! 28: causes both to appear again. ! 29: ! 30: If the initial mode is vt102, /etc/termcap is searched, in order, for the ! 31: following termcaps, until one is found: ! 32: xterms, xterm, vt102, vt100, ansi, dumb ! 33: If the vt102 window happens to be 80x24, then xterms is added to the begining ! 34: of the list. If the initial mode is tek, the termcaps searched for are: ! 35: tek4015, tek4014, tek4013, tek4010, dumb ! 36: ! 37: The window size is passed to the operating system via TIOCSWINSZ (4.3) or ! 38: TIOCSSIZE (sun). A SIGWINCH siganl is sent if the vt102 window is resized. ! 39: ! 40: For login windows, menus are disabled until a user has successfully login. ! 41: ! 42: A new menu (xterm) has been added (control left button) that gives the version ! 43: number. The menu allows titlebars to be displayed (see below), the windows ! 44: redrawn, or for various signals to be sent to the process group of the command ! 45: xterm is executing. The signals include SIGCONT, SIGTSTP,SIGHUP, SIGINT, ! 46: SIGTERM and SIGKILL. ! 47: ! 48: Titlebars for the window can be turned on with .Xdefaults ! 49: "xterm.TitleBar on", with command line option -tb or via the xterm menu. ! 50: ! 51: The titlebar font is, by default, vtsingle. The font can be changed with ! 52: .Xdefaults "xterm.TitleFont helv12b" for helv12b font or via command line ! 53: option -ft helv12b. ! 54: ! 55: The titlebar look like Macintosh titlebars. A series of strips appears when the ! 56: window is hilited, and are gone when unhilited. ! 57: ! 58: Both windows are visible and the mouse cursor is in either window, only the ! 59: active window is hilited (before both windows were hilited). ! 60: ! 61: A time delay has been added for window hiliting/unhiliting so that the mouse ! 62: passing momentarily through a window will not cause it to hilite and then ! 63: unhilite when autoraise is on. ! 64: ! 65: Automatic raising of windows has been added, so that the window is automatically ! 66: raised (after the time delay) when the mouse enters a window. The mode is ! 67: turned on via .Xdefaults "xterm.AutoRaise on", via command line option -ar ! 68: or via the xterm menu. This is a dubious feature. ! 69: ! 70: Visual bell mode can be turned on via .Xdefaults "xterm.VisualBell on", via ! 71: command line option -vb and from the xterm menu. ! 72: ! 73: If the NOWINDOWMENU is not defined, then ! 74: Control right button activates a windows menu that lists the visible (named) ! 75: windows in back to front order reading down. Selecting a window name cause ! 76: that window to be raised to the top (useful for getting to a buried ! 77: window). This feature does not belong in xterm, and will be ! 78: completely removed in V11 of X, where window managers can be more intellegent. ! 79: ! 80: The tek window has the same name as the vt102 window, but with " (Tek)" ! 81: appended (before they were the same). ! 82: ! 83: During startup, xterm tries to create unique window names so that the ! 84: windows menu will not contain ambiguous windows. It does this by look ! 85: through the list of windows and if a name exist that is the same, " #N" ! 86: will be appended to make it unique (N is a number two or greater). ! 87: ! 88: Some reorganization of the code and data has been done to put more data in ! 89: the text segment so many xterm processes can share the (read-only) data, rather ! 90: than having n copies in core. ! 91: ! 92: There are several bug fixes including better sun compatibility and a problem ! 93: in the vt102 parse table. ! 94: ! 95: With some mods to libX.a, xterm solves a problem of running xterm on a remote ! 96: host with a local window, when the remote host uses a different keymap (like ! 97: running on a remote microvax on a sun). If the environment variable KEYBD ! 98: is set or the command line option "-kb name" is given, then a keymap file ! 99: with the given name is used, rather than the default of your .Xkeymap file. ! 100: Standard names for keymap files is yet to be made. (This option is turned on ! 101: via defining KEYBD in the Makefile.) ! 102: ! 103: Xterm now always creates its own icon(s), which includes the window's name. ! 104: The -i option now means startup showing the icon. The option #[+-]x[+-]y ! 105: means to position the icon there instead of centered within the window. ! 106: The bitmap within the icon show the current active mode (either vt102 or ! 107: tek). The icon reverse-videos with the windows. ! 108: ! 109: By default, the icons are a miniture window and the window title. The icon ! 110: can also be miniture versions of the window. This is activated with .Xdefaults ! 111: "xterm.ActiveIcon on", -ai from the command line, or from the xterm menu. ! 112: ! 113: The active icon does not normally allow input. A menu selection in the xterm ! 114: menu will allow input to the icon. ! 115: ! 116: When the mouse is in the stripped area of the titlebar, you can get any ! 117: of the three menus without pressing the control key. Clicking in the ! 118: actual title iconifies. Clicking in an icon deiconifies it. ! 119: ! 120: Many mode option on the command line allow a '+' instead of '-' to indicate ! 121: turning off the indicated mode. ! 122: ! 123: Color support has been improved, so that an unselected cursor is an empty ! 124: rectangle with the foreground color, and the selected cursor is a filled ! 125: rectangle with the cursor color. ! 126: ! 127: A better and faster menu package has been added that supports (Mac-like) ! 128: checkmarks and dimmed (disabled and grayed) item, as well as line separator ! 129: items. ! 130: ! 131: To conserve on resources, the unhilited border of the window(s) is now ! 132: always a gray pixmap, which is shared by the menu package. ! 133: ! 134: Logging capability has been added, in which all characters sent to the ! 135: xterm window are recorded. The mode is turned on by using .Xdefaults option ! 136: "xterm.Logging on", -l on the command line, from the xterm menu or the ! 137: escape sequence \E[?46h in vt102 mode. Logging is turned off through the ! 138: xterm menu or \E[?46l in vt102 mode. The default log file is XtermLog.XXXXX ! 139: (XXXXX is the process id of xterm) and is in the initial directory in which ! 140: xterm was started (the home directory for login xterms). Each logging start ! 141: appends to the end of the loggin file, and each logging stop closes the file. ! 142: ! 143: An alternate logging file may be given with .Xdefaults "xterm.LogFile file" ! 144: (file is the alternate filename) or with command line option "-lf file". ! 145: If the first character of the logfile name is `|', then the rest of the ! 146: name passed to the shell for execution and a pipe is created to the process. ! 147: In this case, each time the log is started, a new process is created and ! 148: when logging is turned off, the pipe is closed. Thus, a logfile name of ! 149: "| lpr", will send text to the line printer each time logging is turned off. ! 150: ! 151: Certain modes may be inhibited by specifying in the .Xdefaults file. A ! 152: change to the initial logging mode may be prevented with "xterm.LogInhibit on", ! 153: which will prevent changes to logging from the menu or from escape sequences. ! 154: "xterm.SignalInhibit on" disables the xterm menu signal sending (Continue is ! 155: still allowed). "xterm.TekInhibit on" prevents entering into Tektronix mode. ! 156: ! 157: As per edjames@eros, xterm sets the environment variable WINDOWID, which ! 158: contains the Window id of the initial window (normally vt102, but could be ! 159: the tek window if the -t option were specified). This "feature" is ! 160: bogus, as it may not always give you all information you need to ! 161: access a window. ! 162: ! 163: The title in the title bar may be changed with the \E]0;new title\007 escape ! 164: sequence. Any non-printing character terminates the title string. The ! 165: windows and icons are also renamed, and the icons are resized to fit the ! 166: new title. ! 167: ! 168: The log file may be changed with the \E]46;new log file\007 escape sequence. ! 169: If the log file name is empty, the default log file name is used. ! 170: ! 171: In visual bell mode, the icons now flash on receipt of a control-G. ! 172: ! 173: If xterm is iconified and new input comes in, a box is drawn around the ! 174: icon title. ! 175: ! 176: The bitmap used for the icons is now user definable. The VT102 bitmap may be ! 177: set with .Xdefaults "xterm.IconBitmap file" or with "-ib file" on the command ! 178: line. The Tek bitmap may be set with .Xdefaults "xterm.TekIconBitmap file" ! 179: or with "-it file" on the command line. These files are assumed to be ! 180: bitmap(1) format files. If only one bitmap file is specified, it is used for ! 181: both modes. If both are specified as null file names, then no bitmap is drawn. ! 182: ! 183: Normally, the title text of the icon is displayed to the right of the ! 184: bitmap. The text may be displayed under the bitmap by using .Xdefaults ! 185: "xterm.TextUnderIcon on" or with -ti on the command line. ! 186: ! 187: The mouse may be automatically warpped to the xterm window when it is ! 188: deiconified by using .Xdefaults "xterm.DeiconifyWarp on" or using -dw on ! 189: the command line. This is also of questionable merit. ! 190: ! 191: The standard error output used by xterm is now improved. Normally it will ! 192: be the same standard error when xterm is started. For login xterms ! 193: (-L specified) then the standard error will be to /dev/console. ! 194: ! 195: X error events are now intercepted so that xterm may cleanup before exiting ! 196: (like resetting the tty modes and clearing the /etc/utmp entry). ! 197: ! 198: VT102 ! 199: ----- ! 200: ! 201: vt102 emulation is much more complete than the original xterm. ! 202: ! 203: Underlined characters is now supported. ! 204: ! 205: A partial sun tty emulation is provided (x, y, w, h, c, r are numbers): ! 206: \E[3;x;yt move window to (x, y) ! 207: \E[4;w;ht resize window - width w, height h pixels ! 208: \E[5t raise window ! 209: \E[6t lower window ! 210: \E[7t redisplay window ! 211: \E[8;r;ct resize window - r rows, c columns ! 212: \E[13t send window position \E[3;x;yt ! 213: \E[14t send window size (pixel) \E[4;w;ht ! 214: \E[18t send window size (rows and columns) \E[8;r;ct ! 215: ! 216: The text for reexcuting (shift-left button), copy (shift-middle button-drag) ! 217: and paste (shift-right button) is now hilited by reverse video. ! 218: ! 219: Pasting text that was originally displayed as vt102 graphic characters now ! 220: returns the original ascii character (and not the internal representation). ! 221: ! 222: Text that is scrolled off the top of the window can be saved and is accessable ! 223: via a scrollbar. By default, saving is off and can be turned changed via ! 224: escape sequence \E[?43h (on) and \E[43l (off) or from the mode menu. The ! 225: scrollbar is normally off, but may be made visible with .Xdefault option ! 226: "xterm.ScrollBar on" or command line option -sb. The scrollbar state can ! 227: be changed via the mode menu or escape sequences \E[?42h (on) and \E[?42l ! 228: (off). ! 229: ! 230: The scrollbar is composed of three parts (from top down), the scroll button, ! 231: the save button and the scroll region. The scroll button changes what is ! 232: displayed in the window. Left button pressed in the scroll button causes ! 233: the window to move one line up (the text scrolls one line down). The right ! 234: button moves one line down. Shift left button moves one screenful up and shift ! 235: right button moves one screenful down. Control left button moves to the top ! 236: of the buffer, control right button moves to the bottom. The visible area ! 237: is shown graphically in the scroll region, with the (usually) dark region ! 238: that part of the buffer that appears in the window. Clicking the left or ! 239: right button in the scroll region cause the visible region to be position ! 240: with its top at the mouse position. The save button shows the state of saving ! 241: or not saving lines. By default, any input or output will return the ! 242: screen to the bottom. ! 243: ! 244: The default maximum number of lines saved off the top is 64, but can be ! 245: specified in .Xdefaults as "xterm.SaveLines 100" for 100 lines, or as ! 246: a command line option "-sl 100". ! 247: ! 248: The lines saved can be cleared via the mode menu. ! 249: ! 250: A margin bell can be turned on via .Xdefaults "xterm.MarginBell on", command ! 251: line option -mb or mode menu. The default number of columns from the right ! 252: margin is 10 and is settable via .Xdefaults "xterm.NMarginBell 15" for 15 ! 253: columns, or via command line option -nb 15. The mode may be changed by escape ! 254: sequence \E[?44h (on) and \E[?44l (off). ! 255: ! 256: To emulate the vt102 switching between 80 and 132 columns, the mode may ! 257: be turned on via .Xdefaults "xterm.C132 on", via command line option -132 or ! 258: via the mode menu. The mode may be changed by escape sequence \E[?40h (on) ! 259: and \E[?40l (off). ! 260: ! 261: A mode that fixes a bug in curses (e.g. when using "more" on lines that have ! 262: lines that print on the last column of the line and the next line begins with ! 263: a tab) can be turned on .Xdefaults "xterm.Curses on", command line option ! 264: -cu or via the mode menu. The mode may be changed by escape sequence ! 265: \E[?41h (on) and \E[?41l (off). ! 266: ! 267: Auto linefeed mode and auto repeat are supported. ! 268: ! 269: The mode menu is now more descriptive. ! 270: ! 271: Most Dec Private mode settings can be save away internally using \E[?ns, ! 272: where n is the same number to set or reset the Dec Private mode. The ! 273: mode can be restored using \E[?nr. This can be used in termcap for vi, for ! 274: example, to turn off saving of lines, but restore whatever the original ! 275: state was on exit. ! 276: ! 277: An optional status line (in reverse video) has been added to the bottom of ! 278: the vt102 window. The following escape sequences work on the status line: ! 279: \E[?S show status line ! 280: \E[?H hide status line ! 281: \E[?nT enter status line, at column n ! 282: \E[?F return to the position before entry into status line ! 283: \E[?E erase status line ! 284: Also, the status line may be turned on via .Xdefaults "xterm.StatusLine on", ! 285: the -st commandline option or from the mode menu. ! 286: ! 287: Reverse wraparound can be enabled with .Xdefaults "xterm.ReverseWrap on", via ! 288: command line option -rw or from the mode menu. Also the escape sequences ! 289: \E[?45h turns on reverse wraparound and \E[?45l turns it off. Reverse ! 290: wraparound only works when autowrap is also on and is useful, for instance, ! 291: when entering a long line that wraps to the shell and needing to erase ! 292: backwards to correct it. ! 293: ! 294: The scrollbar code has been modified to use fewer pixmaps, and should work ! 295: better on the GPX. ! 296: ! 297: An alternate screen buffer is now supported. Entry into the alternate screen ! 298: buffer with \E[?47h will automatically inhibit lines from being saved off the ! 299: top of the window and \E[?47l returns to the normal screen buffer and restores ! 300: the original state of line saving. The new termcap entry causes vi to use ! 301: the alternate screen buffer on entry and clears the alternate buffer before ! 302: returning to the regular buffer. ! 303: ! 304: If the normal font is specified and the bold font isn't, then the bold font ! 305: is automatically created be overstring, ala dcmartin@ingres. ! 306: ! 307: The scrollbar now has its own menu, available when the middle button is pressed ! 308: anywhere in the scrollbar. The menu entries originally in the mode menu having ! 309: to do with the scrollbar have been moved to the scrollbar menu (except the ! 310: Scrollbar entry, to initially display the scrollbar). ! 311: ! 312: The scroll bar may be repositioned automatically at the bottom when input comes ! 313: in by using .Xdefaults "xterm.ScrollInput on", using -si on the command line ! 314: or via the scrollbar menu. ! 315: ! 316: The scroll bar may be repositioned automatically at the bottom when a key is ! 317: pressed by using .Xdefaults "xterm.ScrollKey on", using -sk on the command line ! 318: or via the scrollbar menu. ! 319: ! 320: Normally the status line is displayed in reverse video. A normal-video status ! 321: line may be obtained by using .Xdefaults "xterm.StatusNormal on", with ! 322: -sn on the command line or via the mode menu, or may be controlled with the ! 323: escape sequences \E[?48h (on) and \E[?48l (off). In normal video mode, a ! 324: box is still drawn around the status line. ! 325: ! 326: Page scroll mode may be activated by using .Xdefaults "xterm.PageScroll on", ! 327: using -ps on the command line or via the mode menu, or may be control by the ! 328: escape sequences \E[?49h (on) and \E[?49l (off). In page scroll mode, ! 329: after a page of input has been displayed, further scrolling is disabled ! 330: and the text cursor is hidden. Typing a carriage return allows another ! 331: line to be scrolled (the return is discarded). Pressing the space bar (or any ! 332: other printable character) causes another page to be scrolled (the character ! 333: is discarded). Typing a control character scrolls another page, but the ! 334: control character is sent (e.g., your interrupt character). ! 335: ! 336: A page in page scroll mode is defined to be the number of lines in the current ! 337: scrolling region, minus the page overlap number. The page overlap is one by ! 338: default, but may be set by .Xdefaults "xterm.PageOverlap 3" or via the ! 339: "-po 3" command line option. ! 340: ! 341: Page scroll mode is automatically inhibited when using the alternate screen. ! 342: ! 343: The icon windows are now named, with " (icon)" appended. Thus, iconified ! 344: xterms now show up in the windows menu. ! 345: ! 346: Tektronix ! 347: --------- ! 348: ! 349: Tek mode is much more complete than the original. ! 350: ! 351: Tek standard two column mode is supported. ! 352: ! 353: Four different character sizes are supported and can be changed via the ! 354: tek menu. ! 355: ! 356: 5 line types are supported (solid, dotted, short dashed, long dashed and ! 357: dot dashed). ! 358: ! 359: All of the tek character sequences are stored and can be saved into a file ! 360: via the standard COPY escape sequence or from the mode menu. The file created ! 361: is named COPYyy-mm-dd.hh:mm:ss (COPY plus the date and time) and is placed ! 362: in the initial directory in which xterm was started. Login xterms use the ! 363: users home directory. ! 364: ! 365: When the tek window is being refreshed, the mouse cursor shows a clock. ! 366: ! 367: The X geometry of the Tek window can be given on the command line (independently ! 368: of the VT102 window) by using %geometry (`%' rather than `='). ! 369: ! 370: In GIN mode, pressing a key will send the key and the mouse coordinates of ! 371: the cross cursor, similar to standard Tek GIN mode. Pressing a mouse button ! 372: instead will send the character `l', `m' or `r' depending on whether the ! 373: left, middle or right button was pressed, respectively. If the shift key was ! 374: down when the button was pressed, the corresponding upper case character is ! 375: sent. To distinquish a button press from a key press, the high bit of the ! 376: character is set, but this is only useful if the tty mode is set to RAW to ! 377: pass all 8 bits.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.