Annotation of 43BSDTahoe/new/X/xterm/CHANGES, revision 1.1.1.1

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.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.