Provided by: x3270_3.3.10ga4-2build2_amd64 bug

NAME

       x3270 - IBM host access tool

SYNOPSIS

       x3270 [options] [host]

       x3270 [options] session-file.x3270

DESCRIPTION

       x3270  opens  a telnet connection to an IBM host in an X window.  It implements RFCs 2355 (TN3270E), 1576
       (TN3270) and 1646 (LU name selection), and supports IND$FILE file transfer.  The window created by  x3270
       can  use its own font for displaying characters, so it is a fairly accurate representation of an IBM 3278
       or 3279.  It is similar to tn3270(1) except that it is X-based, not curses-based.

       The full syntax for host is:
              [prefix:]...[LUname@]hostname[:port]

       Prepending a P: onto hostname causes the connection to go through the telnet-passthru service rather than
       directly to the host.  See PASSTHRU below.

       Prepending an S: onto hostname removes the "extended data stream" option reported to the host.   See  -tn
       below for further information.

       Prepending an N: onto hostname turns off TN3270E support for the session.

       Prepending  an L: onto hostname causes x3270 to first create an SSL tunnel to the host, and then create a
       TN3270 session inside the tunnel.  (This function is supported only  if  x3270  was  built  with  SSL/TLS
       support).   Note  that  TLS-encrypted  sessions using the TELNET START-TLS option are negotiated with the
       host automatically; for these sessions the L: prefix should not be used.

       A specific Logical Unit (LU) name to use may be specified by prepending it to the hostname with  an  `@'.
       Multiple LU names to try can be separated by commas.  An empty LU can be placed in the list with an extra
       comma.   (Note that the LU name is used for different purposes by different kinds of hosts.  For example,
       CICS uses the LU name as the Terminal ID.)

       The hostname may optionally be placed inside square-bracket characters `[' and `]'.   This  will  prevent
       any  colon  `:'  characters  in the hostname from being interpreted as indicating option prefixes or port
       numbers.  This allows numeric IPv6 addresses to be used as hostnames.

       On systems that support the forkpty library call, the hostname may be replaced  with  -e  and  a  command
       string.  This will cause x3270 to connect to a local child process, such as a shell.

       The port to connect to defaults to telnet.  This can be overridden with the -port option, or by appending
       a  port  to  the  hostname with a colon `:'.  (For compatability with previous versions of x3270 and with
       tn3270(1), the port may also be specified as a second, separate argument.)

