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 for further information.
The port to connect to defaults to telnet. This can be overridden with the -port option, or by specifying a port on the command line.
The first part is the base model, which is either 3278 or 3279. 3278 specifies a monochrome 3270 display; 3279 specifies a color 3270 display. When 3278 emulation is specified for a color X display, fields are displayed using pseudo-colors; see PSEUDO-COLOR below.
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       30
          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 third part specifies the Extended 3270 Data Stream, and is given as -E. It signals the host that the 3270 display is capable of displaying extended field attributes, and supports structured fields and query replies. A 3279 always uses the Extended Data Stream (whether or not -E is specified); for a 3278 it is optional.
The default model for a color X display is 3279-4-E. For a monochrome X display, it is 3278-4-E. (The behavior of previous versions of x3270 on color X displays can be specified as 3278-4).
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 removes the -E from the terminal name when connecting to such hosts.
The name can also be specified with the "x3270.termName" resource.
The font may be specified with the -efont option or the "x3270.emulatorFont" resource.
x3270 can also use any constant-spaced X font, but unless the font implements the entire ISO 8859-1 (Latin-1) character set, x3270 may not properly display several EBCDIC graphics that do not have ASCII equivalents.
One additional font, 3270d, is supplied. This font is identical to the default 3270 font, except that it has bitmaps defined for field attribute characters. This means that field attributes, which are normally displayed as blanks, are now visible on the screen. The characters displayed are hexadecimal codes, which can be translated using a document provided with the x3270 sources.
The font can be changed at any time through a menu option. It can also be implicitly changed by changing the size of the x3270 window with the mouse: if the window is made larger, x3270 will try to change to a larger font, and vice-versa.
    Charset Name    Q121 Code
    -------------------------
       bracket          -
       us-intl          01
       german           03
       finnish          09
       uk               22
       norwegian        23
       french           30
       hebrew*          -
    (*) requires a special font, 3270h
The default character set is bracket, which useful for common
IBM hosts which use EBCDIC
codes 0xAD and 0xBD for the `[' and `]' characters, respectively.
You can also specify national-language translations for your keyboard; see KEYMAPS.
    33-127:48,161-255:48
See xterm(1) for further syntax details.
    left      in a separate window, to the left of the screen
    right     in a separate window, to the right of the screen
    bottom    in a separate window, below the screen
    integral  in the same window as the screen, below it
The default is right.
If the "x3270.keypadOn" resource is set to true, the keypad will be displayed at startup.
You may specify a different ibm_hosts database with the "x3270.hostsFile" resource.
The color scheme may also be changed while x3270 is running with a selection from the Options menu.
    x3270.normalColor:       green
    x3270.boldColor:         cyan
    x3270.inputColor:        orange
    x3270.colorBackground:   black
    x3270.selectBackground:  dim gray
If the host later negotiates to stop functioning in 3270 mode, x3270 will return to ANSI emulation.
When emulating an ANSI terminal, x3270 supports both character-at-a-time mode and line mode operation. You may select the mode with a menu option. When in line mode, the special characters and operational characteristics are defined by resources:
    Mode/Character            Resource        Default
    -------------------------------------------------
    Translate CR to NL        x3270.icrnl     true
    Translate NL to CR        x3270.inlcr     false
    Erase previous character  x3270.erase     ^?
    Erase entire line         x3270.kill      ^U
    Erase previous word       x3270.werase    ^W
    Redisplay line            x3270.rprnt     ^R
    Ignore special meaning of
     next character           x3270.lnext     ^V
    Interrupt                 x3270.intr      ^C
    Quit                      x3270.quit      ^\
    End of file               x3270.eof       ^D
The menu bar can be turned off by setting the "x3270.menuBar" resource to false.
The top sections of the File and Options menus are a series of toggles, options that may be either on or off. The toggles under the File menu are as follows:
    Menu Option              Name
    ------------------------------------
    Monocase                 monoCase
    Blinking Cursor          cursorBlink
    Blank Fill               blankFill
    Show Timing              showTiming
    Track Cursor             cursorPos
    Trace Data Stream        dsTrace
    Trace X Events           eventTrace
    Save Screen(s) in File   screenTrace
    Scrollbar                scrollBar
    Wraparound               lineWrap
    Paste with Left Margin   marginedPaste
    Select by Rectangles     rectangleSelect
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 file. For example, if you always want to have the scrollbar on, you can add the following to your .Xdefaults:
    x3270.scrollBar:	true
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.
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:
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 default, compiled in table. It defines alphabetic, numeric, function keys, and such basic functions as Enter and Delete. It allows a minimal useful functionality.
The second level is a keyboard specific table, which is found in the application default file, which defines actions for such things as keypad keys, and keys unique to certain keyboards.
The third level is a user customizable table which may be used to augment or override key definitions. This will typically be found in the users .Xdefaults file. The naming for a sun4 keyboard would be:
    x3270.keymap.default:
    x3270.keymap.sun_k4:
    x3270.keymap.sun_k4.user:
