|
|
researchv9-SUN3(old)
VERSION X10/6.6A ------- ------- General ------- vt102 and Tektronix 4015 emulation in separate windows, each with its own mode menu (control middle button). Switching between each mode can be done via the menus, or with escape sequences: vt102 -- \E[?38h --> tek tek -- \E\003 --> vt102 The windows hilite themselves when the mouse is with either window or when one of these is the focus window. The windows unhilite when the mouse moves out of the window and neither is the focus window. Hiliting appears as windows with solid color borders and solid block cursors. Unhiliting appears as windows with "grayed" borders and a rectangle cursor. The parser for both modes is table-driven and is much more efficient than the original parsers. If UTMP is define in the Makefile, then each instance of xterm makes an entry in /etc/utmp and thus appears with the "who" command. If both windows are visible and one is iconified, both disappear. Deiconifing causes both to appear again. If the initial mode is vt102, /etc/termcap is searched, in order, for the following termcaps, until one is found: xterm, vt102, vt100, ansi, dumb If the vt102 window happens to be 80x24, then xterms is added to the begining of the list. If the initial mode is tek, the termcaps searched for are: tek4015, tek4014, tek4013, tek4010, dumb The window size is passed to the operating system via TIOCSWINSZ (4.3) or TIOCSSIZE (sun). A SIGWINCH siganl is sent if the vt102 window is resized. For login windows, menus are disabled until a user has successfully login. (||| This isn't currently true. ) A new menu (xterm) has been added (control left button) that gives the version number. The menu allows titlebars to be displayed (see below), the windows redrawn, or for various signals to be sent to the process group of the command xterm is executing. The signals include SIGCONT, SIGTSTP,SIGHUP, SIGINT, SIGTERM and SIGKILL. Titlebars for the window can be turned off with .Xdefaults "xterm.TitleBar off", with command line option -tb or via the xterm menu. The titlebar font is, by default, vtsingle. The font can be changed with .Xdefaults "xterm.TitleFont helv12b" for helv12b font or via command line option -ft helv12b. The titlebar look like Macintosh titlebars. A series of strips appears when the window is hilited, and are gone when unhilited. Both windows are visible and the mouse cursor is in either window, only the active window is hilited (before both windows were hilited). Visual bell mode can be turned on via .Xdefaults "xterm.VisualBell on", via command line option -vb and from the xterm menu. The tek window has the same name as the vt102 window, but with " (Tek)" appended (before they were the same). There are several bug fixes including better sun compatibility and a problem in the vt102 parse table. Xterm now always creates its own icon(s), which includes the window's name. The -i option now means startup showing the icon. The option #[+-]x[+-]y means to position the icon there instead of centered within the window. The icon reverse-videos with the windows. When the mouse is in the stripped area of the titlebar, you can get any of the two menus without pressing the control key. Clicking in the actual title iconifies. Clicking in an icon deiconifies it. Many mode option on the command line allow a '+' instead of '-' to indicate turning off the indicated mode. Color support has been improved, so that an unselected cursor is an empty rectangle with the foreground color, and the selected cursor is a filled rectangle with the cursor color. A better and faster menu package has been added that supports (Mac-like) checkmarks and dimmed (disabled and grayed) item, as well as line separator items. To conserve on resources, the unhilited border of the window(s) is now always a gray pixmap, which is shared by the menu package. Logging capability has been added, in which all characters sent to the xterm window are recorded. The mode is turned on by using .Xdefaults option "xterm.Logging on", -l on the command line, from the xterm menu or the escape sequence \E[?46h in vt102 mode. Logging is turned off through the xterm menu or \E[?46l in vt102 mode. The default log file is XtermLog.XXXXX (XXXXX is the process id of xterm) and is in the initial directory in which xterm was started (the home directory for login xterms). Each logging start appends to the end of the loggin file, and each logging stop closes the file. An alternate logging file may be given with .Xdefaults "xterm.LogFile file" (file is the alternate filename) or with command line option "-lf file". If the first character of the logfile name is `|', then the rest of the name passed to the shell for execution and a pipe is created to the process. In this case, each time the log is started, a new process is created and when logging is turned off, the pipe is closed. Thus, a logfile name of "| lpr", will send text to the line printer each time logging is turned off. Certain modes may be inhibited by specifying in the .Xdefaults file. A change to the initial logging mode may be prevented with "xterm.LogInhibit on", which will prevent changes to logging from the menu or from escape sequences. "xterm.SignalInhibit on" disables the xterm menu signal sending (Continue is still allowed). "xterm.TekInhibit on" prevents entering into Tektronix mode. As per edjames@eros, xterm sets the environment variable WINDOWID, which contains the Window id of the initial window (normally vt102, but could be the tek window if the -t option were specified). This "feature" is bogus, as it may not always give you all information you need to access a window. The title in the title bar may be changed with the \E]0;new title\007 escape sequence. Any non-printing character terminates the title string. The windows and icons are also renamed, and the icons are resized to fit the new title. The log file may be changed with the \E]46;new log file\007 escape sequence. If the log file name is empty, the default log file name is used. In visual bell mode, the icons now flash on receipt of a control-G. If xterm is iconified and new input comes in, a box is drawn around the icon title. The bitmap used for the icons is now user definable. The VT102 bitmap may be set with .Xdefaults "xterm.IconBitmap file" or with "-ib file" on the command line. The Tek bitmap may be set with .Xdefaults "xterm.TekIconBitmap file" or with "-it file" on the command line. These files are assumed to be bitmap(1) format files. Normally, the title text of the icon is displayed to the right of the bitmap. The text may be displayed under the bitmap by using .Xdefaults "xterm.TextUnderIcon on" or with -ti on the command line. The mouse may be automatically warpped to the xterm window when it is deiconified by using .Xdefaults "xterm.DeiconifyWarp on" or using -dw on the command line. This is also of questionable merit. The standard error output used by xterm is now improved. Normally it will be the same standard error when xterm is started. For login xterms (-L specified) then the standard error will be to /dev/console. X error events are now intercepted so that xterm may cleanup before exiting (like resetting the tty modes and clearing the /etc/utmp entry). VT102 ----- vt102 emulation is much more complete than the original xterm. Underlined characters is now supported. The text for selection and extension is now hilited by reverse video. Pasting text that was originally displayed as vt102 graphic characters now returns the original ascii character (and not the internal representation). Text that is scrolled off the top of the window can be saved and is accessable via a scrollbar. The scrollbar is normally off, but may be made visible with .Xdefault option "xterm.ScrollBar on" or command line option -sb. The scrollbar state can be changed via the mode menu. The default maximum number of lines saved off the top is 64, but can be specified in .Xdefaults as "xterm.SaveLines 100" for 100 lines, or as a command line option "-sl 100". A margin bell can be turned on via .Xdefaults "xterm.MarginBell on", command line option -mb or mode menu. The default number of columns from the right margin is 10 and is settable via .Xdefaults "xterm.NMarginBell 15" for 15 columns, or via command line option -nb 15. The mode may be changed by escape sequence \E[?44h (on) and \E[?44l (off). To emulate the vt102 switching between 80 and 132 columns, the mode may be turned on via .Xdefaults "xterm.C132 on", via command line option -132 or via the mode menu. The mode may be changed by escape sequence \E[?40h (on) and \E[?40l (off). A mode that fixes a bug in curses (e.g. when using "more" on lines that have lines that print on the last column of the line and the next line begins with a tab) can be turned on .Xdefaults "xterm.Curses on", command line option -cu or via the mode menu. The mode may be changed by escape sequence \E[?41h (on) and \E[?41l (off). Auto linefeed mode and auto repeat are supported. The mode menu is now more descriptive. Most Dec Private mode settings can be save away internally using \E[?ns, where n is the same number to set or reset the Dec Private mode. The mode can be restored using \E[?nr. This can be used in termcap for vi, for example, to turn off saving of lines, but restore whatever the original state was on exit. An optional status line (in reverse video) has been added to the bottom of the vt102 window. The following escape sequences work on the status line: \E[?S show status line \E[?H hide status line \E[?nT enter status line, at column n \E[?F return to the position before entry into status line \E[?E erase status line Also, the status line may be turned on via .Xdefaults "xterm.StatusLine on", the -st commandline option or from the mode menu. Reverse wraparound can be enabled with .Xdefaults "xterm.ReverseWrap on", via command line option -rw or from the mode menu. Also the escape sequences \E[?45h turns on reverse wraparound and \E[?45l turns it off. Reverse wraparound only works when autowrap is also on and is useful, for instance, when entering a long line that wraps to the shell and needing to erase backwards to correct it. An alternate screen buffer is now supported. Entry into the alternate screen buffer with \E[?47h will automatically inhibit lines from being saved off the top of the window and \E[?47l returns to the normal screen buffer and restores the original state of line saving. The new termcap entry causes vi to use the alternate screen buffer on entry and clears the alternate buffer before returning to the regular buffer. If the normal font is specified and the bold font isn't, then the bold font is automatically created be overstring, ala dcmartin@ingres. The scroll bar may be repositioned automatically at the bottom when input comes in by using .Xdefaults "xterm.ScrollInput on", using -si on the command line or via the scrollbar menu. The scroll bar may be repositioned automatically at the bottom when a key is pressed by using .Xdefaults "xterm.ScrollKey on", using -sk on the command line or via the scrollbar menu. Normally the status line is displayed in reverse video. A normal-video status line may be obtained by using .Xdefaults "xterm.StatusNormal on", with -sn on the command line or via the mode menu, or may be controlled with the escape sequences \E[?48h (on) and \E[?48l (off). In normal video mode, a box is still drawn around the status line. Tektronix --------- Tek mode is much more complete than the original. Tek standard two column mode is supported. Four different character sizes are supported and can be changed via the tek menu. 5 line types are supported (solid, dotted, short dashed, long dashed and dot dashed). All of the tek character sequences are stored and can be saved into a file via the standard COPY escape sequence or from the mode menu. The file created is named COPYyy-mm-dd.hh:mm:ss (COPY plus the date and time) and is placed in the initial directory in which xterm was started. Login xterms use the users home directory. When the tek window is being refreshed, the mouse cursor shows a clock. The X geometry of the Tek window can be given on the command line (independently of the VT102 window) by using %geometry (`%' rather than `='). In GIN mode, pressing a key will send the key and the mouse coordinates of the cross cursor, similar to standard Tek GIN mode. Pressing a mouse button instead will send the character `l', `m' or `r' depending on whether the left, middle or right button was pressed, respectively. If the shift key was down when the button was pressed, the corresponding upper case character is sent. To distinquish a button press from a key press, the high bit of the character is set, but this is only useful if the tty mode is set to RAW to pass all 8 bits.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.