OPTIONS

       x3270 is a toolkit based program,  so  it  understands  standard  Xt  options  and  resources.   It  also
       understands the following options:

       -activeicon
              Specifies that the icon should be a miniature version of the screen image.  See ICONS below.

       -apl   Sets up APL mode.  This is actually an abbreviation for several options.  See APL SUPPORT below.

       -cc range:value[,...]
              Sets character classes.

       -charset name
              Specifies an EBCDIC host character set.

       -clear toggle
              Sets the initial value of toggle to false.  The list of toggle names is under MENUS below.

       -efont name
              Specifies a font for the emulator window.

       -iconname name
              Specifies an alternate title for the program icon.

       -iconx x
              Specifies the initial x coordinate for the program icon.

       -icony y
              Specifies the initial y coordinate for the program icon.

       -im method
              Specifies the name of the input method to use for multi-byte input.  (Supported only when x3270 is
              compiled with DBCS support.)

       -keymap name
              Specifies a keymap name and optional modifiers.  See KEYMAPS below.

       -keypad
              Turns on the keypad as soon as x3270 starts.

       -km name
              Specifies  the  local encoding method for multi-byte text.  name is an encoding name recognized by
              the ICU library.  (Supported only when x3270 is compiled with DBCS  support,  and  necessary  only
              when x3270 cannot figure it out from the locale.)

       -model name
              The  model of 3270 display to be emulated.  The model name is in two parts, either of which may be
              omitted:

              The first part is the base model, which is either 3278  or  3279.   3278  specifies  a  monochrome
              (green on black) 3270 display; 3279 specifies a color 3270 display.

              The  second  part is the model number, which specifies the number of rows and columns.  Model 4 is
              the default.

                                             Model Number   Columns   Rows
                                             ──────────────────────────────
                                                  2           80       24
                                                  3           80       32
                                                  4           80       43
                                                  5           132      27

              Note: Technically, there is no such 3270 display as a 3279-4 or 3279-5, but  most  hosts  seem  to
              work with them anyway.

              The default model for a color X display is 3279-4.  For a monochrome X display, it is 3278-4.

       -mono  Forces x3270 to believe it is running on a monochrome X display.

       -once  Causes  x3270  to  exit  after  a  host disconnects.  This option has effect only if a hostname is
              specified on the command line.

       -oversize colsxrows
              Makes the screen larger than the default for the chosen model number.  This option has effect only
              in combination with extended data stream support (controlled by  the  "x3270.extended"  resource),
              and  only if the host supports the Query Reply structured field.  The number of columns multiplied
              by the number of rows must  not  exceed  16383  (3fff  hex),  the  limit  of  14-bit  3270  buffer
              addressing.

       -port n
              Specifies  a different TCP port to connect to.  n can be a name from /etc/services like telnet, or
              a number.  This option changes the default port number used for all connections.  (The  positional
              parameter affects only the initial connection.)

       -printerlu luname
              Causes  x3270 to automatically start a pr3287 printer session.  If luname is ".", then the printer
              session will be associated with the interactive terminal session  (this  requires  that  the  host
              support  TN3270E).   Otherwise,  the  value  is used as the explicit LU name to associate with the
              printer session.

       -proxy type:host[:port]
              Causes x3270 to connect via the specified proxy, instead of using a direct connection.   The  host
              can  be  an  IP  address or hostname.  The optional port can be a number or a service name.  For a
              list of supported proxy types, see PROXY below.

       -pt type
              Specifies the preedit type for  the  multi-byte  input  method.   Valid  values  are  OverTheSpot,
              OffTheSpot,  Root  and  OnTheSpot.   The  value  for OverTheSpot can include an optional suffix, a
              signed number indicating the vertical distance in rows of  the  preedit  window  from  the  cursor
              position,  e.g.  OverTheSpot+1  or OverTheSpot-2.  The default value is OverTheSpot+1.  (Supported
              only when x3270 is compiled with DBCS support.)

       -reconnect
              Causes x3270 to automatically reconnect to the host if  it  ever  disconnects.   This  option  has
              effect only if a hostname is specified on the command line.

       -sb    Turns on the scrollbar.

       +sb    Turns the scrollbar off.

       -scheme name
              Specifes a color scheme to use in 3279 mode.  This option has effect only in combination with 3279
              emulation.

       -script
              Causes  x3270  to  read commands from standard input, with the results written to standard output.
              The protocol for these commands is documented in x3270-script(1).

       -sl n  Specifies that n lines should be saved for scrolling back.  The default is 64.

       -scriptport port
              Causes x3270 to listen for scripting connections on local TCP port port.

       -set toggle
              Sets the initial value of toggle to true.  The list of toggle names is under MENUS below.

       -socket
              Causes the emulator to create a Unix-domain socket when it starts, for use by script processes  to
              send  commands  to  the  emulator.   The  socket is named /tmp/x3sck.process_id.  The -p option of
              x3270if causes it to use this socket, instead of pipes specified by environment variables.

       -tn name
              Specifies the terminal name to be transmitted over the telnet connection.   The  default  name  is
              IBM-model_name-E,  for  example,  IBM-3279-4-E  for  a  color  X  display,  or  IBM-3278-4-E for a
              monochrome X display.

              Some hosts are confused by the -E suffix on the terminal name, and will ignore  the  extra  screen
              area  on  models  3,  4  and 5.  Prepending an s: on the hostname, or setting the "x3270.extended"
              resource to "false", removes the -E from the terminal name when connecting to such hosts.

              The name can also be specified with the "x3270.termName" resource.

       -trace Turns on data stream tracing at startup.  Unlike turning it on from a menu  option,  there  is  no
              pop-up to confirm the file name, which defaults to /tmp/x3trc.process_id.

       -tracefile file
              Specifies  a  file  to save data stream and event traces into.  If the value stdout is given, then
              traces will be written to standard output.  If the value none is given, then traces will be  piped
              directly to the monitor window, and no file will be created.

       -tracefilesize size
              Places a limit on the size of a trace file.  If this option is not specified, or is specified as 0
              or none, the trace file will be unlimited.  If specified, the trace file cannot already exist, and
              the  (silently  enforced)  minimum size is 64 Kbytes.  The value of size can have a K or M suffix,
              indicating kilobytes or megabytes respectively.

       -v     Display the version and build options for x3270 and exit.

       After reading resource definitions from the X server and any standandard X11  resource  definition  files
       ($HOME/.Xdefaults,  etc.), x3270 will read definitions from the file $HOME/.x3270pro.  This file contains
       local customizations and is also used to save changed options by the Save Changed Options  in  File  menu
       option.

       Note that -xrm options override any definitions in the .x3270pro file.

       In  addition,  the  toggle  altCursor can be used to select the cursor type.  If set, an underline cursor
       will be used.  If clear, the normal block cursor will be used.

       These names also represent resources that can be set in your .Xdefaults or .x3270pro file.  For  example,
       if you always want to have the scrollbar on, you can add the following to your .Xdefaults or .x3270pro:
              x3270.scrollBar:    true

       These names are also used as the first parameter to the Toggle action.

STATUS LINE

       The x3270 status line contains a variety of information.  From left to right, the fields are:

       comm status
              The  first symbol is always a 4.  If x3270 is in TN3270E mode, the second symbol is a B; otherwise
              it is an A.  If x3270 is disconnected, the third symbol is a question mark.  Otherwise,  if  x3270
              is in SSCP-LU mode, the third symbol is an S.  Otherwise it is blank.

       keyboard lock
              If  the keyboard is locked, an "X" symbol and a message field indicate the reason for the keyboard
              lock.

       shift  Three characters indicate the keyboard modifier status.  "M" indicates the Meta key, "A"  the  Alt
              key, and an up-arrow or "^" indicates the Shift key.

       compose
              The letter "C" indicates that a composite character is in progress.  If another symbol follows the
              "C", it is the first character of the composite.

       typeahead
              The letter "T" indicates that one or more keystrokes are in the typeahead buffer.

       temporary keymap
              The letter "K" indicates that a temporary keymap is in effect.

       reverse
              The letter "R" indicates that the keyboard is in reverse field entry mode.

       insert mode
              A thick caret "^" or the letter "I" indicates that the keyboard is in insert mode.

       printer session
              The letter "P" indicates that a pr3287 session is active.

       script The letter "S" indicates that a script is active.

       LU name
              The LU name associated with the session, if there is one.

       timing A clock symbol and a time in seconds indicate the time it took to process the last AID or the time
              to connect to a host.  This display is optional.

       cursor position
              The cursor row and column are optionally displayed, separated by a "/".

ICONS

       If  the  -activeicon  option  is  given  (or  the "x3270.activeIcon" resource is set to true), x3270 will
       attempt to make its icon a miniature version of the  current  screen  image.   This  function  is  highly
       dependent on your window manager:

       mwm    The  size  of the icon is limited by the "Mwm.iconImageMaximum" resource, which defaults to 50x50.
              The image will be clipped at the bottom and right.  The icon cannot accept keyboard input.

       olwm   The full screen image of all 3270 models can be displayed on the icon.  However, the  icon  cannot
              be  resized,  so  if  the model is later changed with an x3270 menu option, the icon image will be
              corrupted.  The icon cannot accept keyboard input.

       twm and tvtwm
              The full screen image of all 3270 models can be displayed  on  the  icon,  and  the  icon  can  be
              resized.  The icon can accept keyboard input.

              However, twm does not put labels on application-supplied icon windows.  You can have x3270 add its
              own  label  to  the  icon by setting the "x3270.labelIcon" resource to true.  The default font for
              icon labels is 8x13; you may change it with the "x3270.iconLabelFont" resource.

KEYMAPS

       The type of keyboard may be specified with the -keymap  switch  or  using  either  the  KEYMAP  or  KEYBD
       environment variables.  The types of supported keyboards include sun_k3, sun_k4, sun_k5, hp-k1, hp-pc and
       ncd.

       The  keymap may also be specified as a comma-separated list of names.  Later definitions override earlier
       ones.  This is used to specify both a primary keyboard type  and  a  set  of  modifiers.   The  modifiers
       defined include:

       ow     (OpenWindows)  Swaps  the middle and right mouse button definitions, so the middle button performs
              the "Extend" function and the right-hand button performs the "Paste" function.  Also  changes  the
              cut and paste actions to use the OpenWindows CLIPBOARD.

       apl    Allows entry of APL characters (see APL SUPPORT below).

       finnish7
              Replaces the bracket, brace and bar keys with common Finnish characters.

       norwegian7
              Replaces the bracket, brace and bar keys with common Norwegian characters.

       A  temporary keymap can also be specified while x3270 is running with the Keymap action.  When the action
       Keymap(n) is executed, temporary keymap n is added to or  deleted  from  the  current  keymap.   Multiple
       temporary  keymaps  can  be active simultaneously.  The action Keymap(None) restores the original keymap.
       Note: When Keymap() is specified as part of a list of multiple actions in a keymap, it must be  the  last
       action in the list.

       The temporary keymap hebrew is provided to allow entry of Hebrew characters.

       The  X Toolkit translation mechanism is used to provide keyboard emulation.  It maps events into actions.
       The best documentation can be found with X toolkit documents, but the following should suffice for simple
       customization.

       An Xt event consists of (at least) four fields.   The  first  is  called  a  modifier.   It  may  be  any
       combination  of Meta, Shift and Ctrl.  If it is prefaced by !, it means those modifiers only.  The second
       field is the specific event, in x3270 usually just <Key>.  The third field is  the  detail  field,  which
       gives  the  actual key.  The name of the key may be determined using the xev program or with the "Trace X
       Events" menu option.  The last field is the action, which is the internal emulator function.  A  complete
       list of actions may be found later in the manual.

       There  are  three  levels  of  translation  tables  in  x3270.   The  first  is a defined by the resource
       x3270.keymap.base.  It defines alphabetic, numeric, function keys, and such basic functions as Enter  and
       Delete.   It  allows  a  minimal  useful  functionality.   It  is generally compiled in x3270, but can be
       overridden.

       The second level is a keyboard specific table, which  is  selected  by  the  x3270.keymap  resource,  and
       defined  by  the x3270.keymap.name resource (where name is the value of the x3270.keymap resource).  This
       keymap defines actions for such things as keypad keys, and keys unique  to  certain  keyboards.   Several
       predefined keymaps are included with x3270.

       The  third  level  is a user customizable table which may be used to augment or override key definitions.
       This keymap is defined by the x3270.keymap.name.user resource.

       In addition, keymaps may be defined for use in 3270 mode  or  NVT  mode  only.   These  keymaps  use  the
       suffixes  .3270 and .nvt in their names, respectively.  If a keymap x3270.keymap.name.mode is defined, it
       will  augment  the  keymap  x3270.keymap.name  when  x3270  is  in  the  given   mode.    If   a   keymap
       x3270.keymap.name.user.mode  is  defined, it will augment the keymap x3270.keymap.name.user when x3270 is
       in the given mode.

       The default translation table x3270.keymap.base is:
       <Key>Multi_key    Compose()
       Shift<Key>Left    KybdSelect(Left,PRIMARY)
       <Key>Left         Left()
       Meta<Key>Right    NextWord()
       Shift<Key>Right   KybdSelect(Right,PRIMARY)
       <Key>Right        Right()
       Shift<Key>Up      KybdSelect(Up,PRIMARY)
       <Key>Up           Up()
       Shift<Key>Down    KybdSelect(Down,PRIMARY)
       <Key>Down         Down()
       Ctrl<Btn1Down>    HandleMenu(quitMenu)
       Ctrl<Btn2Down>    HandleMenu(optionsMenu)
       Ctrl<Btn3Down>    HandleMenu(hostMenu)
       Shift<Btn1Down>   MoveCursor()
       <Btn1Down>        select-start()
       <Btn1Motion>      select-extend()
       <Btn2Down>        ignore()
       <Btn2Motion>      ignore()
       <Btn2Up>          insert-selection(PRIMARY)
       <Btn3Down>        start-extend()
       <Btn3Motion>      select-extend()
       <BtnUp>           select-end(PRIMARY)
       Meta<Key>F1       PF(13)
       Meta<Key>F2       PF(14)
       Meta<Key>F3       PF(15)
       Meta<Key>F4       PF(16)
       Meta<Key>F5       PF(17)
       Meta<Key>F6       PF(18)
       Meta<Key>F7       PF(19)
       Meta<Key>F8       PF(20)
       Meta<Key>F9       PF(21)
       Meta<Key>F10      PF(22)
       Meta<Key>F11      PF(23)
       Meta<Key>F12      PF(24)
       <Key>F1           PF(1)
       <Key>F2           PF(2)
       <Key>F3           PF(3)
       <Key>F4           PF(4)
       <Key>F5           PF(5)
       <Key>F6           PF(6)
       <Key>F7           PF(7)
       <Key>F8           PF(8)
       <Key>F9           PF(9)
       <Key>F10          PF(10)
       <Key>F11          PF(11)
       <Key>F12          PF(12)
       Alt<Key>q         Quit()
       :<Key>            Default()

       The default 3270-mode table x3270.keymap.base.3270 adds the following definitions:
       Shift<Key>Return        Newline()
       <Key>Return             Enter()
       <Key>Linefeed           Newline()
       Shift<Key>Tab           BackTab()
       <Key>Tab                Tab()
       <Key>Home               Home()
       Meta<Key>Left           PreviousWord()
       Meta<Key>Right          NextWord()
       <Key>Insert             Insert()
       <Key>Delete             Delete()
       <Key>BackSpace          BackSpace()
       Ctrl Shift<Btn1Down>    MouseSelect()
       Shift<Btn1Down>         MoveCursor()
       Meta<Key>1              PA(1)
       Meta<Key>2              PA(2)
       Meta<Key>3              PA(3)
       Ctrl<Key>a              SelectAll(PRIMARY)
       Meta<Key>a              Attn()
       Meta<Key>b              PrintWindow()
       Ctrl<Key>c              set-select(CLIPBOARD)
       Meta<Key>c              Clear()
       Meta<Key>d              Delete()
       Meta<Key>h              Home()
       Meta<Key>i              Insert()
       Meta<Key>l              Redraw()
       Meta<Key>p              PrintText()
       Meta<Key>r              Reset()
       Meta<Key>u              Unselect()
       Ctrl<Key>u              DeleteField()
       Ctrl<Key>v              insert-selection(CLIPBOARD)
       Ctrl<Key>w              DeleteWord()
       :Meta<Key>asciicircum   Key(notsign)

       Meta is the diamond shaped key on a sun_k4, "Alt" on an NCD, "Extend  Char"  on  an  HP.   The  following
       xmodmap command must be used on the NCD to allow use the the "Alt" key:

              xmodmap -e "keysym Alt_L = Meta_L"

       The  left  mouse  button may be used to make a selection.  Clicking once unselects the current selection.
       Clicking twice selects the word under the mouse cursor.  Clicking three times selects the line under  the
       mouse cursor.  Clicking and dragging selects a rectangular area of the display.

       The middle mouse button may be used to paste a selection.

       The  right  mouse  button  may  also  be  used for selections, selecting the rectangular area between the
       current position and where the left button was last pressed.

       On color X displays, the "x3270.selectBackground" resource is used to distinguish the selected text  from
       the  rest  of  the  screen.   On  monochrome  X  displays, selected text is in reverse video.  (It can be
       distinguished from a block cursor because the block cursor covers slightly less than an entire  character
       position on the screen.)

       The  left  mouse  button, when pressed with the "Shift" key held down, moves the 3270 cursor to the where
       the mouse cursor is pointing.

       This is the complete list of keymap-callable actions.  Other actions are defined for use by  scripts  and
       are  documented  in  x3270-script(1);  still  others  are  defined  for internal use by x3270 and are not
       documented here.  Note that when an action with no parameters is used in a keymap,  the  parentheses  and
       empty argument list are still required.

       Actions  marked  with  an  asterisk  (*)  may  block, sending data to the host and possibly waiting for a
       response.

                           *Attn                             attention key
                           AltCursor                         switch between block and
                                                             underscore cursor
                           BackSpace                         move cursor left (or send
                                                             ASCII BS)
                           BackTab                           tab to start of previous input
                                                             field
                           CircumNot                         input "^" in NVT mode, or
                                                             "notsign" in 3270 mode
                           *Clear                            clear screen
                           Compose                           next two keys form a special
                                                             symbol
                           *Connect(host)                    connect to host
                           *CursorSelect                     Cursor Select AID
                           Cut                               erase selected text
                           Default                           enter key literally
                           Delete                            delete character under cursor
                                                             (or send ASCII DEL)
                           DeleteField                       delete the entire field
                           DeleteWord                        delete the current or previous
                                                             word
                           *Disconnect                       disconnect from host
                           Down                              move cursor down
                           Dup                               duplicate field
                           *Enter                            Enter AID (or send ASCII CR)
                           Erase                             erase previous character (or
                                                             send ASCII BS)
                           EraseEOF                          erase to end of current field
                           EraseInput                        erase all input fields
                           Execute(cmd)                      execute a command in a shell
                           FieldEnd                          move cursor to end of field
                           FieldMark                         mark field
                           HandleMenu(name)                  pop up a menu
                           HexString(hex_digits)             insert control-character
                                                             string
                           Home                              move cursor to first input
                                                             field
                           Insert                            set insert mode
                           *Interrupt                        send TELNET IP to host
                           Key(keysym)                       insert key keysym
                           Key(0xxx)                         insert key with character code
                                                             xx
                           Keymap(keymap)                    toggle alternate keymap (or
                                                             remove with None)
                           KybdSelect(direction[,atom...])   Extend selection by one row or
                                                             column
                           Left                              move cursor left
                           Left2                             move cursor left 2 positions
                           *Macro(macro)                     run a macro
                           MonoCase                          toggle uppercase-only mode
                           MoveCursor                        move cursor to mouse position
                           MoveCursor(row, col)              move cursor to (row,col)
                           *MoveCursorSelect                 move cursor to mouse position,
                                                             light pen selection
                           Newline                           move cursor to first field on
                                                             next line (or send ASCII LF)
                           NextWord                          move cursor to next word
                           *PA(n)                            Program Attention AID (n from
                                                             1 to 3)
                           *PF(n)                            Program Function AID (n from 1
                                                             to 24)
                           PreviousWord                      move cursor to previous word
                           Printer(Start[,lu]|Stop)          start or stop printer session
                           PrintText(command)                print screen text on printer
                           PrintWindow(command)              print screen image (bitmap) on
                                                             printer
                           Quit                              exit x3270
                           *Reconnect                        reconnect to previous host
                           Redraw                            redraw window
                           Reset                             reset locked keyboard
                           Right                             move cursor right
                           Right2                            move cursor right 2 positions
                           *Script(command[,arg...])         run a script
                           SelectAll(atom)                   select entire screen
                           SetFont(font)                     change emulator font
                           *String(string)                   insert string (simple macro
                                                             facility)
                           *SysReq                           System Request AID
                           Tab                               move cursor to next input
                                                             field
                           Toggle(option[,set|clear])        toggle an option
                           ToggleInsert                      toggle insert mode
                           ToggleReverse                     toggle reverse-input mode
                           *Transfer(option=value...)        file transfer
                           Unselect                          release selection
                           Up                                move cursor up
                           ─────────────────────────────────────────────────────────────────
                           (the following are similar to
                             xterm)
                           ─────────────────────────────────────────────────────────────────
                           ignore                            do nothing
                           insert-                           paste selection
                             selection([atom[,atom...]])
                           move-select                       a combination of MoveCursor
                                                             and select-start
                           select-end(atom[,atom...]])       complete selection and assign
                                                             to atom(s)
                           select-extend                     move the end of a selection
                           select-start                      mark the beginning of a
                                                             selection
                           set-select(atom[,atom...]])       assign existing selection to
                                                             atom(s)
                           start-extend                      begin marking the end of a
                                                             selection

