scoterm(X) 06 January 1993 scoterm(X) Name scoterm - terminal emulator for X Command syntax scoterm [Xtoptions] [-option ...] Desktop syntax Double-click on the UNIX icon. (The default location of the UNIX icon is on the Desktop.) Description scoterm (known to Desktop users as the ``UNIX window'') is an X client that emulates the SCO ANSI console; it produces a default window 80 columns wide by 25 lines in length. scoterm runs under the Open Server graphical operating environment. Any application that runs on the SCO ANSI console can run under scoterm. There is one distinction, however: scoterm is a character-based terminal emulator and, therefore, does not support graphics mode or blinking characters. scoterm offers many features not available in the standard X windows ter- minal emulator, xterm, including: + ANSI display control string support + Font support + Mouse support + Console keyboard compatibility + Resize support + Eight-bit character support + International keyboard support + Scancode support Command options scoterm supports all Xtoptions(X), in addition to the following options: -help prints out a verbose message describing its options -ah indicates that scoterm always highlights the text cur- sor, even when keyboard focus is lost or the pointer leaves the window. scoterm +ah indicates that scoterm displays a hollow text cursor whenever the keyboard focus is lost or the pointer leaves the window. This is the default behavior. -b number specifies the size of the inner border (the distance between the outer edge of the characters and the window border) in pixels. The default size is 2 pixels. -blink displays a blinking cursor +blink displays a steady, non-blinking cursor. By default, scoterm displays a non-blinking cursor. -cb changes the effect of triple-clicking the mouse on a line of text. Usually, triple-clicking highlights the entire line. When this option is used, however, triple-clicking highlights only the word that the pointer is on and the portion of the line to the right of that word. +cb specifies that triple-clicking the mouse on a line highlights the entire line. This mode is the default. -cc characterclassrange:value[,...] reassigns specific characters to different character classes. This option is important when you select text with the mouse in one-word increments. For details, see ``Character classes'' later in this manual page. -charset ibm437|iso8859 tells scoterm to use the keyboard maps for either the IBM437 or ISO8859-1 character sets. Select the same character set as the one being used on the system scoterm is running on. -cmap tells scoterm to use its own ANSI color map, if neces- sary +cmap tells scoterm to use the X server's default color map. scoterm uses the server's color map by default. -cn indicates that new lines are not cut in line-mode selec- tions +cn indicates that new lines are cut in line-mode selections -e program [arguments ...] specifies that the program (and its command line argu- ments) runs in the scoterm window. It also sets the window title and icon name to be the base name of the program being executed if neither -T (or -title) nor -n are given on the command line. -e must be the last option on the command line. -fb font specifies the font to use when displaying bold text. This font must be the same height and width as the non- bold font. If you do not specify both a non-bold font and a bold font, scoterm produces a bold font by over- striking the non-bold font. The default is to overstrike the normal font. -j indicates that scoterm jump scrolls. Usually, text is scrolled one line at a time; this option allows scoterm to move multiple lines at a time so that it does not fall as far behind. This option makes scoterm much fas- ter when scanning through large amounts of text. You can also turn this feature on with the Jump scroll item in the Display submenu of the Options menu. +j indicates that scoterm does not jump scroll. You can also disable the jump scroll feature with the Jump scroll item in the Display submenu of the Options menu. -keyboard name identifies the keyboard type the X server uses. Key- board styles vary in the layout of the keys on the key- board. For example, -keyboard German specifies the Ger- man keyboard type. To see what languages are available, check the file specified by the language resource file. This option can be dynamically modified with the Key- board submenu of the Options menu. -l indicates that scoterm sends all terminal output to a log file as well as to the screen. You can also turn this option on with the Open Logfile item in the File menu. +l indicates that scoterm does not log terminal output. You can also disable logging with the Open Logfile item in the File menu. -lf filename specifies the name of the file to which the output log (described above) is written. This option only works if the option -l was also specified. If filename 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 ScotrmLogXXXXX, where XXXXX is the process ID of scoterm, and is created in the directory from which scoterm was started (or the user's home directory in the case of a login window). You can also set this option with the Save Logfile item in the File menu. -ls indicates that the shell started in the scoterm window is a login shell (that is, the first character of argv[0] is a dash, indicating to the shell that it should read the user's .login or .profile files) +ls indicates that the shell started in the scoterm window is not a login shell (that is, it is a ``normal'' sub- shell) -mb indicates that scoterm rings a margin bell when you type near the right end of a line. You can also enable this option with the Margin Bell item in the Display submenu of the Options menu. +mb indicates that a margin bell does not ring. You can disable this option with the Margin Bell item in the Display submenu of the Options menu. -menu indicates that scoterm does not display a menu bar when it starts up +menu displays a menu bar when scoterm starts up. If you start scoterm without the menu bar, you can activate the menu interface by pressing the <Ctrl> key and mouse but- ton 1 simultaneously. scoterm displays the menu bar by default. -mono tells scoterm not to use color in its displays +mono tells scoterm to use color in its windows. scoterm uses color by default. -mptys tells scoterm to use the merged pseudo tty architecture used by SCO UNIX System V/386 Release 3.2, Version 4.0 +mptys tells scoterm to use the merged pseudo tty architecture used by UNIX systems prior to Release 3.2 Version 4.0 -nb number specifies the number of characters from the right end of a line at which the margin bell, if enabled, rings. The default is 10 characters. -rw allows reverse-wraparound. This lets the cursor back up from the left-most column of one line to the right-most column of the previous line. It is very useful for editing long shell command lines. You can also enable this option with the Reverse wraparound item in the Dis- play submenu of the Options menu. +rw disallows reverse-wraparound. You can also disable reverse-wraparound with the Reverse wraparound item in the Display submenu of the Options menu. -s indicates that scoterm scrolls asynchronously, meaning that the screen does not have to be kept completely up- to-date while scrolling. This allows scoterm to run faster when network latencies are very high and is typi- cally useful when running across a very large internet or many gateways. +s indicates that scoterm scrolls synchronously -sb displays a scroll bar +sb indicates that a scroll bar is not displayed -scancodes runs scoterm in scancode mode +scancodes indicates that scoterm does not run in scancode mode -si indicates that output to a window does not automatically reposition the screen to the bottom of the scrolling region +si indicates that output to a window causes the screen to scroll to the bottom -sk indicates that pressing a key while using the scroll bar to review previous lines of text causes the window to be repositioned automatically in the normal position at the bottom of the scroll region. You can also disable this automatic repositioning with the ``Jump to bottom when key pressed'' item in the Display submenu of the Options menu. +sk indicates that pressing a key while using the scroll bar does not cause the window to be repositioned. You can also enable this option with the ``Jump to bottom when key pressed'' item in the Display submenu of the Options menu. -sl number specifies the number of lines scrolled to save from the top of the screen. The default is 64 lines. -tm string specifies a series of terminal setting keywords followed by the characters that should be bound to those func- tions, similar to the stty program. Allowable keywords include: intr, quit, erase, kill, eof, eol, swtch, start, stop, brk, susp, dsusp, rprnt, flush, weras, and lnext. You can specify control characters as ^char (for example, ^c or ^u), and you can use ^? to indicate delete. -tn name specifies the name of the terminal type to be set in the TERM environment variable. This terminal type must exist in the termcap(F) database and should have li# and co# entries. The default terminal type is ANSI. -ut indicates that scoterm does not write a record into the system log file /etc/utmp +ut indicates that scoterm writes a record into the system log file /etc/utmp -vb specifies a visual bell rather than an audible one. Instead of ringing the terminal bell whenever a <Ctrl>G is received, the window flashes. You can also enable this option with the Visual Bell item in the Display submenu of the Options menu. +vb indicates that a visual bell is not used. You can also disable the visual bell with the Visual Bell item in the Display submenu of the Options menu. -wf waits for the window to be mapped the first time before starting the subprocess so that the initial terminal size settings and environment variables are correct. It is the application's responsibility to catch subsequent terminal size changes. +wf indicates that scoterm does not wait before starting the subprocess. -C indicates that this window receives con- sole output. -Sccn specifies the last two letters of the name of a pseudoterminal to use in slave mode, plus the number of the inherited file descriptor. The option is parsed %c%c%d. This allows scoterm to be used as an input and output channel for an existing program and is sometimes used in specialized applications. Desktop options You can invoke a menu item either with the mouse or with provided key- board sequences. All menu items have an underlined letter (mnemonic) you can use instead of using the mouse when the menu is open. Some menu items also have a keyboard sequence to invoke them without opening the menu (accelerators). If a menu item has an accelerator, it is shown on the menu to the right of the item. Because scoterm is a terminal emula- tor, all key sequences are passed on to the application running under scoterm; therefore, no mnemonics are available on the menu bar. See the User's Guide for more about using mnemonics and accelerators. The resources for the menus are described in the documentation for the Motif widget. The actions invoked by each menu entry are described in the ``Actions'' later in this manual page. Use the File menu to open and close files that log screen activity, redraw windows, reset scroll regions, and exit (scoterm). Open logfile... brings up a dialog box that lets you select a file to log screen activity. This item is not available if a logfile is already open. Save logfile saves and closes the logfile. This item is not avail- able unless a logfile is open. Redraw window redraws the contents of the window Reset (soft) resets scroll regions from partial scroll (a portion of the window) to full scroll. Use this command when a program has left the scroll region set incorrectly. Reset clears the screen, resets tabs to every eight columns, reinitializes the keyboard mapping data, restores the sprite (for example, the mouse cursor) to its default shape, and resets the terminal modes (such as wrap and jump scroll) to their initial states just after scoterm has finished processing the command line options Exit exits scoterm Use the Edit menu to paste highlighted text. Paste copies highlighted text strings to the right of the current text cursor position. For example, if you have created a logfile with the Open Logfile item, you can simply copy a string from this file onto the command line rather than typing it onto the screen. You can also cut and paste between scoterm applications and other applications such as scoedit. Use the Options menu to open the Display, Font Size, and Keyboard sub- menus. Use the Display submenu to manipulate the (scoterm) window. Each item toggles between on and off. Scrollbar gives the scoterm window a scroll bar to let you scroll previous input and output back onto the screen for review Jump scroll scrolls several lines at a time off the top of the screen, instead of just one line at a time. This is on by default. Auto wraparound lets text or data wrap to the next line when you are entering text and the cursor reaches the right window border Reverse wraparound lets the cursor wrap around from the left-most column of a line to the right-most column of the previous line. (In other words, you can backspace to the previous line.) Auto linefeed generates a linefeed character at the end of each line. This feature is useful with programs that generate a carriage return without dropping down a line on your screen. It is not usually needed on UNIX systems. Jump to bottom when key pressed works in conjunction with the scroll bar. If you have used the scroll bar to scroll up through previously dis- played text, pressing any key automatically snaps the window back down to the last line of text. Jump to bottom when message received works in conjunction with the scroll bar. If you are using the scroll bar to scroll up through previously displayed text and a program suddenly sends a message to the screen, this automatically scrolls you back down to the bottom of the saved text, to the place where the message has appeared. This item is automatically selected if the window has a scroll bar. Visual Bell replaces the terminal bell with a visual signal. In situations where the terminal's bell would sound, the window flashes brightly instead. Margin bell rings the terminal bell as a warning if you are typing and you approach the right end of the line. The default number of characters at which the margin bell should ring is 10. Secure keyboard lets you type in passwords or other sensitive data when you are working in an unsecure environment. See ``Secu- rity'' later in this manual page. Allow clients to send events lets applications other than the X server send events to the scoterm window Use the Font Size submenu to select one of the following type sizes: Default resets the size of the screen text to the font specified when scoterm is initialized 6 by 13 changes the size of the screen text to the smallest typesize available, 6 by 13 8 by 13 changes the size of the screen text to the second small- est typesize available, 8 by 13 9 by 15 changes the size of the screen text to the second larg- est typesize available, 9 by 15 10 by 20 changes the size of the screen text to the largest typesize available, 10 by 20 You can change the font and size specified by each of the Font Size sub- menu items by editing your X resource file. Use the Keyboard submenu to select your keyboard type (German, French, or Italian, for example) from a scrollable list. Security If your server is only using a host-based mechanism to control access to the server (see xhost(X)), security might be inadequate. When you enable access for a host and other users are also permitted to run clients on that same host, there is every possibility that someone can run an appli- cation that uses the basic services of the X protocol to pry into your activities, including everything you type at the keyboard. This is of particular concern when you want to type in a password or other sensitive data. The best solution to this problem is to use a better authorization mechanism than host-based control, but a simple mechanism exists for pro- tecting keyboard input in scoterm. When enabled, the Secure keyboard item in the Options menu (see ``Desktop options'' earlier in this manual page) ensures that all keyboard input is directed only to scoterm (using the GrabKeyboard protocol request). When an application prompts you for a password (or other sensitive data), you can enable Secure keyboard using the menu, type in the data, then disable Secure keyboard using the menu again. Only one X client at a time can secure the keyboard, so when you attempt to enable Secure keyboard, it might fail. In this case, the bell sounds. If the Secure keyboard succeeds, any characters that you type are dis- played in reverse video. If this does not happen, then you should be very suspicious that you are being ``hoaxed''. If the application you are running displays a prompt before asking for the password, it is safest to enter secure mode before the prompt gets displayed. Then make sure that the text that you type is displayed in reverse video, to minim- ize the probability of hoaxing. You can also bring up the menu again and make sure that a check mark appears next to the menu item. Secure keyboard mode is disabled automatically if your scoterm window becomes unmapped, or if you start up a reparenting window manager (that places a title bar or other decoration around the window) while in Secure keyboard mode. (This is a feature of the X protocol that is not easily overcome.) When this happens, the foreground and background colors are switched back and the bell sounds in warning. Font/display support scoterm comes with four IBM(r) Code Page 437 fonts for the SCO X server. They range in size from 6 by 13 to 10 by 20 pixels per character. All these fonts provide the same character set that is supported by the SCO ANSI console, including 8-bit character support for line-drawing charac- ters, international characters, and Greek characters. You can change the scoterm font in the middle of a session by choosing another font from the Font Size submenu of the Options menu. (When a font name begins with the prefix ``ibm,'' scoterm assumes that the font is an IBM Code Page 437 font.) You can also use some non-IBM fonts under scoterm. scoterm supports the ISO 8859 fonts that come with the Open Systems Software server. Eight-bit character support scoterm supports 8-bit characters. The IBM fonts provided with scoterm include 8-bit characters. Eight-bit characters are also included in the CharClass for scoterm's cut-and-paste options, and can be remapped using the charClass resource. SCO ANSI display control string compatibility scoterm supports all SCO ANSI display control sequences. Any application that you subsequently run has the following ANSI console features: inverse video, line drawing, boldface, and underlining. scoterm does not support blinking characters or the double-wide and double-size character sets. Proportional fonts are not supported. scoterm is configured to use 2 colors on graphics adapters that support 16 colors. If the server provides 256 colors, 16-color support is avail- able. If your server provides 256 colors, to configure scoterm for 16-color support, make a copy of /usr/lib/X11/sco/startup/ScoTerm and delete everything from the copy except the *Ansi color resources (for example, *Ansi.background, *Ansi.foreground, *Ansi.blue, *Ansi.lt_green, and *Ansi.lt_cyan). Remove the exclamation point (!) preceding those *Ansi color resources you want to configure and assign each a color value. Then add the ScoTerm* class name in front of the resources. Append the edited copy to .Xdefaults-hostname. This provides some additional colors for scoterm but may fail if the colormap is already nearly full. Starting scoterm with the -cmap option gives scoterm its own private colormap, and changes the colors of the other clients when scoterm has mouse focus. Environment variables scoterm 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 bitmap display terminal to use. The environment variable WINDOWID is set to the X window ID number of the scoterm window. When you start scoterm, it automatically sets the TERM type inside its window to ansi and the TERMCAP environment variable to the contents of the ANSI entry. If you use the -ls option to run a login shell in the scoterm (UNIX icon) window, enter ansi at the TERM type prompt. Resize support scoterm windows, like xterm windows, can be resized and iconified. Applications running inside scoterm can automatically resize themselves to match the new window size, if they were designed to do so. However, most character-based applications are not designed this way. Refer to the resize(X) manual page for more information on resizing scoterm win- dows. Keyboard/mouse support scoterm supports the SCO Event Manager API, which supports both mouse and keyboard events. Like xterm, scoterm uses mouse commands to call its menus and to cut and paste text in the scoterm window. Unlike, xterm, scoterm also lets you use the mouse with character-based applications supporting the mouse. By default, scoterm works with applications that rely on X to track the mouse. This mode allows the application to change the pointer to any of the cursor shapes included with X. scoterm also lets you use the mouse to handle mouse movements and button events for applications that do their own mouse tracking and were not designed with X in mind. Focusing the mouse within scoterm scoterm supports all character-based applications, including those that are not compatible with the X Window system. If an application uses a mouse but does not recognize X, you can focus all mouse activity within the scoterm window by pressing <Ctrl><Alt><Bksp> at the same time. When you do this, the X cursor disappears. The application in the scoterm window now controls the mouse, and the cursor stays within the confines of the window. To return mouse control to X, press <Ctrl><Alt><Bksp> again. International keyboard support scoterm provides international keyboard support. At startup, scoterm determines the keyboard language it is supposed to emulate as follows: + If you enter the -keyboard name command-line option, scoterm uses it to determine the keyboard language. + If a you do not enter a command-line option, scoterm uses the language specified in the X resource databases: .Xdefaults-hostname, /usr/lib/X11/app-defaults, RESOURCEMANAGER, and so on. Set the resource to Scoterm*Keyboard. + If you do not specify the keyboard language in the X resource data- bases, or you specify an invalid keyboard language, scoterm uses the LANG environment variable to determine the keyboard language. + If all of the above fail, scoterm defaults to the first keyboard lan- guage specified in the Keyboard submenu of the Options menu. Note that selecting a language from the Keyboard submenu only works if the Graphical Environment has been configured to use that keyboard lan- guage. For more information on configuring a non-U.S. English key- board, see the Graphical Environment Administrator's Guide. To inform scoterm what kind of keyboard the X server is using, you can select the keyboard type at any time after scoterm startup. This lets you dynamically switch between keyboards. Console keyboard compatibility scoterm supports all the keyboard configuration utilities provided by the SCO ANSI console, including setkey(C), mapchan(M), mapkey(M), and mapstr(M). Scancode support scoterm provides XT scancode support, allowing the kernel to receive values associated with both the depression and the release of each key on the keyboard. For more information, see the SCO Scancode Developers Kit Release and Installation Notes. Copying and pasting text with the mouse From within the scoterm window, you can use the mouse to copy and paste text. You can select text, copy it into a temporary buffer, then paste the text from the buffer to the desired location. If you are running more than one scoterm window, you can easily cut and paste text between those windows. You can also cut and paste between scoterm and other applications. The default mouse commands for selecting, copying, and pasting text are described below. These functions can be assigned to other buttons and keys through the resource database (see the ``Actions'' section later in this manual page). For information about using common window controls, such as scroll bars, see the User's Guide. _________________________________________________________________________ NOTE Some applications that you run under scoterm might also use the mouse. When that is the case, the button commands for copying and pasting do not work. The mouse command goes to the applica- tion, which interprets it according to its own rules. To use the scoterm cut-and-paste commands under these circumstances, press the <Shift> key and the appropriate mouse button simultaneously. This sends the mouse command to scoterm instead of the application. You can then copy and paste text normally. _________________________________________________________________________ Selecting and copying text To select text, move the cursor to the beginning of the text, drag with mouse button 1 to the end of the region that you want to copy then release the button. As you drag the mouse to select text, by default the highlighted area expands in increments of one character, so you can select just part of a line or part of a word. You can change this default setting as you select text, by clicking the mouse button. + To expand the selected area in one-word increments, double-click mouse button 1. + To expand the selected area in one-line increments, triple-click mouse button 1. + To return the mouse to its default setting, quadruple-click mouse but- ton 1. You can change back and forth between these modes while selecting a piece of text. The text that you select is highlighted, saved into a global cut buffer, and made the Primary selection when the button is released. If the key/button bindings specify that an X selection is to be made, scoterm leaves the selected text highlighted for as long as it is the selection owner. See the Open Server User's Guide for more information. Pasting text To paste text that you have copied, press mouse button 2 (or select Paste from the Edit menu). This action pastes the text from the Primary selec- tion, if any, or from the cut buffer. The text is inserted as keyboard input at the prompt in the window. You can paste the text back into the same window or switch to another scoterm window and paste it there instead. You can also paste between scoterm and other applications. 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 an editor. Because the cut buffer is globally shared among different applications, you should regard it as a file whose contents you know. The terminal emulator and other text programs should treat the buffer as if it were a text file. Character classes Clicking the first mouse button twice in rapid succession causes all con- tiguous characters of the same class (for example, letters, white space, punctuation) to be selected. Because different people have different preferences for what should be selected (for example, whether should filenames be selected as a whole or only the separate subnames), the default mapping can be overridden through the use of the charClass (class: CharClass) resource. This resource is simply a list of range:value pairs where the range is either a single number or low-high in the range of 0 to 255, corre- sponding to the ASCII code for the character or characters to be set. The value is arbitrary, although the default table uses the character number of the first character occurring in the set. The default table is: static int charClass[256] = { /* 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, /* 128 129 130 131 132 133 134 135 */ 48, 48, 48, 48, 48, 48, 48, 48, /* 136 137 138 139 140 141 142 143 */ 48, 48, 48, 48, 48, 48, 48, 48, /* 144 145 146 147 148 149 150 151 */ 48, 48, 48, 48, 48, 48, 48, 48, /* 152 153 154 155 156 157 158 159 */ 48, 48, 48, 155, 156, 157, 158, 159, /* 160 161 162 163 164 165 166 167 */ 48, 48, 48, 48, 48, 48, 48, 48, /* 168 169 170 171 172 173 174 175 */ 168, 169, 170, 171, 172, 173, 174, 175, /* 176 177 178 179 180 181 182 183 */ 176, 177, 178, 179, 179, 179, 179, 179, /* 184 185 186 187 188 189 190 191 */ 179, 179, 179, 179, 179, 179, 179, 179, /* 192 193 194 195 196 197 198 199 */ 179, 179, 179, 179, 179, 179, 179, 179, /* 200 201 202 203 204 205 206 207 */ 179, 179, 179, 179, 179, 179, 179, 179, /* 208 209 210 211 212 213 214 215 */ 179, 179, 179, 179, 179, 179, 179, 179, /* 216 217 218 219 220 221 222 223 */ 179, 179, 179, 219, 219, 219, 219, 219, /* 224 225 226 227 228 229 230 231 */ 224, 224, 224, 224, 224, 224, 224, 224, /* 232 233 234 235 236 237 238 239 */ 224, 224, 224, 224, 236, 224, 224, 239, /* 240 241 242 243 244 245 246 247 */ 240, 241, 242, 243, 244, 245, 246, 247, /* 248 249 250 251 252 253 254 255 */ 248, 249, 250, 251, 252, 253, 254, 255 }; For example, the string ``ScoTerm*charClass: 33:48,37:48,45-47:48,64:48'' indicates that the exclamation mark, percent sign, dash, period, slash, and at-sign characters should be treated the same way as characters and numbers. This is very useful for cutting and pasting electronic mailing addresses and filenames. Resources You can customize some characteristics of scoterm by editing your per- sonal X resource file (which also contains your preferences for other X clients): $HOME/.Xdefaults-hostname where $HOME represents your home directory and hostname is the name of the computer. If this file does not exist, create it. Some of the more useful resources are listed here. For guidelines on how to modify the resources, see the Graphical Environment Administrator's Guide. scoterm accepts the core X Toolkit resource names and classes (see Xtoptions(X) for more information), and the following resources. The class name for each resource follows its description (the class name for scoterm is ScoTerm). See /user/lib/X11/rgb.txt for more information on color resources. iconGeometry (class: IconGeometry) specifies the preferred size and position of the appli- cation when iconified. The default behavior is speci- fied by the window manager. This resource is not neces- sarily obeyed by all window managers. monochrome (class: Monochrome) is set to true or false. If true, the scoterm window emulates a monochrome monitor. If false, the window allows color. The default is false. See also the description of the resource useDefaultColormapOnly. termName (class: TermName) specifies the terminal type name to be set in the TERM environment variable. The default is ansi. title (class: Title) specifies a string the window manager can use when dis- playing this application. The default is the name of the scoterm executable file, scoterm. ttyModes (class: TtyModes) specifies a string containing terminal setting keywords and the characters to which they may be bound. Allow- able 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 (for example, ^c or ^u) and ^? can indicate delete. This is very useful for overriding the default terminal settings without having to do an stty every time scoterm is started. Here are examples: Scoterm*ttymodes: erase ^H Scoterm*ttymodes: erase ^H kill ^U useDefaultColormapOnly (class: UseDefaultColormapOnly) is set to true or false. When this resource has a value of true, scoterm draws on the X default color map for colors that are the closest to the standard DOS colors. (If it cannot find a corresponding color in the default map, scoterm uses white.) If this resource is false, scoterm uses the DOS colors. The useDefaultColormapOnly resource is active only when the monochrome resource is set to false. utmpInhibit (class: UtmpInhibit) is set to true or false. This resource specifies whether scoterm should try to record the user's terminal in /etc/utmp. The default is false, and it is set in /usr/lib/X11/app-defaults/Scoterm. The following resources are specified as part of the ANSI widget (class: Ansi): allowSendEvents (class AllowSendEvents) is set to true or false. This resource specifies whether 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. You can enable this feature with the ``Allow clients to send events'' item in the Display submenu of the Options menu. alwaysHighlight (class: AlwaysHighlight) is set to true or false. This resource specifies whether scoterm should always display a highlighted text cursor. The default is false, which means that a hollow text cursor is displayed when the pointer moves out of the window or the window loses the input focus. altPrefix (class: AltPrefix) specifies that, when the user presses <Alt> while typing a character, a specified character should be sent as a prefix to the typed character. The value of altPrefix should be the ASCII decimal value of the character that you want to use as a prefix. This resource is active only when the eightBitInput resource is set to false. The default value of this resource is null. blink (class: Blink) specifies whether the cursor blinks in the scoterm win- dow. If this resource's value is true, the cursor blinks. If the value is false, the cursor does not blink. The default value is false. blinkRate (class: BlinkRate) specifies how fast the cursor blinks in the scoterm win- dow if the blink resource is set to true. The default value is 400 (the cursor blinks once every 400 mil- liseconds). blue (class: AnsiColors) specifies a different color name or value that scoterm should use instead of the standard ANSI blue. The color can be any color that your server supports. boldFont (class: Font) specifies the name of the default bold font to use instead of overstriking. The default font is ibm6x13B. boldFont1 (class: Font1) specifies the name of the bold font to use for the first alternate font instead of overstriking. The default font is ibm6x13B. boldFont2 (class: Font2) specifies the name of the bold font to use for the second alternate font instead of overstriking. The default font is ibm8x13B. boldFont3 (class: Font3) specifies the name of the bold font to use for the third alternate font instead of overstriking. The default font is ibm9x15B. boldFont4 (class: Font4) specifies the name of the bold font to use for the fourth alternate font. The default font is overstriking ibm10x20. brown (class: AnsiColors) specifies a different color name or value to use instead of the standard ANSI brown. The color can be any color that your server supports. charClass (class: CharClass) specifies comma-separated lists of character class bind- ings of the form [low-]high:value. These are used in determining which sets of characters should be treated the same when doing cut and paste. See also ``Character classes'' later in this manual page. cyan (class: AnsiColors) specifies a different color name or value to use instead of the standard ANSI cyan. The color can be any color that your server supports. background (class: Background) specifies the color to use for the window background and the color name or value to use in place of the standard ANSI black. The default is black. See scocolor(X) for more information on setting background colors. foreground (class: 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 nor- mally appear in the ``text'' color change color. This resource also specifies the color name or value to use in place of the standard ANSI white. The default color is white. See scocolor(X) for more information on set- ting foreground colors. eightBitInput (class: EightBitInput) specifies whether 8-bit characters are accepted. The default is false. See also the description of the altPrefix resource. font (class: Font) specifies the name of the normal font. The default font is ibm6x13. font1 (class Font1) specifies the name of the first alternate font. The default font is ibm6x13. font2 (class: Font2) specifies the name of the second alternate font. The default font is ibm8x13. font3 (class: Font3) specifies the name of the third alternate font. The default font is ibm9x15. font4 (class Font4) specifies the name of the fourth alternate font. The default font is ibm10x20. geometry (class: Geometry) specifies the preferred size and position of the window gray (class: AnsiColors) specifies a different color name or value to use instead of the standard ANSI gray. The color can be any color that your server supports. green (class: AnsiColors) specifies a different color name or value to use instead of the standard ANSI green. The color can be any color that your server supports. hiwhite (class: AnsiColors): specifies a different color name or value to use instead of the standard ANSI hi_white. The color can be any color that your server supports. ibmGrave (class: IbmGrave) specifies the value used in the IBM mapkey and mapchan files representing the grave character in the ibm437 character set ibmAcute (class: IbmAcute) specifies the value used in the IBM mapkey and mapchan files representing the acute character in the ibm437 character set ibmDiaeresis (class: IbmDiaeresis) specifies the value used in the IBM mapkey and mapchan files representing the diaeresis character in the ibm437 character set ibmCircumflex (class: IbmCircumflex) specifies the value used in the IBM mapkey and mapchan files representing the circumflex character in the ibm437 character set ibmTilde (class: IbmTilde) specifies the value used in the IBM mapkey and mapchan files representing the tilde character in the ibm437 character set ibmRing (class: IbmRing) specifies the value used in the IBM mapkey and mapchan files representing the ring character in the ibm437 character set ibmCedilla (class: IbmCedilla) specifies the value used in the IBM mapkey and mapchan files representing the cedilla character in the ibm437 character set ibmParagraph (class: IbmParagraph) specifies the value used in the IBM mapkey and mapchan files representing the paragraph mark in the ibm437 character set ibmSection (class: IbmSection) specifies the value used in the IBM mapkey and mapchan files representing the section mark in the ibm437 char- acter set ibmCurrency (class: IbmCurrency) specifies the value used in the IBM mapkey and mapchan files representing the currency character in the ibm437 character set ibm3Superior (class: Ibm3Superior) specifies the value used in the IBM mapkey and mapchan files representing the superior character in the ibm437 character set internalBorder (class: BorderWidth) specifies the number of pixels between the characters and the window border. The default is 2. isoGrave (class: IsoGrave) specifies the value used in the ISO mapkey and mapchan files representing the grave character in the iso8895 character set isoAcute (class: IsoAcute) specifies the value used in the ISO mapkey and mapchan files representing the acute character in the iso8895 character set isoDiaeresis (class: IsoDiaeresis) specifies the value used in the ISO mapkey and mapchan files representing the diaeresis character in the iso8895 character set isoCircumflex (class: IsoCircumflex) specifies the value used in the ISO mapkey and mapchan files representing the circumflex character in the iso8895 character set isoTilde (class: IsoTilde) specifies the value used in the ISO mapkey and mapchan files representing the tilde character in the iso8895 character set isoRing (class: IsoRing) specifies the value used in the ISO mapkey and mapchan files representing the ring character in the iso8895 character set isoCedilla (class: IsoCedilla) specifies the value used in the ISO mapkey and mapchan files representing the cedilla character in the iso8895 character set jumpScroll (class: JumpScroll) is set to true or false. This resource specifies whether the jump scroll should be used. The default is true. You can enable this feature by selecting Jump scroll from Display submenu of the Options menu. keyboard language name (class: Keyboard) identifies the keyboard language that scoterm emulates. You can modify this feature with the Keyboard submenu of under the Options menu. The possible values are described in the languagefile resource. languageFile (class: LanguageFile) identifies scoterm's keyboard language file specifying the keyboard languages that scoterm supports. The default file is /usr/lib/X11/sco/ScoTerm/LangIndex. The last entry on each line of this file is a possible argu- ment to the -keyboard option. logFile (class: Logfile) specifies the name of the file to which a terminal ses- sion is logged. The default is ScotrmLogXXXX, where XXXX is the process ID of scoterm. You can enable this feature by selecting Save Logfile from the File menu. logging (class: Logging) is set to true or false. This resource specifies whether a terminal session should be logged. The default is false. You can enable this by selecting Open logfile from the File menu. logInhibit (class: LogInhibit) is set to true or false. This resource specifies whether or not terminal session logging should be inhi- bited from the scoterm. The default is false. You can disable the logging feature with the Open logfile item in the File menu. loginShell (class: LoginShell) specifies whether the shell to be run in the window should be started as a login shell. The default is false. ltblue (class: AnsiColors) specifies a different color name or value that scoterm should use instead of the standard ANSI ltblue. The color can be any color that your server supports. ltcyan (class: AnsiColors) specifies a different color name or value to use instead of the standard ANSI ltcyan. The color can be any color that your server supports. ltgreen (class: AnsiColors) specifies a different color name or value to use instead of the standard ANSI ltgreen. The color can be any color that your server supports. ltmagenta (class: AnsiColors) specifies a different color name or value to use instead of the standard ANSI ltmagenta. The color can be any color that your server supports. ltred (class: AnsiColors) specifies a different color name or value to use instead of the standard ANSI ltred. The color can be any color that your server supports. magenta (class: AnsiColors) specifies a different color name or value to use instead of the standard ANSI magenta. The color can be any color that your server supports. mapchanIBM (class: MapchanIBM) specifies the IBM mapchan file automatically installed by scoterm if the client is running in ibm437 character set mode. The default file is /usr/lib/mapchan/ibm. mapchanISO (class: MapchanISO) specifies the ISO mapchan file automatically installed by scoterm if the client is running in iso8859 character set mode. The default file is /usr/lib/mapchan/iso. marginBell (class: MarginBell) is set to true or false. This resource specifies whether the bell should ring when the user types near the right margin. The default is false. You can turn this feature on with the Margin bell item in the Display submenu of the Options menu. mergedPTYS (class: MergedPTYS) is set to true or false. This resource tells scoterm to use the merged pseudo-tty architecture used by SCO UNIX System V/386 Release 3.2, Version 4.0. The default is true. multiClickTime (class: MultiClickTime) specifies the maximum time in milliseconds between multi-click select events. The default is 250 mil- liseconds. multiScroll (class: MultiScroll) specifies whether scrolling should be done asynchro- nously. The default is false. MarginBell (class: Column) specifies the number of characters from the right margin at which the margin bell should ring, when enabled. The default is 10. pointerShape (class: Cursor) specifies the name of the shape of the pointer. The default is xterm. Here is a list of the other pointer shapes: arrow, basedarrowdown, basedarrowup, boat, bogosity, bottomleftcorner, bottomrightcorner, bottomside, bottomtee, boxspiral, centerptr, circle, clock, coffeemug, cross, crossreverse, crosshair, diamondcross, dot, dotboxmask, doublearrow, draftlarge, draftsmall, drapedbox, exchange, fleur, gobbler, gumby, hand, handlmask, heart, icon, ironcross, leftptr, leftside, lefttee, leftbutton, llangle, lrangle, man, middlebutton, mouse, pencil, pirate, plus, questionarrow, rightptr, rightside, righttee, rightbutton, trllogo, sailboat, sbdownarrow, sbhdoublearrow, sbleftarrow, sbrightarrow, sbuparrow, sbvdoublearrow, shuttle, sizing, spider, spraycan, star, target, tcross, topleftarrow, topleftcorner, toprightcorner, topside, toptee, trek, ulangle, umbrella, urangle, watch, and xcursor. reverseVideo (class: ReverseVideo) is set to true or false. This resource specifies whether reverse video is simulated. The default is false. red (class: AnsiColors) specifies a different color name or value to use instead of the standard ANSI red. The color can be any color that your server supports. reverseWrap (class: ReverseWrap) is set to true or false. This resource specifies whether users can backspace from the left margin of a line directly to the right-most character on the previ- ous line. The default is false. You can turn this fea- ture on with the Reverse wraparound item in the Display submenu of the Options menu. saveLines (class: SaveLines) specifies the number of lines to save beyond the top of the screen when a scroll bar is turned on. The default is 64. scancodesOn (class: scancodesOn) is set to true or false. This resource specifies whether scoterm runs in scancode mode. The default is true. scrollBar (class: ScrollBar) specifies whether or not the scroll bar is displayed. The default is false. scrollInput (class: ScrollCond) specifies whether output to the terminal automatically causes the scroll bar to go to the bottom of the scrol- ling region. The default is true. scrollKey (class: ScrollCond) specifies whether pressing a key automatically causes the scrollbar to go to the bottom of the scrolling region. The default is true. scrollLines (class: ScrollLines) specifies the number of lines that the scroll-back and scroll-forward actions use by default. If scrollLines is assigned a value, scroll-back and scroll-forward are set to the same value if they have no arguments of their own. The default value of scrollLines is one line. titeInhibit (class: TiteInhibit) is set to true or false. This resource specifies whether scoterm removes the ti and te termcap entries (used to switch between alternate screens on startup of many screen-oriented programs) from the TERMCAP string. The default is false, meaning that the entries should not be removed. translations (class: Translations) specifies the key and button bindings for menus, selec- tions, programmed strings, and so on. See also ``Actions'' later in this manual page for valid resource settings for this resource. useMenuBar (class: UseMenuBar) is set to true or false. If true, the resource speci- fies that scoterm displays the menu bar when the client starts. visualBell (class: VisualBell) is set to true or false. This resource specifies whether a visible bell that blinks should be used instead of an audible bell (the default) when <Ctrl>G is received. The default is false. You can turn this fea- ture on with the Visual bell item in the Display submenu of the Options menu. waitForMap (class: WaitForMap) specifies whether scoterm waits for the initial window map before starting the subprocess. The default is false. yellow (class: AnsiColors) specifies a different color name or value to use instead of the standard ANSI yellow. The color can be any color that your server supports. The resources you can specify for the various menus are described in the documentation for the Motif widget. The actions invoked by each menu entry are described in the next section, ``Actions.'' Actions scoterm actions can be used within the ANSI translation sources. You can rebind keys (or sequences of keys) to arbitrary strings for input by changing the translations for the ANSI widget. Changing the translations for events other than key and button events is not expected, and can cause unpredictable behavior. Example default bindings are listed at the end of this section. The following scoterm actions can be used within the ANSI translations resources: bell([percent]) rings the keyboard bell at the specified percentage above or below the base volume focus-mouse() focuses the mouse into the ANSI window ignore() ignores the event but checks for special pointer posi- tion escape sequences insert() synonymous for insert-seven-bit() insert-seven-bit() inserts the 7-bit USASCII character or string associated with the keysym that was pressed insert-eight-bit() inserts the 8-bit IBM character or string associated with the keysym that was pressed insert-selection(sourcename [, ...]) inserts the string found in the selection or cut buffer indicated by sourcename. Sources are checked in the order given (case is significant) until one is found. Commonly used selections include: Primary, Secondary, and Clipboard. Cut buffers are typically named Cut_Buffer0 through Cut_Buffer7. keymap(name) dynamically defines a new translation table whose resource name is name with the suffix Keymap (case is significant). The name ``None'' restores the original translation table. mouse-button-down() generates an SCO event manager mouse button down event associated with the X Window mouse button that was pressed mouse-button-up() generates an SCO event manager mouse button up event associated with the X Window mouse button that was released mouse-motion() generates an SCO event manager mouse motion event asso- ciated with the X Window mouse motion popup-menu(menuname) displays the specified popup menu select-start() begins text selection at the current pointer location select-extend() tracks the pointer and extends the selection. It should only be bound to Motion events. select-end(destname [, ...]) puts the currently selected text into all of the selec- tions or cut buffers specified by destname select-cursor-start() similar to select-start except that it begins the selec- tion at the current text cursor position select-cursor-end(destname [, ...]) similar to select-end except that it should be used with select-cursor-start set-ansi-font(d/1/2/3/4/e/s [,normalfont,] boldfont]]) sets the font or fonts currently being used in the scoterm window. The first argument is a single charac- ter that specifies the font to be used: d or D indicates the default font (the font initially used when scoterm is started); 1 through 4 indicate the fonts specified by the font1 through font4 resources; e or E indicates the normal and bold fonts that can be set through escape codes (or specified as the second and third action argu- ments, respectively); and s or S indicates the font selection (as made by programs such as xfontsel(X)) indicated by the second action argument. start-extend() similar to select-start except that the selection is extended to the current pointer location start-cursor-extend() similar to select-extend except that the selection is extended to the current text cursor position string(string) inserts the specified text string as if it had been typed. Quotation is necessary if the string contains white space or non-alphanumeric characters. If the string argument begins with the characters ``0x'', it is interpreted as a hex character constant. scroll-back(count [,units]) scrolls the text window backward so that text that had previously scrolled off the top of the screen is now visible. The count argument indicates the number of units (by page, halfpage, pixel, or line) by which to scroll. The default unit is line scroll-forw(count [,units]) scrolls similar to scroll-back except that it scrolls forward allow-send-events(on/off/toggle) sets or toggles the allowSendEvents resource set-logging(on/off/toggle) toggles the logging resource and is invoked by the log- ging entry in the scoterm file menu redraw() redraws the window and is invoked by the Redraw window item in the File menu send-signal(signame) sends the signal named by signame (which can also be a number) to the scoterm subprocess (the shell or program specified with the -e command line option). Allowable signal names are (case is not significant): suspend, tstp (if supported by the operating system), cont (if supported by the operating system), int, hup, term, and kill. quit() sends a SIGHUP to the subprogram and exits. It is also invoked by Exit in the File menu. set-scrollbar(on/off/toggle) sets or toggles the scroll bar resource set-jumpscroll(on/off/toggle) sets or toggles the jumpscroll resource and is invoked by the Jump scroll item in the Display submenu of the Options menu set-reverse-video(on/off/toggle) sets or toggles the reverseVideo resource set-autowrap(on/off/toggle) sets or toggles automatic wrapping of long lines and is invoked by the Auto wraparound item in the Display sub- menu of the Options menu set-reversewrap(on/off/toggle) sets or toggles the reverseWrap resource and is invoked by the Reverse wraparound item in the Display submenu of the Options menu set-autolinefeed(on/off/toggle) sets or toggles automatic insertion of linefeeds and is invoked by the Auto linefeed item in the Display submenu of the Options menu set-scroll-on-key(on/off/toggle) sets or toggles the scrollKey resource set-scroll-on-tty-output(on/off/toggle) sets or toggles the scrollTtyOutput resource and is invoked through the ``Jump to bottom when key pressed'' item in the Display submenu of the Options menu set-visual-bell(on/off/toggle) sets or toggles the visualBell resource and is invoked from the Visual Bell item in the Display submenu of in the Options menu set-marginbell(on/off/toggle) sets or toggles the marginBell resource and is invoked from the Margin bell item in the Display submenu of the Options menu set-altscreen(on/off/toggle) sets or toggles between the alternative and current screens soft-reset() resets the scrolling region and is invoked from the Reset (soft) item in the File menu hard-reset() resets the scrolling region, tabs, window size, and cur- sor keys; reinitializes the keyboard; restores the default sprite (for example, the mouse cursor); and clears the screen. It is invoked from the Reset (full) item in the File menu. The default bindings in the scoterm window are: ! Ctrl Alt <Key>BackSpace:focus-mouse() \n\ ! Ctrl <Btn1Down>: popup-menu(mainMenu) \n\ ! Ctrl <Btn2Down>: popup-menu(ansiMenu) \n\ ! Ctrl <Btn3Down>: popup-menu(fontMenu) \n\ ! Shift Ctrl <Btn1Down>: popup-menu(mainMenu)\n\ ! Shift Ctrl <Btn2Down>: popup-menu(ansiMenu)\n\ ! Shift Ctrl <Btn3Down>: popup-menu(fontMenu)\n\ ! Shift <Key>Prior: scroll-back(1,halfpage) \n\ ! Shift <Key>Next: scroll-forw(1,halfpage) \n\ ! Shift <Key>Select: select-cursor-start() \ select-cursor-end(PRIMARY, CUT_BUFFER0) \n\ ! Shift <Key>Insert: insert-selection(PRIMARY, CUT_BUFFER0) \n\ Alt <KeyPress>: insert-eight-bit() \n\ Meta <KeyPress>: insert-eight-bit() \n\ ~Alt <KeyPress>: insert-seven-bit() \n\ ~Meta <KeyPress>: insert-seven-bit() \n\ <KeyRelease>: insert-seven-bit() \n\ Shift <Btn2Up>: insert-selection(PRIMARY, CUT_BUFFER0) \n\ Shift <Btn1Down>: select-start() \n\ Shift <Btn1Motion>: select-extend() \n\ Shift <Btn3Down>: start-extend() \n\ Shift <Btn3Motion>: select-extend() \n\ Shift <BtnUp>: select-end(PRIMARY, CUT_BUFFER0) \n\ ~Shift <Btn2Up>: insert-selection(PRIMARY, CUT_BUFFER0) \n\ ~Shift <Btn1Down>: select-start() \n\ ~Shift <Btn1Motion>: select-extend() \n\ ~Shift <Btn3Down>: start-extend() \n\ ~Shift <Btn3Motion>: select-extend() \n\ ~Shift <BtnUp>: select-end(PRIMARY, CUT_BUFFER0) The following is an example of how the keymap() action adds special keys for entering commonly typed words: *Ansi.Translations: #override <Key>F5: keymap(dbx) *Ansi.dbxKeymap.translations: \ <Key>F6: keymap(None) \n\ <Key>F9: string("next") string("0x0d") \n\ <Key>F10: string("step") string("0x0d") \n\ <Key>F11: string("continue") string("0x0d") \n\ <Key>F12: string("print ") \ insert-selection(PRIMARY, CUT_BUFFER0) See also resize(X), rgb(X), scocolor(X), scoterm control sequences, showrgb(X), termcap(F), tty(C), xlsfonts(X), Xsco(X), X(X)