The basic default translation table is:
    <Key>Multi_key     Compose()
    Shift<Key>Return   Newline()
    <Key>Return        Enter()
    <Key>Linefeed      Newline()
    Shift<Key>Tab      BackTab()
    <Key>Tab           Tab()
    <Key>Home          Home()
    Meta<Key>Left      PreviousWord()
    <Key>Left          Left()
    Meta<Key>Right     NextWord()
    <Key>Right         Right()
    <Key>Up            Up()
    <Key>Down          Down()
    <Key>Insert        Insert()
    <Key>Delete        Delete()
    <Key>BackSpace     BackSpace()
    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)
    Meta<Key>1         PA(1)
    Meta<Key>2         PA(2)
    Meta<Key>3         PA(3)
    Meta<Key>a         Attn()
    Meta<Key>b         PrintWindow()
    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>q         Quit()
    Meta<Key>r         Reset()
    Ctrl<Key>u         DeleteField()
    Ctrl<Key>w         DeleteWord()
    :<Key>asciicircum  CircumNot()
    :<Key>             Default()
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 actions are defined for internal use by x3270 and are not documented here.
    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 ANSI mode, or ¬ in 3270 mode
    Clear                  clear screen
    Compose                next two keys form a special symbol
    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
    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
    Home                   move cursor to first input field
    Insert                 set insert mode
    Key(keysym)            insert key keysym
    Keymap(keymap)         toggle alternate keymap (or remove with None)
    Left                   move cursor left
    Left2                  move cursor left 2 positions
    MoveCursor             move cursor to mouse position
    MonoCase               toggle uppercase-only mode
    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
    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
    SetFont(font)          change emulator font
    String(string)         insert string (simple macro facility)
    SysReq                 System Request AID
    Tab                    move cursor to next input field
    ToggleInsert           toggle insert mode
    Up                     move cursor up
    the following are similar to xterm
    ignore                 do nothing
    insert-selection([atom[,atom...]])
                           paste selection
    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
    \b     Left
    \f     Clear
    \n     Enter
    \pan   PA key n
    \pfnn  PF key nn
    \r     Newline
    \t     Tab
An example action would be:
    Meta<Key>p: String("probs clearrdr\en")
Note: The strings are in ASCII and converted to EBCDIC,
so beware of inserting control codes.
Also, a backslash before a p
must be doubled so it will not be removed when resource files are read.
    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 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 characters are supported only in the 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). 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:
    Keysym            EBCDIC Code
    -----------------------------
    apl_Aunderbar         41
    apl_Bunderbar         42
    apl_Cunderbar         43
    apl_Dunderbar         44
    apl_Eunderbar         45
    apl_Funderbar         46
    apl_Gunderbar         47
    apl_Hunderbar         48
    apl_Iunderbar         49
    apl_Junderbar         51
    apl_Kunderbar         52
    apl_Lunderbar         53
    apl_Munderbar         54
    apl_Nunderbar         55
    apl_Ounderbar         56
    apl_Punderbar         57
    apl_Qunderbar         58
    apl_Runderbar         59
    apl_Sunderbar         62
    apl_Tunderbar         63
    apl_Uunderbar         64
    apl_Vunderbar         65
    apl_Wunderbar         66
    apl_Xunderbar         67
    apl_Yunderbar         68
    apl_Zunderbar         69
    apl_alpha             b0
    apl_bracketleft       ad
    apl_bracketright      bd
    apl_circle            9d
    apl_circlebar         cd
    apl_circleslope       cf
    apl_circlestar        fd
    apl_circlestile       cd
    apl_del               ba
    apl_delstile          dd
    apl_delta             bb
    apl_deltastile        dd
    apl_deltaunderbar     fc
    apl_deltilde          fb
    apl_diaeresis         72
    apl_diaeresisdot      ec
    apl_diamond           70
    apl_divide            b8
    apl_downarrow         8b
    apl_downcaret         78
    apl_downcarettilde    cb
    apl_downshoe          ab
    apl_downstile         8e
    apl_downtack          ac
    apl_downtackjot       fe
    apl_downtackup        da
    apl_epsilon           b1
    apl_epsilonunderbar   75
    apl_iota              b2
    apl_iotaunderbar      74
    apl_jot               af
    apl_leftarrow         9f
    apl_leftshoe          9b
    apl_lefttack          76
    apl_multiply          b6
    apl_notequal          be
    apl_notgreater        8c
    apl_notless           ae
    apl_omega             b4
    apl_overbar           a2
    apl_plusminus         9e
    apl_quad              90
    apl_quaddivide        ee
    apl_quadjot           73
    apl_quadquote         de
    apl_quotedot          db
    apl_rho               b3
    apl_rightarrow        8f
    apl_rightshoe         9a
    apl_righttack         77
    apl_slashbar          ea
    apl_slope             b7
    apl_slopebar          eb
    apl_slopequad         ce
    apl_splat             9c
    apl_squad             cc
    apl_stile             bf
    apl_tilde             80
    apl_uparrow           8a
    apl_upcaret           71
    apl_upcarettilde      ca
    apl_upshoe            aa
    apl_upshoejot         df
    apl_upstile           8d
    apl_uptack            bc
    apl_uptackjot         ef
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.
Pull-down menus may not work properly if the Caps Lock, Num Lock, Shift, Alt or Meta keys are pressed. This is a bug in the Athena menu widget and affects several other X applications as well.
X11 Port Copyright © 1990 by Jeff Sparkes.
Additional X11 Modifications Copyright © 1993, 1994, 1995 by Paul Mattes.
Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation.