Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ xterm(X) — OpenDesktop 1.1.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought



     xterm(X)           X Version 11 (11 July 1990)           xterm(X)



     NAME
          xterm - terminal emulator for X

     SYNOPSIS
          xterm [-toolkitoption ...] [-option ...]

     DESCRIPTION
          The xterm client provides DEC VT102 and Tektronix 4014-
          compatible terminal emulation so you can run programs that
          cannot use the window system directly.  If the underlying
          operating system supports terminal resizing capabilities,
          xterm uses these capabilities to notify programs running in
          the window whenever it is resized.

          The VT102 and Tektronix 4014 terminals operate separate
          windows, so you can edit text in one and view graphics in
          the other simultaneously.  xterm restricts Tektronix
          graphics to the largest box that fits in the window while
          maintaining the correct aspect ratio (height:width) for a
          4014. This box is located in the upper left area of the
          window.

          Although you can display both windows simultaneously, one of
          them is considered the "active" window for receiving
          keyboard input and terminal output.  The active window
          contains the text cursor, and its border is highlighted
          whenever the pointer is in either window.  You can choose
          the active window through escape sequences, the Modes menu
          in the VT102 window, and the Tektronix menu in the 4014
          window.

     OPTIONS
          The term terminal emulator accepts all of the standard X
          Toolkit command-line options along with the additional
          options listed below.  To restore an option to its default
          value, type  + instead of  -.

          -help
              Prints out a message describing the options to xterm.

          -132
              Causes the DECCOLM escape sequence to be recognized, and
              the xterm window resizes appropriately.  (By default,
              the VT102 DECCOLM escape sequence that switches between
              80- and 132- column mode is ignored.)

          -ah Highlights the text cursor and borders.  By default,
              xterm displays a hollow text cursor whenever the focus
              is lost or the pointer leaves the window.

          -bnumber.
              Specifies the size of the inner border (the distance



     Page 1                                           (printed 7/3/90)






     xterm(X)           X Version 11 (11 July 1990)           xterm(X)



              between the outer edge of the characters and the window
              border) in pixels.  The default is 2.

          -cc characterclassrange:value[,...]
              Sets character classes for selecting words.  See
              "Character Classes" for more information.

          -cr color
              Specifies the color for the text cursor.  The default
              uses the same foreground color used for text.

          -cu Fixes a bug in the curses cursor motion package.  This
              bug occurs when you use more on a file containing a line
              exactly the width of the window followed by another line
              beginning with a tab.  Without this option, the leading
              tabs disappear; -cu causes them to be displayed
              correctly.

          -e program [arguments ...]
              Specifies the program (and its command-line arguments)
              to be run in the xterm window.  It also sets the window
              title and icon name to be the basename of the program
              being executed if neither -T nor -n are given on the
              command line.  This must be the last option on the
              command line.

          -fb font
              Specifies the font for displaying bold text. This font
              must be the same height and width as the normal font.
              If you specify only one of the normal or bold fonts, it
              is used as the normal font, 6x13, and xterm produces the
              bold font by overstriking this font.  The default bold
              font is "vtbold."

          -j  Indicates that xterm should do jump scrolling.
              Normally, text is scrolled one line at a time; this
              option allows xterm to move multiple lines at a time so
              that it doesn't fall as far behind.  Its use is strongly
              recommended since it makes xterm much faster when
              scanning through large amounts of text.  The VT100
              escape sequences for enabling and disabling smooth
              scrolling, as well as the Modes menu, can be used to
              turn this feature on or off.

          -l  Makes xterm send all terminal output to a log file as
              well as to the screen.  You can also enable or disable
              this option using the xterm X11 menu.

          -lf filename
              Specifies the name of the file to which the output log
              described above is written.  If filename begins with a
              pipe symbol (|), xterm assumes the rest of the string is



     Page 2                                           (printed 7/3/90)






     xterm(X)           X Version 11 (11 July 1990)           xterm(X)



              a command used as the end point of a pipe.  The default
              filename is ``XtermLog.XXXXX'' (where XXXXX is the
              process ID of xterm and is created in the directory from
              which xterm was started or the user's home directory in
              the case of a login window).

          -ls Specifies that the shell started in the xterm window is
              a login shell (i.e., the first character of argv[0] is a
              dash, indicating to the shell that it should read the
              user's .login or .profile).

          +ls Indicates that the shell is a normal subshell, not a
              login shell.

          -mb Rings a margin bell when you type near the right margin.
              You can turn this option on and off from the Modes menu.

          -ms color
              Specifies the color for the mouse cursor.  xterm uses
              the foreground color as the default.  Some servers may    |
              not support this option.

          -nb number
              Specifies the number of characters from the right end of
              a line at which the margin bell rings (if you have
              enabled it). The default number of characters is 10.

          -rw Permits reverse-wraparound, which allows the cursor to
              back up from the leftmost column of one line to the
              rightmost column of the previous line.  This feature is
              very useful for editing long shell command lines.  You
              can turn this option on and off from the Modes menu.

          -s  Permits xterm to scroll asynchronously, which means the
              screen does not have to be kept completely up-to-date
              while scrolling.  This option allows xterm to run faster
              when network traffic is very high and is typically
              useful when running across a very large internet or many
              gateways.  The default is synchronous scrolling.

          -sb Saves some number of lines (specified by the -sl option)
              as they scroll off the top of the window and displays a
              scroll bar so you can view those lines.  You can turn
              this option on and off from the Modes menu.

          -sf Generates Sun function key escape codes instead of
              standard escape codes.

          -si Indicates that output to a window should not
              automatically reposition the screen to the bottom of the
              scrolling region. You can turn this option on and off
              from the Modes menu.



     Page 3                                           (printed 7/3/90)






     xterm(X)           X Version 11 (11 July 1990)           xterm(X)



          -sk Specifies that when you press a key while using the
              scroll bar to review previous text lines, xterm
              repositions the window automatically at the bottom of
              the scroll region.

          -sl number
              Specifies the number of scrolled lines to save.  The
              default is 64.

          -t  Starts xterm in Tektronix mode, rather than the default,
              which is VT102 mode.  You can use the Modes menu to
              switch between the two windows.

          -tm string
              Specifies a series of terminal-setting keywords followed
              by the characters to be bound to those functions. This
              option works like the stty program.  Allowable keywords
              include: intr, quit, erase, kill, eof, eol, swtch,
              start, stop, brk, susp, dsusp, rprnt, flush, weras, and
              lnext.  You can specify control characters as ^char
              (e.g., ^c or ^u) and you can use ^? to indicate delete.

          -tn name
              Specifies the terminal type to be set in the TERM
              environment variable.  This terminal type must exist in
              the termcap database and should have li# and co#
              entries.

          -ut Indicates that xterm should not write a record into the
              the system log file /etc/utmp.

          -vb Specifies a visual bell.  Instead of ringing the
              terminal bell whenever a Ctrl-G is received, xterm
              causes the window to flash.

          -C  Indicates that this window should receive console
              output.  This option is not supported on all servers.

          -Sccn
              Specifies the last two letters of the name of a
              pseudoterminal to use in slave mode.  This allows xterm
              to be used as an input and output channel for an
              existing program and is sometimes used in specialized
              applications.

          The following command-line arguments are provided for
          compatibility with older versions of xterm.  They may not be
          supported in the next release, since the X Toolkit provides
          standard options that accomplish the same task.

          %geom
              Specifies the preferred size and position of the



     Page 4                                           (printed 7/3/90)






     xterm(X)           X Version 11 (11 July 1990)           xterm(X)



              Tektronix window.  It is shorthand for specifying the
              *tekGeometry resource.

          #geom
              Specifies the preferred position of the icon window.  It
              is shorthand for specifying the *iconGeometry resource.

          -T string
              Specifies the title for xterm's windows.  It is
              equivalent to -title.

          -n string
              Specifies the icon name for xterm's windows.  It is
              shorthand for specifying the *iconName resource.  Note
              that this is not the same as the toolkit option -name
              (see below).  The default icon name is the application
              name.

          -r  Simulates reverse video by swapping the foreground and
              background colors.  It is equivalent to
              -reversevideo or -rv.

          -w number
              Specifies the width of the window border in pixels.  It
              is equivalent to -borderwidth or -bw.

          -L  Indicates that xterm was started by init.  In this mode,
              xterm does not try to allocate a new pseudoterminal
              because init has already done so.  In addition, the
              system program getty is run instead of the user's shell.
              This option has been superseded by the new xdm program;
              do not use this option.

          The following standard X Toolkit command-line arguments are
          commonly used with xterm:

          -bg color
              Specifies the color for the window background.  The
              default is "white."

          -bd color
              Specifies the color for the window border.  The default
              is "black."

          -bw number
              Specifies the width of the window border in pixels.

          -fg color
              Specifies the color for displaying text.  The default is
              "black."

          -fn font



     Page 5                                           (printed 7/3/90)






     xterm(X)           X Version 11 (11 July 1990)           xterm(X)



              Specifies the font for displaying normal text.  The
              default is "fixed."

          -name name
              Specifies the application name under which resources are
              to be obtained, rather than the default executable file
              name.  Name should not contain  a period (.)  or an
              asterisk (*).

          -title string
              Specifies the window title string, which the window
              manager can display at your choosing.  The default title
              is the command line specified after the -e option, if
              any; otherwise, it's the application name.

          -rv Simulates reverse video by swapping the foreground and
              background colors.

          -geometry geometry
              Specifies the preferred size and position of the VT102
              window in characters; see X(X).

          -display display
              Specifies the X server to contact; see X(X).

          -xrm resourcestring
              Specifies a resource string.  This is especially useful
              for setting resources that do not have separate
              command-line options.

          -iconic
              Starts xterm as an icon rather than as the normal
              window.

     X DEFAULTS
          The program understands all of the core X Toolkit resource
          names and classes as well as the following:

          iconGeometry (class IconGeometry)
              Specifies the preferred size and position of the
              application when it is iconified.  This may not work
              with all window managers.

          termName (class TermName)
              Specifies the terminal type name to be set in the TERM
              environment variable.

          title (class Title)
              Specifies a string the window manager can use when
              displaying the xterm application.

          ttyModes (class TtyModes)



     Page 6                                           (printed 7/3/90)






     xterm(X)           X Version 11 (11 July 1990)           xterm(X)



              Specifies a string containing terminal-setting keywords
              and the characters to which you can bind them.  The
              xterm emulator ignores this option if you specify -L,
              since getty resets the terminal.  Allowable keywords
              include: intr, quit, erase, kill, eof, eol, swtch,
              start, stop, brk, susp, dsusp, rprnt, flush, weras, and
              lnext.  You can specify control characters as ^char
              (e.g., ^c or ^u) and you can use ^? used to indicate
              delete.  This is very useful for overriding the default
              terminal settings without having to do an stty every
              time you start an xterm session.

          utmpInhibit (class UtmpInhibit)
              Specifies whether or not xterm should try to record your
              terminal in /etc/utmp.

          sunFunctionKeys (class SunFunctionKeys)
              Generates Sun function key escape codes for function
              keys instead of standard escape sequences.


          The following resources are specified as part of the vt100
          widget (class VT100):

          allowSendEvents (class AllowSendEvents)
              Specifies whether or not synthetic key and button events
              (generated using the X protocol SendEvent request)
              should be interpreted or discarded.  The default is
              "false" meaning they are discarded.  Note that allowing
              such events creates a very large security hole.

          alwaysHighlight (class AlwaysHighlight)
              Specifies whether or not xterm always displays a
              highlighted text cursor.  By default, a hollow text
              cursor is displayed whenever the pointer moves out of
              the window or the window loses the input focus.

          font (class Font)
              Specifies the name of the normal font.  The default is
              "vtsingle."

          boldFont (class Font)
              Specifies the name of the bold font.  The default is
              "vtbold."

          c132 (class C132)
              Specifies whether or not xterm should honor the VT102
              DECCOLM escape sequence.  The default is "false."

          charClass (class CharClass)
              Specifies comma-separated lists of character class
              bindings of the form [low-]high:value.  You use these to



     Page 7                                           (printed 7/3/90)






     xterm(X)           X Version 11 (11 July 1990)           xterm(X)



              determine which sets of characters should be treated the
              same when doing cut and paste.  See the section on
              specifying character classes.

          curses (class Curses)
              Enables the curses bug fix.  The default is "false."

          background (class Background)
              Specifies the color to use for the background of the
              window.  The default is "white."

          foreground (class Foreground)
              Sets the text color.  Setting the class name instead of
              the instance name is an easy way to have everything that
              would normally appear in the "text" color change color.
              The default is "black."

          cursorColor (class Foreground)
              Specifies the color for the text cursor.  The default is
              "black."

          geometry (class Geometry)
              Specifies the preferred size and position of the VT102
              window.

          tekGeometry (class Geometry)
              Specifies the preferred size and position of the
              Tektronix window.

          internalBorder (class BorderWidth)
              Specifies the number of pixels between the characters
              and the window border.  The default is 2.

          jumpScroll (class JumpScroll)
              Enables jump scrolling.  The default is "false."

          logFile (class Logfile)
              Names the file to which a terminal session is logged.
              The default is XtermLog.XXXXX (where XXXXX is the
              process ID of xterm).

          logging (class Logging)
              Specifies whether or not a terminal session should be
              logged.  The default is "false."

          logInhibit (class LogInhibit)
              Inhibits terminal session logging.  The default is
              "false."

          loginShell (class LoginShell)
              Starts a login shell.  The default is "false."




     Page 8                                           (printed 7/3/90)






     xterm(X)           X Version 11 (11 July 1990)           xterm(X)



          marginBell (class MarginBell)
              Rings a margin bell when you type near the right margin.
              The default is "false."

          multiScroll (class MultiScroll)
              Permits asynchronous scrolling.  The default is "false."

          nMarginBell (class Column)
              Specifies how many characters away from the right margin
              you have to be for the margin bell to ring.

          pointerColor (class Foreground)
              Specifies the pointer color.  The default is "black."     |
              Some servers may not support this resource.               |

          pointerShape (class Cursor)
              Specifies the shape of the pointer.  The default is
              "xterm."

          reverseVideo (class ReverseVideo)
              Simulates reverse video.  The default is "false."

          reverseWrap (class ReverseWrap)
              Enables reverse-wraparound.  The default is "false."

          saveLines (class SaveLines)
              Specifies how many lines xterm should save beyond the
              top of the screen when you turn on the scroll bar.  The
              default is 64.

          scrollBar (class ScrollBar)
              Displays the scroll bar.  The default is "false."

          scrollInput (class ScrollCond)
              Specifies that output to the terminal makes the scroll
              bar go to the bottom of the scrolling region.  The
              default is "true."

          scrollKey (class ScrollCond)
              Makes the scroll bar go to the bottom of the scrolling
              region when you press a key.  The default is "false."

          signalInhibit (class SignalInhibit)
              Inhibits the entries in the xterm X11 menu from sending
              signals to xterm.  The default is "false."

          tekInhibit (class TekInhibit)
              Inhibits Tektronix mode.  The default is "false."

          tekStartup (class TekStartup)
              Starts up xterm in Tektronix mode.  The default is
              "false."



     Page 9                                           (printed 7/3/90)






     xterm(X)           X Version 11 (11 July 1990)           xterm(X)



          titeInhibit (class TiteInhibit)
              Removes ti or te termcap entries (used to switch between
              alternate screens on start-up of many screen-oriented
              programs) from the TERMCAP string.

          translations (class Translations)
              Specifies the key and button bindings for menus,
              selections, programmed strings, etc.  See KEY/BUTTON
              BINDINGS below.

          visualBell (class VisualBell)
              Specifies a visible bell (i.e., flashing window) instead
              of an audible bell when the terminal receives a Ctrl-G.
              The default is "false."


          The following resources are specified as part of the tek4014
          widget (class Tek4014):

          width (class Width)
              Specifies the width of the Tektronix window in pixels.

          height (class Height)
              Specifies the height of the Tektronix window in pixels.


          The following resources are specified as part of the menu
          widget:

          menuBorder (class MenuBorder)
              Specifies the size of the menu border in pixels.  The
              default is 2.

          menuFont (class Font)
              Specifies the name of the font for displaying menu
              items.

          menuPad (class MenuPad)
              Specifies the number of pixels between menu items and
              the menu border.  The default is 3.


          The following resources are useful when specified for the
          Athena Scrollbar widget:

          thickness (class Thickness)
              Specifies the width of the scroll bar in pixels.

          background (class Background)
              Specifies the color for the scroll bar background.

          foreground (class Foreground)



     Page 10                                          (printed 7/3/90)






     xterm(X)           X Version 11 (11 July 1990)           xterm(X)



              Specifies the color for the scroll bar foreground.  The
              "thumb" of the scroll bar is a simple checkerboard
              pattern alternating pixels for foreground and background
              color.

     EMULATIONS
          The VT102 emulation is fairly complete, but it does not
          support the blinking character attribute or the double-wide
          and double-size character sets.  The termcap entries that
          work with xterm include xterm, vt102, vt100, and ansi, and
          xterm automatically searches the termcap file in this order
          for these entries and then sets the TERM and the TERMCAP
          environment variables.

          You can modify many of the special xterm features (like
          logging) under program control through a set of escape
          sequences different from the standard VT102 escape
          sequences.

          The Tektronix 4014 emulation is also fairly good.  The xterm
          emulator supports four different font sizes and five
          different line types.  The xterm emulator records Tektronix
          text and graphics commands internally, and you can write
          them to a file by sending the COPY escape sequence (or
          through the Tektronix menu; see below).  The name of the
          file will be COPYyy-MM-dd.hh:mm:ss, where yy, MM, dd, hh, mm
          , and ss are the year, month, day, hour, minute, and second
          when the COPY was performed. (xterm creates the file in the
          directory where you started xterm, or your home directory
          for a login xterm ).

     XTERM KEYBOARD MAPPINGS
                               Function Keys
     Key  Normal   Shift   Ctrl    Alt      S+C      A+S      A+C      A+S+C

     F1   ^[[11~  ^[[41~  ^[[71~  ^[[131~  ^[[101~  ^[[161~  ^[[191~  ^[[221~
     F2   ^[[12~  ^[[42~  ^[[72~  ^[[132~  ^[[102~  ^[[162~  ^[[192~  ^[[222~
     F3   ^[[13~  ^[[43~  ^[[73~  ^[[133~  ^[[103~  ^[[163~  ^[[193~  ^[[223~
     F4   ^[[14~  ^[[44~  ^[[74~  ^[[134~  ^[[104~  ^[[164~  ^[[194~  ^[[224~
     F5   ^[[15~  ^[[45~  ^[[75~  ^[[135~  ^[[105~  ^[[165~  ^[[195~  ^[[225~
     F6   ^[[16~  ^[[46~  ^[[76~  ^[[136~  ^[[106~  ^[[166~  ^[[196~  ^[[226~
     F7   ^[[17~  ^[[47~  ^[[77~  ^[[137~  ^[[107~  ^[[167~  ^[[197~  ^[[227~
     F8   ^[[18~  ^[[48~  ^[[78~  ^[[138~  ^[[108~  ^[[168~  ^[[198~  ^[[228~
     F9   ^[[19~  ^[[49~  ^[[79~  ^[[139~  ^[[109~  ^[[169~  ^[[199~  ^[[229~
     F10  ^[[20~  ^[[50~  ^[[80~  ^[[140~  ^[[110~  ^[[170~  ^[[200~  ^[[230~
     F11  ^[[21~  ^[[51~  ^[[81~  ^[[141~  ^[[111~  ^[[171~  ^[[201~  ^[[231~
     F12  ^[[22~  ^[[52~  ^[[82~  ^[[142~  ^[[112~  ^[[172~  ^[[202~  ^[[232~
     F13  ^[[23~  ^[[53~  ^[[83~  ^[[143~  ^[[113~  ^[[173~  ^[[203~  ^[[233~
     F14  ^[[24~  ^[[54~  ^[[84~  ^[[144~  ^[[114~  ^[[174~  ^[[204~  ^[[234~
     F15  ^[[25~  ^[[55~  ^[[85~  ^[[145~  ^[[115~  ^[[175~  ^[[205~  ^[[235~
     F16  ^[[26~  ^[[56~  ^[[86~  ^[[146~  ^[[116~  ^[[176~  ^[[206~  ^[[236~
     F17  ^[[27~  ^[[57~  ^[[87~  ^[[147~  ^[[117~  ^[[177~  ^[[207~  ^[[237~



     Page 11                                          (printed 7/3/90)






     xterm(X)           X Version 11 (11 July 1990)           xterm(X)



     F18  ^[[28~  ^[[58~  ^[[88~  ^[[148~  ^[[118~  ^[[178~  ^[[208~  ^[[238~
     F19  ^[[29~  ^[[59~  ^[[89~  ^[[149~  ^[[119~  ^[[179~  ^[[209~  ^[[239~
     F20  ^[[30~  ^[[60~  ^[[90~  ^[[150~  ^[[120~  ^[[180~  ^[[210~  ^[[240~

          F15 and F16 are also known as Help and Menu on a VT220.

          The keypad on the PC/AT key serves three  purposes:  Editing
          Keypad, Numeric Keypad and Cursor Keys.

          On a VT100, the cursor keys have two modes: Application  and
          Normal.   On a VT100, the numeric keypad also has two modes:
          Application and Normal.

          The PC/AT keypad has five modes as follows:

          Editing  Cursor    Applic Cursor  Shift-Normal KP    Shift-Applic KP

          Up       ^[[A      ^[OA           8                  ^[Ox
          Down     ^[[B      ^[OB           2                  ^[Or
          Right    ^[[C      ^[OC           6                  ^[Ov
          Left     ^[[D      ^[OD           4                  ^[Ot
          Find     ^[[1~
          Insert   ^[[2~                    0                  ^[Op
          Delete   ^[[3~                    .                  ^[On
          Select   ^[[4~
          PgUp     ^[[5~                    9                  ^[Oy
          PgDn     ^[[6~                    3                  ^[Os
          End      ^[[7~                    1                  ^[Oq
          Home     ^[[8~                    7                  ^[Ow

          Num Lock has no effect on a PC keyboard.  On an AT keyboard,
          it  will  map  the  Editing  and Cursor keypads to the shift
          columns above.

          The Shift key has no effect in Application Cursor Mode.

          PgUp and PgDn are also known as Prior and Prev on a VT220.

          Note that Delete is mapped to the kill character by default.

     MOUSE USAGE
          Once xterm creates the VT102 window, you can select text and
          copy it within the same or other windows.

          You make selections by  using  the  mouse  buttons  with  no
          modifiers   and  the  Shift  key.   The  assignment  of  the
          functions described below to keys and buttons may be changed
          through  the  resource  database; see the section on key and
          button bindings below.

          Mouse button one (usually left)  saves  text  into  the  cut
          buffer.   To  do  this,  move  the mouse to beginning of the



     Page 12                                          (printed 7/3/90)






     xterm(X)           X Version 11 (11 July 1990)           xterm(X)



          text, hold the button down while moving the mouse to the end
          of  the  text, and release the button.  When you release the
          button, xterm highlights the selected text, saves it in  the
          global cut buffer, and makes it the primary selection.

          If you double-click the mouse,  you  can  select  by  words;
          triple-clicking  selects  by  lines; quadruple-clicking goes
          back to characters; and each additional click cycles through
          words,  lines,  and  characters.  Since the mouse determines
          multiple-click by the time from button up  to  button  down,
          you  can  change  the  selection  unit  in  the  middle of a
          selection.

          If the key and button bindings specify that an  X  selection
          is  to  be  made, xterm leaves the selected text highlighted
          for as long as it is the selection owner.

          Mouse button two (usually middle) "pastes" (types) the  text
          from  the  PRIMARY selection, if any, or from the cut buffer
          and inserts it as keyboard input.

          Mouse button  three  (usually  right)  extends  the  current
          selection.  If pressed while closer to the right edge of the
          selection than the left, it extends or contracts  the  right
          edge  of  the selection.  If you contract the selection past
          the left edge of the selection,  xterm  assumes  you  really
          meant  the  left edge, restores the original selection, then
          extends  or  contracts  the  left  edge  of  the  selection.
          Extension  starts  in  the  selection unit mode in which you
          performed  the  last  selection  or   extension;   you   can
          multiple-click to cycle through them.

          By cutting and pasting pieces of text without trailing  new-
          line  characters,  you  can take text from several places in
          different windows and form  a  command  to  the  shell,  for
          example,  or  take  output from a program and insert it into
          your favorite editor.  Since  the  cut  buffer  is  globally
          shared among different applications, you should regard it as
          a "file" whose contents you know.  The terminal emulator and
          other  text  programs  should  treat it as if it were a text
          file (that is, the text is delimited by new lines).

          The scroll region displays the position and amount  of  text
          currently  showing  in  the window (highlighted) relative to
          the amount of text actually saved.  As you  save  more  text
          (up  to  the  maximum),  xterm  decreases  the  size  of the
          highlighted area.

          Clicking button one with the pointer in  the  scroll  region
          moves the adjacent line to the top of the display window.

          Clicking button three moves the  top  line  of  the  display



     Page 13                                          (printed 7/3/90)






     xterm(X)           X Version 11 (11 July 1990)           xterm(X)



          window down to the pointer position.

          Clicking button two moves the display to a position  in  the
          saved text that corresponds to the pointer's position in the
          scroll bar.

          Unlike the VT102 window, the Tektronix window does not allow
          you to copy text.  It does allow Tektronix GIN mode; in this
          mode the cursor changes from an arrow to a cross.   Pressing
          any  key  sends  that  key and the current coordinate of the
          cross cursor.  Pressing button one, two,  or  three  returns
          the  letters  "l," "m," and "r," respectively.  If you press
          the  Shift  key  and  a  mouse  button,  the   corresponding
          uppercase  letter  is  sent.   To distinguish a mouse button
          from a key, the high-order bit of the character is set  (but
          this  bit  is  normally stripped unless the terminal mode is
          RAW; see the UNIX tty (C) man page for details).

     MENUS
          xterm  has  three  different  menus:   Xterm,   Modes,   and
          Tektronix.  Each menu pops up under the correct combinations
          of key and button presses.  Most menus are divided into  two
          sections separated by a horizontal line.

          The top portion contains various modes  you  can  alter.   A
          check  mark appears next to modes that are currently active.
          Selecting one of these modes toggles  its  state  (that  is,
          from  active  to  not  active,  or  vice versa).  The bottom
          portion of the menu contains command entries; selecting  one
          of these performs the indicated function.

          To see the Xterm menu, press the Ctrl  key  and  left  mouse
          button.  The modes section contains items that apply to both
          the VT102 and Tektronix windows.  The Secure  Keyboard  mode
          should  be  used when typing in passwords or other sensitive
          data; see SECURITY below.  Notable entries  in  the  command
          section  of  the menu are: Interrupt, Hangup, Terminate, and
          Kill, which send the SIGINT, SIGHUP,  SIGTERM,  and  SIGKILL
          signals,  respectively,  to the process group of the process
          running under  xterm  (usually  the  shell).   The  Continue
          function is especially useful if you have accidentally typed
          Ctrl-Z, which suspends the process.

          The Modes menu sets various modes in xterm's VT102 emulation
          and  pops up when the you press Ctrl and mouse button two in
          the VT102 window.

          The command section of this menu  contains  the  soft  reset
          entry, which resets scroll regions.  This function is useful
          if some program has left the scroll regions set  incorrectly
          (this can be a problem when using VMS or TOPS-20).  The full
          reset entry clears the screen, resets tabs  to  every  eight



     Page 14                                          (printed 7/3/90)






     xterm(X)           X Version 11 (11 July 1990)           xterm(X)



          columns,  and  resets  the  terminal modes (such as wrap and
          smooth scroll) to their initial states  (that  is,  the  way
          they  are  set  just after xterm has finished processing the
          command-line options).

          The Tektronix menu  sets  various  modes  in  the  Tektronix
          emulation  and pops up when you press the Ctrl key and mouse
          button two in the Tektronix window.  The current  font  size
          is checked in the modes section of the menu.  The PAGE entry
          in the command section clears the Tektronix window.

     SECURITY
          X environments differ in their security consciousness.   The
          servers  provided  by  MIT  use  a  host-based  mechanism to
          control access to the server (see xhost)).   If  you  enable
          access  for a host and other users are also permitted to run
          clients on that host, there is the possibility that  someone
          will  run  an application that will attempt to use the basic
          services of the X protocol to snoop on your  activities  and
          potentially  capture  a transcript of everything you type at
          the keyboard.  This is of particular concern when  you  want
          to  type  in  a  password or other sensitive data.  The best
          solution to this problem is for the  industry  to  choose  a
          standard   authorization   mechanism,   with  the  necessary
          operating system support, and to incorporate this into the X
          protocol  (which  is  already  designed  to  handle  such  a
          mechanism).  In  the  meantime,  since  passwords  are  most
          commonly  typed  to  something running in an xterm window, a
          simple mechanism exists for  protecting  keyboard  input  in
          xterm.

          The xterm menu (see MENUS above) contains a Secure  Keyboard
          entry  which,  when enabled, ensures that all keyboard input
          is directed only to xterm (using the  GrabKeyboard  protocol
          request).   When  an  application prompts you for a password
          (or other sensitive data), you can  enable  Secure  Keyboard
          using  the  menu,  type in the data, and then disable Secure
          Keyboard using the menu again.  Only one X client at a  time
          can  secure  the  keyboard,  so  when  you attempt to enable
          Secure Keyboard it may fail.  In this case, the bell sounds.
          If   the   Secure  Keyboard  succeeds,  the  foreground  and
          background colors are exchanged  (as  if  you  selected  the
          Reverse  Video  entry in the Modes menu); they are exchanged
          again when you exit secure  mode.   If  the  colors  do  not
          switch,  then  you  should  be  very suspicious that you are
          being spoofed.  If the application you are running  displays
          a  prompt  before  asking  for the password, it is safest to
          enter secure mode before the prompt is displayed and to make
          sure  that  the  prompt  is  displayed correctly (in the new
          colors) to minimize the probability of  spoofing.   You  can
          also bring up the menu again and make sure that a check mark
          appears next to the entry.



     Page 15                                          (printed 7/3/90)






     xterm(X)           X Version 11 (11 July 1990)           xterm(X)



          Secure Keyboard mode is  disabled  automatically  when  your
          xterm  window  becomes  iconified (or otherwise unmapped) or
          when you start up a reparenting  window  manager  (one  that
          places  a  title  bar or other decoration around the window)
          while in Secure Keyboard mode.  (This is a feature of the  X
          protocol  not  easily  overcome.)   When  this  happens, the
          foreground and background colors are switched back  and  the
          bell sounds in warning.

     CHARACTER CLASSES
          The xterm emulator allows you to specify the character class
          (i.e.,  letters,  white  space,  punctuation, etc.) when you
          select text to cut and paste.

          Clicking the middle mouse button twice in  rapid  succession
          selects  all  characters of the same class.  Since different
          people  have  different  preferences  for  what  should   be
          selected  (for  example,  should  filenames be selected as a
          whole or only the separate subnames), you can  override  the
          default  mapping  by  using  the charClass (class CharClass)
          resource.

          This resource is simply a list of  range:value  pairs  where
          the range is either a single number or low-high in the range
          of 0 to  127,  corresponding  to  the  ASCII  code  for  the
          character  or characters to be set.  The value is arbitrary,
          although the default table uses the character number of  the
          first character occurring in the set.

          The default table is:

            static int charClass[128] = {
            /* NUL  SOH  STX  ETX  EOT  ENQ  ACK  BEL */
                32,   1,   1,   1,   1,   1,   1,   1,
            /*  BS   HT   NL   VT   NP   CR   SO   SI */
                 1,  32,   1,   1,   1,   1,   1,   1,
            /* DLE  DC1  DC2  DC3  DC4  NAK  SYN  ETB */
                 1,   1,   1,   1,   1,   1,   1,   1,
            /* CAN   EM  SUB  ESC   FS   GS   RS   US */
                 1,   1,   1,   1,   1,   1,   1,   1,
            /*  SP    !    "    #    $    %    &    ' */
                32,  33,  34,  35,  36,  37,  38,  39,
            /*   (    )    *    +    ,    -    .    / */
                40,  41,  42,  43,  44,  45,  46,  47,
            /*   0    1    2    3    4    5    6    7 */
                48,  48,  48,  48,  48,  48,  48,  48,
            /*   8    9    :    ;    <    =    >    ? */
                48,  48,  58,  59,  60,  61,  62,  63,
            /*   @    A    B    C    D    E    F    G */
                64,  48,  48,  48,  48,  48,  48,  48,
            /*   H    I    J    K    L    M    N    O */
                48,  48,  48,  48,  48,  48,  48,  48,



     Page 16                                          (printed 7/3/90)






     xterm(X)           X Version 11 (11 July 1990)           xterm(X)



            /*   P    Q    R    S    T    U    V    W */
                48,  48,  48,  48,  48,  48,  48,  48,
            /*   X    Y    Z    [    \    ]    ^    _ */
                48,  48,  48,  91,  92,  93,  94,  48,
            /*   `    a    b    c    d    e    f    g */
                96,  48,  48,  48,  48,  48,  48,  48,
            /*   h    i    j    k    l    m    n    o */
                48,  48,  48,  48,  48,  48,  48,  48,
            /*   p    q    r    s    t    u    v    w */
                48,  48,  48,  48,  48,  48,  48,  48,
            /*   x    y    z    {    |    }    ~  DEL */
                48,  48,  48, 123, 124, 125, 126,   1};

         For   example,   the   string    "33:48,37:48,45-47:48,38:48"
         indicates  that  the  exclamation mark (!), percent sign (%),
         dash (-), period (.), slash (/), and ampersand (&) characters
         should  be  treated  the  same way as characters and numbers.
         This is  very  useful  for  cutting  and  pasting  electronic
         mailing addresses and UNIX filenames.

     KEY TRANSLATIONS
          It is possible to rebind keys  (or  sequences  of  keys)  to
          arbitrary strings for input by changing the translations for
          the  vt100  or  tek4014  widgets.    If   you   change   the
          translations  for  events  other than key and button events,
          xterm behaves unpredictably.

          The actions available for key translations are:

          insert()
               Processes the key in the normal way; that  is,  inserts
               into   the   input  stream  the  ASCII  character  code
               corresponding to  the  keysym  found  in  the  keyboard
               mapping table.

          string(string)
               Rebinds the key or key sequence to  the  string  value;
               that  is,  inserts  the  string argument into the input
               stream.  You must enclose the string in quotation marks
               if  the string contains white space or non-alphanumeric
               characters. If the  string  argument  begins  with  the
               characters  "0x,"  it is interpreted as a hex character
               constant, and the corresponding character  is  sent  in
               the normal way.

          keymap(name)
               Names  a  resource  to   dynamically   define   a   new
               translation   table;  you  get  the  resource  name  by
               appending the string "keymap" to name.  The keymap name
               None  restores the original translation table (the very
               first one; a stack is not  maintained).  It  recognizes
               upper- and lowercase characters.



     Page 17                                          (printed 7/3/90)






     xterm(X)           X Version 11 (11 July 1990)           xterm(X)



          insert-selection(name[,name]...)
               Retrieves the value  of  the  first  (left-most)  named
               existing  selection or cut buffer that is not empty and
               inserts the value into the input stream.  name  is  the
               name   of   any  selection,  for  example,  PRIMARY  or
               SECONDARY, or the name of  a  cut  buffer:  CUTBUFFER0
               through   CUTBUFFER7.    It   recognizes   upper-  and
               lowercase characters.

          For example, a debugging  session  might  benefit  from  the
          following bindings:

            *VT100.Translations: #override <Key>F13: keymap(dbx)
            *VT100.dbxKeymap.translations: \
                 <Key>F14: keymap(None) \n\
                 <Key>F17: string("next") string(0x0d) \n\
                 <Key>F18: string("step") string(0x0d) \n\
                 <Key>F19: string("continue") string(0x0d) \n\
                 <Key>F20: string("print ") insert-selection(PRIMARY,\
                      CUT_BUFFER0)


     KEY AND BUTTON BINDINGS
          The translation bindings within the the vt100 widget control
          the  key  and  button  bindings  for selecting text, pasting
          text, and activating the menus.  In addition to the  actions
          listed  above  under KEY TRANSLATIONS, the following actions
          are available:

          mode-menu()
               Posts one of the two mode  menus,  depending  on  which
               button is pressed.

          select-start()
               Unselects  any  previously  selected  text  and  begins
               selecting new text.

          select-extend()
               Continues selecting text  from  the  previous  starting
               position.

          start-extend()
               Begins extending the selection from the farthest  (left
               or right) edge.

          select-end(name[,name]...)
               Ends the  text  selection.   name  is  the  name  of  a
               selection  or  the  name of a cut buffer into which the
               text gets copied.  xterm asserts ownership of  all  the
               selections  named  and copies the text into each of the
               cut  buffers.  It  recognizes  upper-   and   lowercase
               characters.



     Page 18                                          (printed 7/3/90)






     xterm(X)           X Version 11 (11 July 1990)           xterm(X)



          ignore()
               Quietly discards the key or button event.

          bell([volume])
               Rings the bell at the specified volume increment  above
               or below the base volume.

          The default bindings are:

                       <KeyPress>:     insert() \n\
        Ctrl   ~Meta   <Btn1Down>:     mode-menu() \n\
               ~Meta   <Btn1Down>:     select-start() \n\
               ~Meta   <Btn1Motion>:   select-extend() \n\
        Ctrl   ~Meta   <Btn2Down>:     mode-menu() \n\
       ~Ctrl   ~Meta   <Btn2Down>:     ignore() \n\
               ~Meta   <Btn2Up>:       insert-selection(PRIMARY,\
                                          CUT_BUFFER0) \n\
       ~Ctrl   ~Meta   <Btn3Down>:     start-extend() \n\
               ~Meta   <Btn3Motion>:   select-extend() \n\
               ~Meta   <BtnUp>:        select-end(PRIMARY, CUT_BUFFER0) \n\
                       <BtnDown>:      bell(0)


     STARTING XTERM FROM INIT
          Warning, this feature is now obsolete and is  not  supported
          in this and future releases.  Sites using this method should
          switch to xdm instead.

     OTHER FEATURES
          The xterm program automatically highlights the window border
          and  text cursor when the pointer enters the selected window
          and unhighlights them when the pointer  leaves  the  window.
          If  the  window  is  the  focus window, it is highlighted no
          matter where the pointer is.

          In VT102 mode, there are escape sequences  to  activate  and
          deactivate  an  alternate  screen  buffer, which is the same
          size as the display area of the window.  When activated, the
          current  screen  is  saved  and  replaced with the alternate
          screen.  The feature that saves lines that  scroll  off  the
          top  of  the  window  is disabled until the normal screen is
          restored.  The termcap entry for  xterm  allows  the  visual
          editor  vi to switch to the alternate screen for editing and
          restore the screen on exit.

          In  either  VT102  or  Tektronix  mode,  there  are   escape
          sequences to change the name of the windows and to specify a
          new log file name.

     ENVIRONMENT
          xterm  sets  the  environment  variables  TERM  and  TERMCAP
          properly for the size window you have created.  It also uses



     Page 19                                          (printed 7/3/90)






     xterm(X)           X Version 11 (11 July 1990)           xterm(X)



          and sets the environment variable DISPLAY to  specify  which
          bitmap  display  terminal  to use.  The environment variable
          WINDOWID is set to the X  window  ID  number  of  the  xterm
          window.

     LIMITATIONS
          Variable-width fonts are not handled well.

          The focus is considered lost if some other client (e.g., the
          window  manager)  grabs  the  pointer; it is difficult to do
          better without an addition to the protocol.

          The  tek4014  widget  does  not  support  key   and   button
          rebinding.

     SEE ALSO
          resize(X)
          X(X)
          tty(C)

     COPYRIGHT
          Copyright 1988, Massachusetts Institute of Technology.
          See the manual page for X(X) for a full statement of  rights
          and permissions.

     AUTHORS
          Far too many people, including:

          Loretta Guarino Reid, DEC-UEG-WSL; Joel McCormack,  DEC-UEG-
          WSL;  Terry  Weissman,  DEC-UEG-WSL;  Edward  Moy, Berkeley;
          Ralph R. Swick, MIT-Athena;  Mark  Vandevoorde,  MIT-Athena;
          Bob   McNamara,   DEC-MAD,   Jim   Gettys,  MIT-Athena;  Bob
          Scheifler, MIT X Consortium; Doug Mink, SAO, Steve Pitschke,
          Stellar;   Ron   Newman,   MIT-Athena;  Jim  Fulton,  MIT  X
          Consortium; Dave Serisky, Hewlett Packard.




















     Page 20                                          (printed 7/3/90)



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026