DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ T r

⟦499c4698f⟧ TextFile

    Length: 31478 (0x7af6)
    Types: TextFile
    Names: »rational.n«

Derivation

└─⟦6ac9a67ca⟧ Bits:30000548 8mm tape, Rational 1000, access 1_0_1
    └─ ⟦78f173837⟧ »DATA« 
        └─⟦687a7d38f⟧ 
└─⟦d10a02448⟧ Bits:30000409 8mm tape, Rational 1000, ENVIRONMENT, D_12_7_3
    └─ ⟦fc9b38f02⟧ »DATA« 
        └─⟦687a7d38f⟧ 
            └─⟦76eb391d8⟧ 
                └─⟦56d8da70c⟧ 
                    └─ ⟦this⟧ »man/mann/rational.n« 

TextFile

.TH RATIONAL 1 "November 18, 1992" "X Version 11"
.de Ds
.nf
.\\$1D \\$2 \\$1
.ft 1
.ps \\n(PS
.\".if \\n(VS>=40 .vs \\n(VSu
.\".if \\n(VS<=39 .vs \\n(VSp
..
.de De
.ce 0
.if \\n(BD .DF
.nr BD 0
.in \\n(OIu
.if \\n(TM .ls 2
.sp \\n(DDu
.fi
..
.SH NAME
rational \- Rational Access User Interface
.SH SYNOPSIS
.B rational
[-\fItoolkitoption\fP ...] [-option ...]
.SH DESCRIPTION
The \fIrational\fP program is a terminal emulator for the X Window System.
It provides DEC VT102-compatible terminals for programs that can't
use the window system directly.  If the underlying operating system supports 
terminal resizing capabilities (for example, the SIGWINCH signal in systems 
derived from 4.3bsd), \fIrational\fP uses the facilities to notify programs 
running in the window whenever it is resized.
.SH OPTIONS
The \fIrational\fP terminal emulator 
accepts all of the standard X Toolkit command line options along with the 
additional options listed below (if the option begins with a
.RB ` + '
instead of a
.RB ` \- ',
the option is restored to its default value):
.TP 8
.B \-help
This causes \fIrational\fP to print out a verbose message describing its options.
.TP 8
.B \-ah
This option indicates that 
.I rational
should always highlight the text cursor and borders.  By default,
.I rational
displays a hollow text cursor whenever the focus is lost or the 
mouse cursor leaves the window.
.TP 8
.B \+ah
This option indicates that
.I rational
should do text cursor highlighting.
.TP 8
.BI \-b " number"
This option specifies the size of the inner border (the distance between
the outer edge of the characters and the window border) in pixels.  The
default is 2.
.TP 8
.B "\-cc \fIcharacterclassrange\fP:\fIvalue\fP[,...]"
This sets classes indicated by the given ranges for using in selecting by
words.  See the section specifying character classes.
.TP 8
.BI \-cr " color"
This option specifies the color to use for the text cursor and for highlighting
\fIrational\fP selections.  The default is to
use the same foreground color that is used for text.
.TP 8
.B \-cu
This option indicates that \fIrational\fP should work around a bug in the
.IR curses (3x)
cursor motion package that causes the
.IR more (1)
program to display lines that are exactly the width of the window and
are followed by a line beginning with a tab to be displayed incorrectly
(the leading tabs are not displayed).
.TP 8
.B \+cu
This option indicates that \fIrational\fP should not work around the
.IR curses (3x)
bug mentioned above.
.TP 8
.B \-dp
This option indicates that the Debugger Palette should be made visible at
startup. It is shorthand for specifying the "\fI*ShowDebugPalette\fP" resource.
.TP 8
.B \+dp
This option indicates that the Debugger Palette should not be made visible at
startup.
.TP 8
.B \-dpg \fIgeometry\fP
This option specifies the preferred position of the Debugger Palette window.
It is shorthand for specifying the "\fI*DebugPaletteGeometry\fP" resource.
Specify position only; changing the default width or height of this window 
usually detracts from its appearance and utility.
.TP 8
.BI \-e " program [arguments ...]"
This option specifies the program (and its command line arguments) to be
run in the \fIrational\fP window.  It also sets the window title and icon
name to be the basename of the program being executed if neither \fI-title\fP
nor \fI-name\fP are given on the command line.  \fBThis must be the last 
option on the command line.\fP
.TP 8
.BI \-ebg " color"
This option specifies the color to use for the background in the \fIrational\fP 
Environment windows.
.TP 8
.BI \-fb " font"
This option specifies a font to be used when displaying bold text.  
This font must be the same height and width as the normal font.
The default bold font is ``fixed-screen-b-11.''
If the default font cannot be found or if only one of the normal or bold
fonts has been specified (on the command line, in the user's default file, or
in the system's default file), then it is used as both the normal font and
the bold font.
.TP 8
.B \-fn \fIfont\fP
This option specifies the font to be used for displaying normal text.  The
default is ``fixed-screen-r-11.''
.TP 8
.B \-fp
This option indicates that the Function Keys Palette should be made visible at
startup. It is shorthand for specifying the "\fI*ShowFunctionKeys\fP" resource.
.TP 8
.B \+fp
This option indicates that the  Function Keys Palette should not be made 
visible at startup.
.TP 8
.B \-fpg \fIgeometry\fP
This option specifies the preferred position of the Function Keys Palette 
window.
It is shorthand for specifying the "\fI*FunctionKeysGeometry\fP" resource.
Specify position only; changing the default width or height of this window 
usually detracts from its appearance and utility.
.TP 8
.B \-icongeometry \fIgeometry\fP
This option specifies the preferred position of the icon window.
It is shorthand for specifying the "\fI*iconGeometry\fP" resource.
.TP 8
.BI \-icontitle " string"
This option specifies the icon name for \fIrational\fP's windows.
It is shorthand for specifying the "\fI*iconName\fP" resource.
Note that this is not the same as the toolkit option \fB-name\fP (see below).
The default icon name is the application name.
.TP 8
.B \-ip
This option indicates that the Image Palette should be made visible at
startup. It is shorthand for specifying the "\fI*ShowImagePalette\fP" resource.
.TP 8
.B \+ip
This option indicates that the Image Palette should not be made visible at
startup.
.TP 8
.B \-ipg \fIgeometry\fP
This option specifies the preferred position of the Image Palette window.
It is shorthand for specifying the "\fI*ImagePaletteGeometry\fP" resource.
.TP 8
.B \-j
This option indicates that \fIrational\fP should do jump scrolling.  
This option allows \fIrational\fP to move
multiple lines at a time so that it doesn't fall behind.  Its use is
strongly recommended since it makes \fIrational\fP much faster when scanning
through large amounts of text.  The VT100 escape sequences for enabling and
disabling smooth scroll menu can be used to turn this
feature on or off. It is on by default.
.TP 8
.B \+j
This option indicates that \fIrational\fP should not do jump scrolling.
.TP 8
.B \-l
This option indicates that \fIrational\fP should send all terminal output to
a log file as well as to the screen.  
.TP 8
.B \+l
This option indicates that \fIrational\fP should not do logging.
.TP 8
.BI \-lf " filename"
This option specifies the name of the file to which the output log described
above is written.  If \fIfile\fP begins with a pipe symbol (|), the rest of 
the string is assumed to be a command to be used as the endpoint of a pipe.
The default filename is ``\fBRaAccLog.\fIXXXXX\fR'' (where \fIXXXXX\fP
is the process id of \fIrational\fP) and is created in the directory from which
\fIrational\fP was started (or the user's home directory in the case of a
login window).
.TP 8
.B \-ls
This option indicates that the shell that is started in the \fIrational\fP window
be 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).
.TP 8
.B \+ls
This option indicates that the shell that is started should not be a login
shell (i.e., it is a normal ``subshell'').
.TP 8
.B \-mb
This option indicates that \fIrational\fP should ring a margin bell when
the user types near the right end of a line.  
.TP 8
.B \+mb
This option indicates that margin bell should not be rung.
.TP 8
.BI \-ms " color"
This option specifies the color to be used for the mouse cursor.  The default
is to use the foreground color.
.TP 8
.BI \-nb " number"
This option specifies the number of characters from the right end of a line
at which the margin bell, if enabled, rings.  The default is 10.
.TP 8
.BI \-rcg "number/name"
This option modifies the response sent when a terminal-recognition query
is received.  A normal VT100 (with advanced-video-option) response is
Escape followed by "[?1;2c".  -rcg modifies this.  The "2" is replaced by
the value (number<<3)+2.  This allows rational to be recognized both as a VT100
and as a special Rational terminal type.  The default -rcg value is determined
by the expected workstation type when rational is compiled and is in the 1..99
range.  Use "-rcg 0" to disable this feature and to cause normal VT100
behavior.

If a name is used for this switch, e.g., "-rcg xsun3", then the name must be
the (all lowercase) name of some RATIONAL-based terminal type supported by the
local R1000 computer. 
.TP 8
.B \-rv
This option indicates that reverse video should be simulated by swapping
the foreground and background colors.
.TP 8
.B \+rv
This option indicates that normal video should be used.
.TP 8
.B \-rw
This option indicates that reverse-wraparound should be allowed.  This allows
the cursor to back up from the leftmost column of one line to the rightmost
column of the previous line.  This is very useful for editing long shell
command lines and is encouraged.
.TP 8
.B \+rw
This option indicates that reverse-wraparound should not be allowed.
.TP 8
.B \-s
This option indicates that \fIrational\fP may scroll asynchronously, meaning that
the screen does not have to be kept completely up to date while scrolling.
This allows \fIrational\fP to run faster when network latencies are very high
and is typically useful when running across a very large internet or many
gateways.
.TP 8
.B \+s
This option indicates that \fIrational\fP should scroll synchronously.
.TP 8
.B \-si
This option indicates that output to a window should not automatically
reposition the screen to the bottom of the scrolling region.  
.TP 8
.B \+si
This option indicates that output to a window should cause it to
scroll to the bottom.
.TP 8
.BI \-tm " string"
This option specifies a series of terminal setting keywords followed by the
characters that should be bound to those functions, similar to the \fIstty\fP
program.  This is ignored when \fB\-L\fP is given since \fIgetty\fP resets
the terminal.  Allowable keywords include: intr, quit, erase, kill, eof,
eol, swtch, start, stop, brk, susp, dsusp, rprnt, flush, weras, and lnext.
Control characters may be specified as ^char (e.g. ^c or ^u) and ^? may be 
used to indicate delete.
.TP 8
.BI \-tn " name"
This option specifies the name of the terminal type to be set in the TERM
environment variable.  This terminal type must exist in the \fItermcap(5)\fP
database and should have \fIli#\fP and \fIco#\fP entries.
.TP 8
.B \-ut
This option indicates that \fIrational\fP shouldn't write a record into the 
the system log file \fI/etc/utmp\fP.
.TP 8
.B \+ut
This option indicates that \fIrational\fP should write a record into the system
log file \fI/etc/utmp\fP.
.TP 8
.B \-vb
This option indicates that a visual bell is preferred over an audible one.
Instead of ringing the terminal bell whenever a Control-G is received, the
window  flashes.
.TP 8
.B \+vb
This option indicates that a visual bell should not be used.
.TP8
.B \-version
This option causes \fIrational\fP to display version information on stdout and
then to exit.  There are three sections of information.  The "Version"
section tells you what Rational version/terminal-type was installed.  The
"Server" section tells you what X server and what version
of the protocol is being used.  The "Resources" section gives you the
values set for some of the more important control resources.
.TP 8
.B \-C
This option indicates that this window should receive console output.  This
is not supported on all systems.
.TP 8
.B \-S\fIccn\fP
This option specifies the last two letters of the name of a pseudoterminal
to use in slave mode.  This allows \fIrational\fP to be used as an input and
output channel for an existing program and is sometimes used in specialized
applications.
.PP
The following command line arguments are provided for compatibility with
older versions.  They may not be supported in the next release as the X 
Toolkit provides standard options that accomplish the same task.
.TP 8
.B \-L
This option indicates that \fIrational\fP was started by \fIinit\fP.  In this
mode, \fIrational\fP does not try to allocate a new pseudoterminal as \fIinit\fP
has already done so.  In addition, the system program \fIgetty\fP is run 
instead of the user's shell.  \fBThis option has been superceeded by the new
\fIxdm\fP program; furthermore, this option should never be used by users when
starting terminal windows.\fP
.PP
The following standard X Toolkit command line arguments are commonly used 
with \fIrational\fP:
.TP 8
.B \-bg \fIcolor\fP
This option specifies the color to use for the background of the window.  
The default is ``white.''
.TP 8
.B \-bd \fIcolor\fP
This option specifies the color to use for the border of the window.
The default is ``black.''
.TP 8
.B \-display \fIdisplay\fP
This option specifies the X server to contact; see \fIX(1)\fP.
.TP 8
.B \-fg \fIcolor\fP
This option specifies the color to use for displaying text.  The default is 
``black''.
.TP 8
.B \-geometry \fIgeometry\fP
This option specifies the preferred size and position of the VT102 window;
see \fIX(1)\fP.
.TP 8
.B \-iconic
This option indicates that \fIrational\fP should ask the window manager to 
start it as an icon rather than as the normal window.
.TP 8
.B \-name \fIname\fP
This option specifies the application name under which resources are to be
obtained, rather than the default executable filename.
\fIName\fP should not contain "." or "*" characters.
.TP 8
.B \-title \fIstring\fP
This option specifies the window title string, which may be displayed by
window managers if the user so chooses.  The default title is the command
line specified after the \fB-e\fP option, if any, otherwise the application
name.
.TP 8
.B \-xrm \fIresourcestring\fP
This option specifies a resource string to be used.  This is especially
useful for setting resources that do not have separate command line options.
.SH "X DEFAULTS"
The client name for Rational Access is "RATIONAL":  to specify red as the 
foreground color for Rational Access, add a "RATIONAL*foreground: red" line
to your .Xdefaults.
The program understands all of the core X Toolkit resource names and
classes as well as:
.TP 8
.B "autoRaise (\fPclass\fB AutoRaise)"
Specifies whether the auto-raise window feature is turned on.  The default
is "off".  
.B "autoRaiseDelay (\fPclass\fB AutoRaiseDelay)"
Specifies the delay between the mouse entering the window and the raising
of the \fIrational\fP window to the top when the autoRaise feature is turned on.
The default value is 2000 milliseconds.
.TP 8
.B "iconGeometry (\fPclass\fB IconGeometry)"
Specifies the preferred size and position of the application when iconified.
It is not necessarily obeyed by all window managers.
.TP 8
.B "termName (\fPclass\fB TermName)"
Specifies the terminal type name to be set in the TERM environment variable.
.TP 8
.B "ttyModes (\fPclass\fB TtyModes)"
Specifies a string containing terminal setting keywords and the characters
to which they may be bound.  This option is ignored when \fB\-L\fP is given 
since 
\fIgetty\fP resets the terminal.  Allowable keywords include: intr, quit, 
erase, kill, eof, eol, swtch, start, stop, brk, susp, dsusp, rprnt, flush, 
weras, and lnext.  Control characters may be specified as ^char (e.g. ^c or ^u)
and ^? may be used to indicate delete.  This is very useful for overriding
the default terminal settings without having to do an \fIstty\fP every time
an \fIrational\fP is started.
.TP 8
.B "utmpInhibit (\fPclass\fB UtmpInhibit)"
Specifies whether or not \fIrational\fP should try to record the user's terminal
in \fI/etc/utmp\fP.
.sp
.PP
The following resources are specified as part of the ``vt100'' widget (class
``VT100''):
.TP 8
.B "allowSendEvents (\fPclass\fB 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.
.sp
.TP 8
.B "alwaysHighlight (\fPclass\fB AlwaysHighlight)"
Specifies whether or not \fIrational\fP should always display a highlighted 
text cursor.  By default, a hollow text cursor is displayed whenever the
mouse cursor moves out of the window or the window loses the input focus.
.TP 8
.B "font (\fPclass\fB Font)"
Specifies the name of the normal font.  The default is ``fixed-screen-r-11.''
.TP 8
.B "boldFont (\fPclass\fB Font)"
Specifies the name of the bold font.  The default is ``fixed-screen-b-11.''
.TP 8
.B "c132 (\fPclass\fB C132)"
Specifies whether or not the VT102 DECCOLM escape sequence should be honored.
The default is ``false.''
.TP 8
.B "charClass (\fPclass\fB CharClass)"
Specifies comma-separated lists of character class bindings of the form
[\fIlow\fP-]\fIhigh\fP:\fIvalue\fP.  These are used in determining which
sets of characters should be treated the same when doing cut-and-paste.
See the section on specifying character classes.
.TP 8
.B "curses (\fPclass\fB Curses)"
Specifies whether or not the last column bug in
.IR curses (3x)
should be worked around.
The default is ``false.''
.TP 8
.B "background (\fPclass\fB Background)"
Specifies the color to use for the background of the window.  The default is 
``white.''
.TP 8
.B "foreground (\fPclass\fB Foreground)"
Specifies the color to use for displaying text in the window.  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.''
.TP 8
.B "cursorColor (\fPclass\fB Foreground)"
Specifies the color to use for the text cursor.  The default is ``black.''
.TP 8
.B "geometry (\fPclass\fB Geometry)"
Specifies the preferred size and position of the VT102 window.
.TP 8
.B "internalBorder (\fPclass\fB BorderWidth)"
Specifies the number of pixels between the characters and the window border.
The default is 2.
.TP 8
.B "jumpScroll (\fPclass\fB JumpScroll)"
Specifies whether or not jump scroll should be used.  The default is ``false''.
.TP 8
.B "logFile (\fPclass\fB Logfile)"
Specifies the name of the file to which a terminal session is logged.  The
default is ``\fBRaAccLog.\fIXXXXX\fR'' (where \fIXXXXX\fP
is the process id of \fIrational\fP).
.TP 8
.B "logging (\fPclass\fB Logging)"
Specifies whether or not a terminal session should be logged.  The default is
``false.''
.TP 8
.B "logInhibit (\fPclass\fB LogInhibit)"
Specifies whether or not terminal session logging should be inhibited.  The
default is ``false.''
.TP 8
.B "loginShell (\fPclass\fB LoginShell)"
Specifies whether or not the shell to be run in the window should be started
as a login shell.  The default is ``false.''
.TP 8
.B "marginBell (\fPclass\fB MarginBell)"
Specifies whether or not the bell should be run when the user types near the
right margin.  The default is ``false.''
.TP 8
.B "multiClickTime (\fPclass\fB MultiClickTime)"
Specifies the maximum amount of time to wait for a double-click on a mouse.
The interval is in milliseconds.  The default is 250.  Pauses of longer than
250 milliseconds between clicks of the same mouse button registers as
two separate clicks rather than as one double-click.
.TP 8
.B "multiScroll (\fPclass\fB MultiScroll)"
Specifies whether or not asynchronous scrolling is allowed.  The default is
``false.''
.TP 8
.B "nMarginBell (\fPclass\fB Column)"
Specifies the number of characters from the right margin at which the margin
bell should be run, when enabled.
.TP 8
.B "pointerColor (\fPclass\fB Foreground)"
Specifies the color of the mouse cursor.  The default is ``black.''
.TP 8
.B "pointerShape (\fPclass\fB Cursor)"
Specifies the name of the shape of the mouse cursor.  The default is ``xterm.''
.TP 8
.B "reverseVideo (\fPclass\fB ReverseVideo)"
Specifies whether or not reverse video should be simulated.  The default is
``false.''
.TP 8
.B "reverseWrap (\fPclass\fB ReverseWrap)"
Specifies whether or not reverse-wraparound should be enabled.  The default is
``false.''
.TP 8
.B "titleInhibit (\fPclass\fB TitleInhibit)"
Specifies whether or not \fIrational\fP should remove remove \fIti\fP or \fIte\fP
termcap entries (used to switch between alternate screens on startup of many
screen-oriented programs) from the TERMCAP string.
.TP 8
.B "translations (\fPclass\fB Translations)"
Specifies the key and button bindings for menus, selections, ``programmed
strings'', etc.  See \fBKEY/BUTTON BINDINGS\fP below.
.TP 8
.B "visualBell (\fPclass\fB VisualBell)"
Specifies whether or not a visible bell (i.e., flashing) should be used instead
of an audible bell when Control-G is received.  The default is ``false.''
.sp
.PP
.TP 8
.B "vt100Recognition" (\fPclass \fB Vt100Recognition)"
Defaults to "false".  When "true", forces rational to act just like a VT100
(actually a VT102).  When "false", it allows rational to perform
terminal-recognition in the fashion expected by an R1000 computer.  See the
discussion on the -rcg switch and the VT100 Recognition menu entry.
.SH EMULATIONS
The VT102 emulation is fairly complete but does not support the blinking
character attribute or the double-wide and double-size character sets.
.IR termcap (5)
entries that work with
.I rational
include ``xterm'', ``vt102'', ``vt100'' and ``ansi'', and
.I rational
automatically searches the termcap file in this order for these entries and then
sets the ``TERM'' and the ``TERMCAP'' environment variables.
.PP
.SH "MOUSE/POINTER USAGE"
.PP
Once the VT102 window is created,
.I rational
allows you to select text and copy it within the same or other windows.
.PP
The selection functions are invoked when the mouse buttons are used with no
modifiers and when they are used with the Shift key.
.PP
Mouse button 1 (usually left) is used to save text into the cut buffer.
Move the cursor to beginning of the text
and then hold the button down while moving the cursor to the end of the region
and releasing the button.
The selected text is highlighted and is saved in the global cut buffer
and made the PRIMARY selection when
the button is released.  Double-clicking selects by words.  Triple-clicking
selects by lines.  Quadruple-clicking goes back to characters, etc.
Multiple-click is determined by the time from button up to
button down, so you can change the selection unit in the middle of a selection.
\fIrational\fP leaves the selected text highlighted for as long as it
is the selection owner.
.PP
Mouse button 1 shifted extends the current selection
(without loss of generality,
that is you can swap ``right'' and ``left'' everywhere in the rest of this
paragraph...).  If pressed while closer to
the right edge of the selection than the left, it extends/contracts the
right edge of the selection.  If you contract the selection past
the left edge of the selection,
.I rational
assumes you really meant the left edge, restores the original selection, then
extends/contracts the left edge of the selection.  Extension starts in the 
selection unit mode
that the last selection or extension was performed in; you can multiple-click
to cycle through them.
.PP
Mouse button 2 (usually middle) `types' (pastes) the text from
the PRIMARY selection, if any, otherwise from
the cut buffer,
inserting it as keyboard input.
.PP
By cutting and pasting pieces of text without trailing new lines,
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 be treating it as if it
were a text file, i.e., the text is delimited by new lines.
.PP
Special note to R1000 users: When connected to a Rational computer the
cut-and-paste buttons work a little differently than described above.
Mouse buttons 1, 2, and 3 transmit the MOUSE_BUTTON1/2/3 key codes to the
R1000.  When the Shift key is pressed, mouse buttons 1, 2, and 3 transmit
the MOUSE_BUTTON4/5/6 key codes to the R1000. When the Control key is 
pressed, mouse buttons 1, 2, and 3 transmit the MOUSE_BUTTON7/8/9 keycodes
to the R1000. See  "On Mouse" in the Help menu.

.SH "CHARACTER CLASSES"
Clicking the left mouse button twice in rapid succession causes all
characters of the same class (e.g. letters, white space, punctuation) to be
selected.  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), the default mapping can be overridden through the use 
of the \fIcharClass\fP (class \fICharClass\fP) resource.
.PP
This resource is simply a list of \fIrange\fP:\fIvalue\fP pairs where the
range is either a single number or \fIlow\fP-\fIhigh\fP in the range of 0
to 127, corresponding to the ASCII code for the character or characters to be
set.  The \fIvalue\fP is arbitrary, although the default table uses the
character number of the first character occurring in the set.
.PP
The default table is:
.sp
.in +10
.nf
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,
/*   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};
.fi
.sp
.in -10
For example, the string ``33:48,37:48,45-47:48,64: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.
.SH "KEY TRANSLATIONS"
.PP
It is possible to rebind keys (or sequences of keys) to arbitrary strings
for input by changing the translations for the vt100 widget.
Changing the translations for events other than key and button events
is not expected and causes unpredictable behavior.
.PP
The actions available for key translations are:
.TP 15
.B insert()
Processes the key in the normal way; i.e., inserts the
ASCII character code corresponding to the keysym found in the
keyboard mapping table into the input stream.
.TP 15
.B string(\fIstring\fB)
Rebinds the key or key sequence to the string value; that is, inserts the
string argument into the input stream.
Quotation is necessary if the string contains whitespace 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.
.TP 15
.B keymap(\fIname\fB)
The \fBkeymap\fP action takes a single string argument naming a resource
to be used to dynamically define a new translation table; the name of the
resource is obtained by appending the string ``Keymap'' to
\fIname\fP.   The keymap name \fBNone\fP
restores the original translation table
(the very first one; a stack is not maintained).  Upper/lowercase is
significant.
.TP 15
.B insert-selection(\fIname\fP[,\fIname\fP]...\fB)
Retrieves the value of the first (leftmost) named selection that exists
or cut buffer that is non-empty
and inserts the value into the input stream. \fIName\fP is the
name of any selection (for example, \fBPRIMARY\fP or \fBSECONDARY\fP), or
the name of a cut buffer: \fBCUT_BUFFER0\fP, ..., \fBCUT_BUFFER7\fP.
Upper/lowercase is significant.
.PP
For example, a debugging session might benefit from the following bindings:
.sp
.in +4
.Ds
.TA .5i
.ta .5i
*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)
.De
.sp
.in -4
.SH KEY/BUTTON BINDINGS
Within the VT100 widget the key and button bindings for selecting
text, pasting text, and activating the menus are controlled by the
translation bindings.  In addition to the actions listed above under
\fBKEY TRANSLATIONS\fP, the following actions are available:
.TP 15
.B select-start()
Unselects any previously selected text and begins selecting new text.
.TP 15
.B select-extend()
Continues selecting text from the previous starting position.
.TP 15
.B start-extend()
Begins extending the selection from the farthest (left or right) edge.
.TP 15
.B select-end(\fIname\fP[,\fIname\fP]...\fB)
Ends the text selection.  \fIName\fP is the name of a selection or
the name of a cut buffer into which the text is to be copied.  \fIrational\fP
asserts ownership of all the selections named and copies the text
into each of the cut buffers.  Upper/lowercase is significant.
.TP 15
.B ignore()
Quietly discards the key or button event.
.TP 15
.B bell(\fP[\fIvolume\fP]\fB)
Rings the bell at the specified volume increment above/below the base volume.
.PP
The default bindings are:
.sp
.in +4
.Ds
.TA .5i 1i 2i
.ta .5i 1i 2i
!Ctrl		<Key>Tab:	go-next-field() \\n\\
 Shift		<Key>Tab:	go-previous-field() \\n\\
		<Key>Return:	insert-seven-bit()    \\n\\
	~Meta	<KeyPress>:	insert-seven-bit()      \\n\\
	 Meta	<KeyPress>:	insert-eight-bit()      \\n\\
!Shift		<Btn1Down>:	start-extend()  \\n\\
!Shift		<Btn1Motion>:	select-extend() \\n\\
~Ctrl		<Btn1Down>:	select-start()  \\n\\
~Ctrl		<Btn1Motion>:	select-extend() \\n\\
~Ctrl		<Btn2Down>:	ignore()        \\n\\
~Ctrl		<Btn2Up>:	insert-selection(PRIMARY, CUT_BUFFER0) \\n\\
~Ctrl		<Btn3Down>:	ignore()        \\n\\
~Ctrl		<Btn3Motion>:	ignore()        \\n\\
	~Meta	<Btn1Down>:	select-start()  \\n\\
	~Meta	<Btn1Motion>:	select-extend() \\n\\
	~Meta	<Btn2Up>:	insert-selection(PRIMARY, CUT_BUFFER0) \\n\\
	~Meta	<BtnUp>:	select-end(PRIMARY, CUT_BUFFER0) \\n\\
		<BtnDown>:	bell(0)         

.De
.sp
.in -4
.SH ENVIRONMENT
.I RATIONAL
sets the environment variables ``TERM'' and ``TERMCAP'' properly for the
size window you have created.
It also uses and sets the environment
variable ``DISPLAY'' to specify which bit map display terminal to use.
The environment variable ``WINDOWID'' is set to the X window id number
of the
.I rational
window.
.SH "SEE ALSO"
resize(1), X(1), pty(4), tty(4)
.SH BUGS
.PP
.SH VERSION
.nf
Rev1_0_0
November 1992
.fi