THE PRINTTEXT ACTION

       The PrintText produces screen snapshots in a  number  of  different  forms.   The  default  form  wth  no
       arguments  sends a copy of the screen to the default printer.  A single argument is the command to use to
       print, e.g., lpr.  Multiple arguments can include keywords to control the output of PrintText:

       file filename
              Save the output in a file.

       html   Save the output as HTML.  This option implies file.

       rtf    Save the output as RichText.  This option implies file.  The font defaults to Courier New and  the
              point  size  defaults  to  8.   These  can  be  overridden  by the printTextFont and printTextSize
              resources, respectively.

       string Return the output as a string.  This can only be used from scripts.

       modi   Render modified fields in italics.

       caption text
              Add the specified text as a caption above the output.  Within text, the special sequence %T%  will
              be replaced with a timestamp.

       secure Disables the pop-up dialog.

       command command
              Directs  the  output to a command.  This allows one or more of the other keywords to be specified,
              while still sending the output to the printer.

MACROS AND SCRIPTS

       There are several types of macros and script functions available.

       The String Action
              The simplest method for macros is provided via the String action.  The arguments to String are one
              or more double-quoted  strings  which  are  inserted  directly  as  if  typed.   The  C  backslash
              conventions are honored as follows.  (Entries marked * mean that after sending the AID code to the
              host, x3270 will wait for the host to unlock the keyboard before further processing the string.)
              \b       Left
              \exxxx   EBCDIC character in hex
              \f       Clear*
              \n       Enter*
              \pan     PA(n)*
              \pfnn    PF(nn)*
              \r       Newline
              \t       Tab
              \T       BackTab
              \uxxxx   Unicode character in hex
              \xxxxx   Unicode character in hex

              Note that the numeric values for the \e, \u and \x sequences can be abbreviated to 2 digits.  Note
              also  that  EBCDIC  codes  greater  than  255  and  some  Unicode  character  codes represent DBCS
              characters, which will work only if x3270 is built with DBCS support  and  the  host  allows  DBCS
              input in the current field.

              An example keymap entry would be:
              Meta<Key>p: String("probs clearrdr\n")

              Note:  The  strings  are  in  ASCII and converted to EBCDIC, so beware of inserting control codes.
              Also, a backslash before a p may need to be doubled so it will not be removed when a resource file
              is read.

              There is also an alternate form of the String action, HexString,  which  is  used  to  enter  non-
              printing data.  The argument to HexString is a string of hexadecimal digits, two per character.  A
              leading  0x  or  0X  is optional.  In 3270 mode, the hexadecimal data represent EBCDIC characters,
              which are entered into the current field.  In NVT  mode,  the  hexadecimal  data  represent  ASCII
              characters, which are sent directly to the host.

       The Script Action
              This action causes x3270 to start a child process which can execute x3270 actions.  Standard input
              and  output from the child process are piped back to x3270.  The Script action is fully documented
              in x3270-script(1).

       The macros Resource
              An alternate method of defining macros is the "x3270.macros" resource.  This resource  is  similar
              to  a  keymap, but instead of defining keyboard mappings, it associates a list of X actions with a
              name.  These names are displayed on a Macros menu that appears when x3270 is connected to a  host.
              Selecting  one  of the names on the menu executes the X actions associated with it.  Typically the
              actions are String calls, but any action may be specified.   Here  is  a  sample  macros  resource
              definition, which would result in a four-entry Macros menu:
              x3270.macros: \
                   log off: String("logout\n")\n\
                   vtam: String("dial vtam\n")\n\
                   pa1: PA(1)\n\
                   alt printer: PrintText("lpr -Plw2")

              You  can  also  define  a  different  set  of  macros for each host.  If there is a resource named
              `x3270.macros.somehost', it defines the macros menu for when x3270 is connected to somehost.

       The -script Option
              This facility allows x3270 to operate under the complete  control  of  a  script.   x3270  accepts
              actions  from  standard input, and prints results on standard output.  The -script option is fully
              documented in x3270-script(1).

COMPOSITE CHARACTERS

       x3270 allows the direct entry of accented letters  and  special  symbols.   Pressing  and  releasing  the
       "Compose"  key,  followed  by  two  other keys, causes entry of the symbol combining those two keys.  For
       example, "Compose" followed by the "C" key and the "," (comma) key, enters the "C-cedilla" symbol.   A  C
       on the status line indicates a pending composite character.

       The  mappings  between  these  pairs of ordinary keys and the symbols they represent is controlled by the
       "x3270.composeMap" resource; it gives the name of  the  map  to  use.   The  maps  themselves  are  named
       "x3270.composeMap.name".   The  default  is "latin1", which gives mappings for most of the symbols in the
       ISO 8859-1 Latin-1 character set that are not in the 7-bit ASCII character set.

       Note: The default keymap defines the "Multi_key" keysym as the "Compose" key.   If  your  keyboard  lacks
       such  a  key,  you  may  set up your own "Compose" key with a keymap that maps some other keysym onto the
       Compose action.

APL SUPPORT

       x3270 supports the full APL2 character set and the entry of APL characters from the keyboard.

       APL characters are supported only in the special 3270 font.

       Keyboard entry of APL characters is supported through the apl keymap modifier.  This modifier defines the
       "Alt" key as an APL shift key, with a typical APL keyboard layout, e.g., "Alt" pressed  with  the  A  key
       results  in the APL "alpha" symbol.  Overstruck characters such as "quad-quote" are not defined as single
       keystrokes; instead they are entered as composites (see COMPOSITE CHARACTERS above).  A special composite
       map, apl, is provided for this purpose.

       Note: Some keyboards do not define the "Alt" key as a modifier, so keymaps that use the  "Alt"  key  will
       not function.  On a Sun for example, this can be remedied with the command:

              xmodmap -e "add mod2 = Alt_L"

       For  convenience,  an  -apl  option  is  defined,  which  is  an  abbreviation for the following resource
       definitions:
              x3270.keymap: your_keymap_name,apl
              x3270.charset: apl
              x3270.composeMap: apl

       There are a number of  APL  characters  that  are  similar  in  appearance  to  non-APL  characters.   In
       particular,  the APL "stile", "slope," "tilde" and "quotedot" characters are similar to the EBCDIC "bar",
       "backslash," "tilde" and "exclaim" characters.  The APL characters are entered with the  "Alt"  key,  and
       have slightly different appearances.

       The  complete  list  of special APL keysyms is as follows.  Entries marked with an asterisk (*) represent
       simple aliases for  standard  EBCDIC  characters.   Entries  marked  with  an  (S)  represent  Sharp  APL
       charatcers.

       APL Symbol            Hex   x3270 Keysym          x3270 Key   x3270 Composed Keys
       ──────────────────────────────────────────────────────────────────────────────────
       A underbar            41    apl_Aunderbar         Alt-A       A + underbar
       alpha                 B0    apl_alpha             Alt-a

       B underbar            42    apl_Bunderbar         Alt-B       B + underbar
       bar                   60*   apl_bar               -

       brace left            C0    apl_braceleft         Alt-{

       brace right           D0    apl_braceright        Alt-}

       C underbar            43    apl_Cunderbar         Alt-C       C + underbar
       circle                9D    apl_circle            Alt-o

       circle bar            ED    apl_circlebar
                                                                     circle + bar
       circle slope          CF    apl_circleslope
                                                                     circle + slope
       circle star           FD    apl_circlestar
                                                                     circle + star
       circle stile          CD    apl_circlestile
                                                                     circle + stile
       colon                 7A*   apl_colon             :

       comma                 6B*   apl_comma             ,

       comma bar (S)         E5    apl_commabar
                                                                     comma + bar
       D underbar            44    apl_Dunderbar         Alt-D       D + underbar
       del                   BA    apl_del               Alt-g

       del stile             DC    apl_delstile
                                                                     del + stile
       del tilde             FB    apl_deltilde
                                                                     del + tilde
       delta                 BB    apl_delta             Alt-h

       delta stile           DD    apl_deltastile
                                                                     delta + stile
       delta underbar        FC    apl_deltaunderbar
                                                                     delta + underbar
       diamond               70    apl_diamond
                                                                     up caret + down
                                                                     caret
       dieresis              72    apl_dieresis          Alt-1

       dieresis circle (S)   E5    apl_dieresiscircle
                                                                     dieresis + circle
       dieresis dot          EC    apl_dieresisdot
                                                                     dieresis + dot
       dieresis jot (S)      E4    apl_dieresisjot
                                                                     dieresis + jot
       divide                B8    apl_divide            Alt-+

       dot                   4B*   apl_dot

       down arrow            8B    apl_downarrow         Alt-u

       down caret            78    apl_downcaret         Alt-9

       down caret tilde      CB    apl_downcarettilde
                                                                     down caret + tilde
       down shoe             AB    apl_downshoe          Alt-v

       down stile            8E    apl_downstile         Alt-d

       down tack             AC    apl_downtack          Alt-b

       down tack jot         FE    apl_downtackjot
                                                                     down tack + jot
       down tack up tack     DA    apl_downtackuptack
                                                                     down tack + up tack
       E underbar            45    apl_Eunderbar         Alt-E       E + underbar
       epsilon               B1    apl_epsilon           Alt-e

       epsilon underbar      75    apl_epsilonunderbar
                                                                     epsilon + underbar
       equal                 7E*   apl_equal             "="

       equal underbar        E1    apl_equalunderbar
                                                                     equal + underbar
       euro (S)              E7    apl_euro
                                                                     C + =
       F underbar            46    apl_Funderbar         Alt-F       F + underbar
       G underbar            47    apl_Gunderbar         Alt-G       G + underbar
       greater               6E*   apl_greater           >

       H underbar            48    apl_Hunderbar         Alt-H       H + underbar
       I underbar            49    apl_Iunderbar         Alt-I       I + underbar
       iota                  B2    apl_iota              Alt-i

       iota underbar         74    apl_iotaunderbar
                                                                     iota + underbar
       J underbar            51    apl_Junderbar         Alt-J       J + underbar
       jot                   AF    apl_jot               alt-j

       K underbar            52    apl_Kunderbar         Alt-K       K + underbar
       L underbar            53    apl_Lunderbar         Alt-L       L + underbar
       left arrow            9F    apl_leftarrow         Alt-[

       left bracket          AD    apl_leftbracket       [

       left paren            4D*   apl_leftparen         (

       left shoe             9B    apl_leftshoe          Alt-z

       less                  4C*   apl_less              <

       M underbar            54    apl_Munderbar         Alt-M       M + underbar
       N underbar            55    apl_Nunderbar         Alt-N       N + underbar
       not equal             BE    apl_notequal          Alt-8       equal + slash
       not greater           8C    apl_notgreater        Alt-4       less + equal
       not less              AE    apl_notless           Alt-6       greater + equal
       O underbar            56    apl_Ounderbar         Alt-O       O + underbar
       omega                 B4    apl_omega             Alt-w

       overbar               A0    apl_overbar           Alt-2

       P underbar            57    apl_Punderbar         Alt-P       P + underbar
       plus                  4E*   apl_plus              +

       Q underbar            58    apl_Qunderbar         Alt-Q       Q + underbar
       quad                  90    apl_quad              Alt-l

       quad divide           EE    apl_quaddivide
                                                                     quad + divide
       quad jot              73    apl_quadjot
                                                                     quad + jot
       quad quote            DE    apl_quadquote
                                                                     quad + quote
       quad slope            CE    apl_quadslope
                                                                     quad + slope
       query                 6F*   apl_query             ?

       quote                 7D*   apl_quote

       quote dot             DB    apl_quotedot
                                                                     quote + dot
       R underbar            59    apl_Runderbar         Alt-R       R + underbar
       rho                   B3    apl_rho               Alt-r

       right arrow           8F    apl_rightarrow        Alt-]

       right bracket         BD    apl_rightbracket      ]

       right paren           5D*   apl_rightparen        )

       right shoe            9A    apl_rightshoe         Alt-x

       S underbar            62    apl_Sunderbar         Alt-S       S + underbar
       semicolon             5E*   apl_semicolon         ;

       slash                 61*   apl_slash             /

       slash bar             EA    apl_slashbar
                                                                     slash + bar
       slope                 B7    apl_slope             Alt-\

       slope bar             EB    apl_slopebar
                                                                     slope + bar
       squad                 CC    apl_squad
                                                                     quad + quad
       star                  5C*   apl_star              *

       stile                 BF    apl_stile             Alt-|

       T underbar            63    apl_Tunderbar         Alt-T       T + underbar
       tilde                 80    apl_tilde             Alt-~

       times                 B6    apl_times             Alt-=

       U underbar            64    apl_Uunderbar         Alt-U       U + underbar
       underbar              6D*   apl_underbar          "_"

       up arrow              8A    apl_uparrow           Alt-y

       up caret              71    apl_upcaret           Alt-0

       up caret tilde        CA    apl_upcarettilde
                                                                     up caret + tilde
       up shoe               AA    apl_upshoe            Alt-c

       up shoe jot           DF    apl_upshoejot
                                                                     up shoe + jot
       up stile              8D    apl_upstile           Alt-s

       up tack               BC    apl_uptack            Alt-n

       up tack jot           EF    apl_uptackjot
                                                                     up tack + jot
       V underbar            65    apl_Vunderbar         Alt-V       V + underbar
       W underbar            66    apl_Wunderbar         Alt-W       W + underbar
       X underbar            67    apl_Xunderbar         Alt-X       X + underbar
       Y underbar            68    apl_Yunderbar         Alt-Y       Y + underbar
       Z underbar            69    apl_Zunderbar         Alt-Z       Z + underbar

XIM SUPPORT

       When compiled with DBCS support, x3270 supports multi-byte input methods via the XIM protocol.

       The input method is selected by the XMODIFIERS environment variable or the -im command-line option.

       The preedit type is specified by the -pt command-line option, with a default of OverTheSpot+1.

SCREEN PRINTING

       Screen  printing is handled through options on the File menu or by the PrintText and PrintWindow actions.
       Each results in a pop-up to confirm the print command.

       The PrintText action (usually assigned to the key <Meta>p) sends the current screen image to the  printer
       as   ASCII   characters.    The   default   command   used  to  print  the  data  is  controlled  by  the
       "x3270.printTextCommand" resource; the default is lpr.  You may also use a keymap definition  to  pass  a
       print  command  the PrintText action itself.  The command receives the screen text as its standard input.
       For example, the following keymap will save the screen text in a file:

              Meta<Key>f: PrintText("cat >screen.image")

       Note: HardPrint is an alias for PrintText.

       The PrintWindow action (usually assigned to the key <Meta>b)  sends  the  current  screen  image  to  the
       printer   as   a   bitmap.    The   default  command  used  to  print  the  data  is  controlled  by  the
       "x3270.printWindowCommand" resource; the default is

              xwd -id %d | xpr | lpr.

       You may also use a keymap definition to pass a print command to the PrintWindow action  itself.   If  the
       command  contains  the  text  "%d",  the  window  ID  of x3270 will be substituted before it is run.  For
       example, the following keymap will pop up a duplicate of the current screen image:

              Meta<Key>g: PrintWindow("xwd -id %d | xwud &")

       If the command for PrintWindow or PrintText begins with an "@" character,  the  initial  pop-up  menu  to
       confirm the print command is not displayed and the command cannot be edited.

BUGS

       Cursor highlighting will not work with if you use the NoTitleFocus option in your .twmrc file.

PASSTHRU

       x3270 supports the Sun telnet-passthru service provided by the in.telnet-gw server.  This allows outbound
       telnet  connections  through  a  firewall machine.  When a p: is prepended to a hostname, x3270 acts much
       like the itelnet(1) command.  It contacts the machine named  internet-gateway  at  the  port  defined  in
       /etc/services  as  telnet-passthru  (which  defaults to 3514).  It then passes the requested hostname and
       port to the in.telnet-gw server.

PROXY

       The -proxy option or the x3270.proxy resource causes x3270 to use a proxy server to connect to the  host.
       The syntax of the option or resource is:
              type:host[:port]

       The supported values for type are:
                               Proxy Type   Protocol                       Default Port
                               ─────────────────────────────────────────────────────────
                                  http      RFC 2817 HTTP tunnel (squid)       3128
                                passthru    Sun in.telnet-gw                   none
                                 socks4     SOCKS version 4                    1080
                                 socks5     SOCKS version 5 (RFC 1928)         1080
                                 telnet     No protocol (just send             none
                                            connect host port)

       The  special  types  socks4a  and  socks5d  can also be used to force the proxy server to do the hostname
       resolution for the SOCKS protocol.

FILES

       /usr/lib/X11/x3270/ibm_hosts
       $HOME/.x3270pro

ENVIRONMENT VARIABLES

       3270PRO Path of profile  file,  containing  resource  definitions.   Merged  after  the  system  resource
       database, but before X3270RDB.  Defaults to $HOME/.x3270pro.
       NOX3270PRO If set, do not read the profile.
       X3270RDB  Additional  resource  definitions,  merged  after  the profile file but before the command-line
       options.
       KEYMAP Keymap name.
       KEYBD Keymap name.

SEE ALSO

       s3270(1), c3270(1), tcl3270(1), ibm_hosts(5), x3270-script(1), telnet(1), tn3270(1)
       X Toolkit Intrinsics
       Data Stream Programmer's Reference, IBM GA23-0059
       Character Set Reference, IBM GA27-3831
       RFC 1576, TN3270 Current Practices
       RFC 1646, TN3270 Extensions for LUname and Printer Selection
       RFC 2355, TN3270 Enhancements

COPYRIGHTS

       Copyright 1993-2009, Paul Mattes.
       Copyright 2004-2005, Don Russell.
       Copyright 2004, Dick Altenbern.
       Copyright 1990, Jeff Sparkes.
       Copyright 1989, Georgia Tech Research Corporation (GTRC), Atlanta, GA
        30332.
       All rights reserved.

       Redistribution and use in source and binary forms, with or without modification, are  permitted  provided
       that the following conditions are met:

       *      Redistributions of source code must retain the above copyright notice, this list of conditions and
              the following disclaimer.

       *      Redistributions  in binary form must reproduce the above copyright notice, this list of conditions
              and the following disclaimer in  the  documentation  and/or  other  materials  provided  with  the
              distribution.

       *      Neither the names of Paul Mattes, Don Russell, Dick Altenbern, Jeff Sparkes, GTRC nor the names of
              their  contributors  may be used to endorse or promote products derived from this software without
              specific prior written permission.

       THIS SOFTWARE IS PROVIDED BY PAUL MATTES, DON RUSSELL, DICK ALTENBERN, JEFF SPARKES AND GTRC "AS IS"  AND
       ANY   EXPRESS  OR  IMPLIED  WARRANTIES,  INCLUDING,  BUT  NOT  LIMITED  TO,  THE  IMPLIED  WARRANTIES  OF
       MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL PAUL  MATTES,  DON
       RUSSELL,  DICK  ALTENBERN,  JEFF  SPARKES OR GTRC BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL
       EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF  SUBSTITUTE  GOODS  OR
       SERVICES;  LOSS  OF  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
       LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING  IN
       ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

VERSION

       x3270 3.3.10ga4

                                                 02 October 2009                                        x3270(1)