. (Without loss of generality, 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, xterm assumes you really meant the left edge, restores the original selection, then extends/contracts the left edge of the selec‐ tion. Extension starts in the selection unit mode that the last selec‐ tion or extension was performed in; you can multiple-click to cycle through them. 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 cut buffers are globally shared among dif‐ ferent applications, you may regard each 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. SCROLLING The scroll region displays the position and amount of text currently showing in the window (highlighted) relative to the amount of text actu‐ ally saved. As more text is saved (up to the maximum), the size of the highlighted area decreases. Clicking button one with the pointer in the scroll region moves the adja‐ cent line to the top of the display window. Clicking button three moves the top line of the display window down to the pointer position. Clicking button two moves the display to a position in the saved text that corresponds to the pointer's position in the scrollbar. TEKTRONIX POINTER Unlike the VT102 window, the Tektronix window does not allow the copying of text. It does allow Tektronix GIN mode, and in this mode the cursor will change from an arrow to a cross. Pressing any key will send that key and the current coordinate of the cross cursor. Pressing button one, two, or three will return the letters “l”, “m”, and “r”, respectively. If the “shift” key is pressed when a pointer button is pressed, the cor‐ responding upper case letter is sent. To distinguish a pointer button from a key, the high bit of the character is set (but this is bit is nor‐ mally stripped unless the terminal mode is RAW; see tty(4) for details). SELECT/PASTE X clients provide select and paste support by responding to requests con‐ veyed by the server. PRIMARY When configured to use the primary selection, (the default) xterm can provide the selection data in ways which help to retain character encod‐ ing information as it is pasted. A user “selects” text on xterm, which highlights the selected text. A subsequent “paste” to another client forwards a request to the client owning the selection. If xterm owns the primary selection, it makes the data available in the form of one or more “selection targets”. If it does not own the primary selection, e.g., if it has released it or another client has asserted ownership, it relies on cut-buffers to pass the data. But cut-buffers handle only ISO-8859-1 data (officially - some clients ignore the rules). CLIPBOARD When configured to use the clipboard (see resource selectToClipboard), the problem with persistence of ownership is bypassed. Otherwise, there is no difference regarding the data which can be passed via selection. SELECTION TARGETS The different types of data which are passed depend on what the receiving client asks for. These are termed selection targets. When asking for the selection data, xterm tries the following types in this order: UTF8_STRING This is an XFree86 extension, which denotes that the data is encoded in UTF-8. When xterm is built with wide-character support, it both accepts and provides this type. TEXT the text is in the encoding which corresponds to your current locale. COMPOUND_TEXT this is a format for multiple character set data, such as multi-lingual text. It can store UTF-8 data as a special case. STRING This is Latin 1 (ISO-8859-1) data. The middle two (TEXT and COMPOUND_TEXT) are added if xterm is configured with the i18nSelections resource set to “true”. UTF8_STRING is preferred (therefore first in the list) since xterm stores text as Unicode data when running in wide-character mode, and no transla‐ tion is needed. On the other hand, TEXT and COMPOUND_TEXT may require translation. If the translation is incomplete, they will insert X's “defaultString” whose value cannot be set, and may simply be empty. Xterm's defaultString resource specifies the string to use for incomplete translations of the UTF8_STRING. You can alter the types which xterm tries using the eightBitSelectTypes or utf8SelectTypes resources. For instance, you might have some specific locale setting which does not use UTF-8 encoding. The resource value is a comma-separated list of the selection targets, which consist of the names shown. You can use the special name I18N to denote the optional inclusion of TEXT and COMPOUND_TEXT. The names are matched ignoring case, and can be abbreviated. The default list can be expressed in sev‐ eral ways, e.g., UTF8_STRING,I18N,STRING utf8,i18n,string u,i,s MENUS Xterm has four menus, named mainMenu, vtMenu, fontMenu, and tekMenu. Each menu pops up under the correct combinations of key and button presses. Each menu is divided into sections, separated by a horizontal line. Some menu entries correspond to modes that can be altered. A check mark appears next to a mode that is currently active. Selecting one of these modes toggles its state. Other menu entries are commands; selecting one of these performs the indicated function. All of the menu entries correspond to X actions. In the list below, the menu label is shown followed by the action's name in parenthesis. Main Options The xterm mainMenu pops up when the “control” key and pointer button one are pressed in a window. This menu contains items that apply to both the VT102 and Tektronix windows. There are several sections: Commands for managing X events: Toolbar Clicking on the “Toolbar” menu entry hides the toolbar if it is visible, and shows it if it is not. Secure Keyboard (securekbd) The Secure Keyboard mode is helpful when typing in pass‐ words or other sensitive data in an unsecure environment; see SECURITY below (but read the limitations carefully). Allow SendEvents (allowsends) Specifies whether or not synthetic key and button events generated using the X protocol SendEvent request should be interpreted or discarded. This corresponds to the allowSendEvents resource. Redraw Window (redraw) Forces the X display to repaint; useful in some environ‐ ments. Commands for capturing output: Log to File (logging) Captures text sent to the screen in a logfile, as in the -l logging option. Print-All Immediately Invokes the print-immediate action, sending the text of the current window directly to a file, as specified by the printFileImmediate, printModeImmediate and printOptsImmedi‐ ate resources. Print-All on Error Invokes the print-on-error action, which toggles a flag telling xterm that if it exits with an X error, to send the text of the current window directly to a file, as specified by the printFileXError, printModeXError and printOptsXError resources. Print Window (print) Sends the text of the current window to the program given in the printerCommand resource. Redirect to Printer (print-redir) This sets the printerControlMode to 0 or 2. You can use this to turn the printer on as if an application had sent the appropriate control sequence. It is also useful for switching the printer off if an application turns it on without resetting the print control mode. Modes for setting keyboard style: 8-Bit Controls (8-bit-control) Enabled for VT220 emulation, this controls whether xterm will send 8-bit control sequences rather than using 7-bit (ASCII) controls, e.g., sending a byte in the range 128-159 rather than the escape character followed by a second byte. Xterm always interprets both 8-bit and 7-bit control sequences (see the document Xterm Control Sequences). This corresponds to the eightBitControl resource. Backarrow Key (BS/DEL) (backarrow key) Modifies the behavior of the backarrow key, making it transmit either a backspace (8) or delete (127) character. This corresponds to the backarrowKey resource. Alt/NumLock Modifiers (num-lock) Controls the treatment of Alt- and NumLock-key modifiers. This corresponds to the numLock resource. Meta Sends Escape (meta-esc) Controls whether Meta keys are converted into a two-charac‐ ter sequence with the character itself preceded by ESC. This corresponds to the metaSendsEscape resource. Delete is DEL (delete-is-del) Controls whether the Delete key on the editing keypad should send DEL (127) or the VT220-style Remove escape sequence. This corresponds to the deleteIsDEL resource. Old Function-Keys (oldFunctionKeys) HP Function-Keys (hpFunctionKeys) SCO Function-Keys (scoFunctionKeys) Sun Function-Keys (sunFunctionKeys) VT220 Keyboard (sunKeyboard) These act as a radio-button, selecting one style for the keyboard layout. It corresponds to more than one resource setting: sunKeyboard, sunFunctionKeys, scoFunctionKeys and hpFunctionKeys ." Commands for process signalling: Send STOP Signal (suspend) Send CONT Signal (continue) Send INT Signal (interrupt) Send HUP Signal (hangup) Send TERM Signal (terminate) Send KILL Signal (kill) These send the SIGTSTP, SIGCONT, SIGINT, SIGHUP, SIGTERM and SIGKILL signals respectively, to the process group of the process running under xterm (usually the shell). The SIGCONT function is especially useful if the user has acci‐ dentally typed CTRL-Z, suspending the process. Quit (quit) Stop processing X events except to support the -hold option, and then send a SIGHUP signal to the the process group of the process running under xterm (usually the shell). VT Options The vtMenu sets various modes in the VT102 emulation, and is popped up when the “control” key and pointer button two are pressed in the VT102 window. VT102/VT220 Modes: Enable Scrollbar (scrollbar) Enable (or disable) the scrollbar. This corresponds to the -sb option and the scrollBar resource. Enable Jump Scroll (jumpscroll) Enable (or disable) jump scrolling. This corresponds to the -j option and the jumpScroll resource. Enable Reverse Video (reversevideo) Enable (or disable) reverse-video. This corresponds to the -rv option and the reverseVideo resource. Enable Auto Wraparound (autowrap) Enable (or disable) auto-wraparound. This corresponds to the -aw option and the autoWrap resource. Enable Reverse Wraparound (reversewrap) Enable (or disable) reverse wraparound. This corresponds to the -rw option and the reverseWrap resource. Enable Auto Linefeed (autolinefeed) Enable (or disable) auto-linefeed. This is the VT102 NEL function, which causes the emulator to emit a linefeed after each carriage return. There is no corresponding com‐ mand-line option or resource setting. Enable Application Cursor Keys (appcursor) Enable (or disable) application cursor keys. This corre‐ sponds to the appcursorDefault resource. There is no cor‐ responding command-line option. Enable Application Keypad (appkeypad) Enable (or disable) application keypad keys. This corre‐ sponds to the appkeypadDefault resource. There is no cor‐ responding command-line option. Scroll to Bottom on Key Press (scrollkey) Enable (or disable) scrolling to the bottom of the scrolling region on a keypress. This corresponds to the -sk option and the scrollKey resource. As a special case, the XON / XOFF keys (control/S and con‐ trol/Q) are ignored. Scroll to Bottom on Tty Output (scrollttyoutput) Enable (or disable) scrolling to the bottom of the scrolling region on output to the terminal. This corre‐ sponds to the -si option and the scrollTtyOutput resource. Allow 80/132 Column Switching (allow132) Enable (or disable) switching between 80 and 132 columns. This corresponds to the -132 option and the c132 resource. Keep Selection (keepSelection) Tell xterm whether to disown the selection when it stops highlighting it, e.g., when an application modifies the display so that it no longer matches the text which has been highlighted. As long as xterm continues to own the selection, it can provide the corresponding text to other clients via cut/paste. This corresponds to the keepSelec‐ tion resource. There is no corresponding command-line option. Select to Clipboard (selectToClipboard) Tell xterm whether to use the PRIMARY or CLIPBOARD for SELECT tokens in the translations resource which maps key‐ board and mouse actions to select/paste actions. This cor‐ responds to the selectToClipboard resource. There is no corresponding command-line option. Enable Visual Bell (visualbell) Enable (or disable) visible bell (i.e., flashing) instead of an audible bell. This corresponds to the -vb option and the visualBell resource. Enable Bell Urgency (bellIsUrgent) Enable (or disable) Urgency window manager hint when Con‐ trol-G is received. This corresponds to the bellIsUrgent resource. Enable Pop on Bell (poponbell) Enable (or disable) raising of the window when Control-G is received. This corresponds to the -pop option and the popOnBell resource. Enable Blinking Cursor (cursorblink) Enable (or disable) the blinking-cursor feature. This cor‐ responds to the -bc option and the cursorBlink resource. There is also an escape sequence (see the document Xterm Control Sequences). The menu entry and the escape sequence states are XOR'd: if both are enabled, the cursor will not blink, if only one is enabled, the cursor will blink. Enable Alternate Screen Switching (titeInhibit) Enable (or disable) switching between the normal and alter‐ nate screens. This corresponds to the titeInhibit resource. There is no corresponding command-line option. Enable Active Icon (activeicon) Enable (or disable) the active-icon feature. This corre‐ sponds to the -ai option and the activeIcon resource. VT102/VT220 Commands: Do Soft Reset (softreset) Reset scroll regions. This can be convenient when some program has left the scroll regions set incorrectly (often a problem when using VMS or TOPS-20). This corresponds to the VT220 DECSTR control sequence. Do Full Reset (hardreset) The full reset entry will clear the screen, reset tabs to every eight columns, and reset the terminal modes (such as wrap and smooth scroll) to their initial states just after xterm has finished processing the command line options. This corresponds to the VT102 RIS control sequence, with a few obvious differences. For example, your session is not disconnected as a real VT102 would do. Reset and Clear Saved Lines (clearsavedlines) Perform a full reset, and also clear the saved lines. Commands for setting the current screen: Show Tek Window (tekshow) When enabled, pops the Tektronix 4014 window up (makes it visible). When disabled, hides the Tektronix 4014 window. Switch to Tek Mode (tekmode) When enabled, pops the Tektronix 4014 window up if it is not already visible, and switches the input stream to that window. When disabled, hides the Tektronix 4014 window and switches input back to the VTxxx window. Hide VT Window (vthide) When enabled, hides the VTxxx window, shows the Tektronix 4014 window if it was not already visible and switches the input stream to that window. When disabled, shows the VTxxx window, and switches the input stream to that window. Show Alternate Screen (altscreen) When enabled, shows the alternate screen. When disabled, shows the normal screen. Note that the normal screen may have saved lines; the alternate screen does not. VT Fonts The fontMenu pops up when when the “control” key and pointer button three are pressed in a window. It sets the font used in the VT102 window, or modifies the way the font is specified or displayed. There are several sections. The first section allows you to select the font from a set of alterna‐ tives: Default (fontdefault) Set the font to the default, i.e., that given by the *VT100.font resource. Unreadable (font1) Set the font to that given by the *VT100.font1 resource. Tiny (font2) Set the font to that given by the *VT100.font2 resource. Small (font3) Set the font to that given by the *VT100.font3 resource. Medium (font4) Set the font to that given by the *VT100.font4 resource. Large (font5) Set the font to that given by the *VT100.font5 resource. Huge (font6) Set the font to that given by the *VT100.font6 resource. Escape Sequence This allows you to set the font last specified by the Set Font escape sequence (see the document Xterm Control Sequences). Selection (fontsel) This allows you to set the font specified the current selection as a font name (if the PRIMARY selection is owned). The second section allows you to modify the way it is displayed: Bold Fonts This is normally checked (enabled). When unchecked, xterm will not use bold fonts. The setting corresponds to the allowBoldFonts resource. Line-Drawing Characters (font-linedrawing) When set, tells xterm to draw its own line-drawing charac‐ ters. Otherwise it relies on the font containing these. Compare to the forceBoxChars resource. Packed Font (font-packed) When set, tells xterm to use the minimum glyph-width from a font when displaying characters. Use the maximum width (unchecked) to help display proportional fonts. Compare to the forcePackedFont resource. Doublesized Characters (font-doublesize) When set, xterm may ask the font server to produce scaled versions of the normal font, for VT102 double-size charac‐ ters. The third section allows you to modify the way it is specified: TrueType Fonts (render-font) If the renderFont and corresponding resources were set, this is a further control whether xterm will actually use the Xft library calls to obtain a font. UTF-8 Encoding (utf8-mode) This controls whether xterm uses UTF-8 encoding of input/output. It is useful for temporarily switching xterm to display text from an application which does not follow the locale settings. It corresponds to the utf8 resource. UTF-8 Fonts (utf8-fonts) This controls whether xterm uses UTF-8 fonts for display. It is useful for temporarily switching xterm to display text from an application which does not follow the locale settings. It combines the utf8 and utf8Fonts resources. UTF-8 Titles (utf8-titles) This controls whether xterm accepts UTF-8 encoding for title control sequences. It corresponds to the utf8Fonts resource. Initially the checkmark is set according to both the utf8 and utf8Fonts resource values. If the latter is set to “always”, the checkmark is disabled. Likewise, if there are no fonts given in the utf8Fonts subresources, then the checkmark also is disabled. The standard XTerm app-defaults file defines both sets of fonts, while the UXTerm app-defaults file defines only one set. assuming the standard app-defaults files, this com‐ mand will launch xterm able to switch between UTF-8 and ISO-8859-1 encoded fonts: uxterm -class XTerm The fourth section allows you to enable or disable special operations which can be controlled by writing escape sequences to the terminal. These are disabled if the SendEvents feature is enabled: Allow Color Ops (allow-font-ops) This corresponds to the allowColorOps resource. Enable or disable control sequences that set/query the colors. Allow Font Ops (allow-font-ops) This corresponds to the allowFontOps resource. Enable or disable control sequences that set/query the font. Allow Tcap Ops (allow-tcap-ops) Enable or disable control sequences that query the termi‐ nal's notion of its function-key strings, as termcap or terminfo capabilities. This corresponds to the allowT‐ capOps resource. Allow Title Ops (allow-title-ops) Enable or disable control sequences that modify the window title or icon name. This corresponds to the allowTitleOps resource. Allow Window Ops (allow-window-ops) Enable or disable extended window control sequences (as used in dtterm). This corresponds to the allowWindowOps resource. TEK Options The tekMenu sets various modes in the Tektronix emulation, and is popped up when the “control” key and pointer button two are pressed in the Tek‐ tronix window. The current font size is checked in the modes section of the menu. Large Characters (tektextlarge) #2 Size Characters (tektext2) #3 Size Characters (tektext3) Small Characters (tektextsmall) Commands: PAGE (tekpage) Clear the Tektronix window. RESET (tekreset) COPY (tekcopy) Windows: Show VT Window (vtshow) Switch to VT Mode (vtmode) Hide Tek Window (tekhide) SECURITY X environments differ in their security consciousness. · Most servers, run under xdm, are capable of using a “magic cookie” authorization scheme that can provide a reasonable level of security for many people. If your server is only using a host-based mechanism to control access to the server (see xhost(1)), then if you enable access for a host and other users are also permitted to run clients on that same host, it is possible that someone can run an application which uses the basic services of the X protocol to snoop on your activities, potentially capturing a transcript of everything you type at the keyboard. · Any process which has access to your X display can manipulate it in ways that you might not anticipate, even redirecting your keyboard to itself and sending events to your application's windows. This is true even with the “magic cookie” authorization scheme. While the allowSendEvents provides some protection against rogue applications tampering with your programs, guarding against a snooper is harder. · The X input extension for instance allows an application to bypass all of the other (limited) authorization and security features, including the GrabKeyboard protocol. · The possibility of an application spying on your keystrokes is of particular concern when you want to type in a password or other sen‐ sitive data. The best solution to this problem is to use a better authorization mechanism than is provided by X. Subject to all of these caveats, a simple mechanism exists for protecting keyboard input in xterm. The xterm menu (see MENUS above) contains a Secure Keyboard entry which, when enabled, attempts to ensure that all keyboard input is directed only to xterm (using the GrabKeyboard protocol request). When an application prompts you for a password (or other sensitive data), you can enable Secure Keyboard using the menu, type in the data, and then disable Secure Keyboard using the menu again. · This ensures that you know which window is accepting your keystrokes. · It cannot ensure that there are no processes which have access to your X display that might be observing the keystrokes as well. Only one X client at a time can grab the keyboard, so when you attempt to enable Secure Keyboard it may fail. In this case, the bell will sound. If the Secure Keyboard succeeds, the foreground and background colors will be exchanged (as if you selected the Reverse Video entry in the Modes menu); they will be exchanged again when you exit secure mode. If the colors do not switch, then you should be very suspicious that you are being spoofed. If the application you are running displays a prompt before asking for the password, it is safest to enter secure mode before the prompt gets displayed, and to make sure that the prompt gets dis‐ played correctly (in the new colors), to minimize the probability of spoofing. You can also bring up the menu again and make sure that a check mark appears next to the entry. Secure Keyboard mode will be disabled automatically if your xterm window becomes iconified (or otherwise unmapped), or if you start up a reparent‐ ing 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 not easily overcome.) When this happens, the foreground and background colors will be switched back and the bell will sound in warn‐ ing. CHARACTER CLASSES Clicking the left pointer button twice in rapid succession (double-click‐ ing) causes all characters of the same class (e.g., letters, white space, punctuation) to be selected as a “word”. 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 charClass (class CharClass) resource. This resource is a series of comma-separated of range:value pairs. The range is either a single number or low-high in the range of 0 to 65535, corresponding to the 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. When not in UTF-8 mode, only the first 256 bytes of this table will be used. The default table starts as follows - 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, /∗ x80 x81 x82 x83 IND NEL SSA ESA */ 1, 1, 1, 1, 1, 1, 1, 1, /∗ HTS HTJ VTS PLD PLU RI SS2 SS3 */ 1, 1, 1, 1, 1, 1, 1, 1, /∗ DCS PU1 PU2 STS CCH MW SPA EPA */ 1, 1, 1, 1, 1, 1, 1, 1, /∗ x98 x99 x9A CSI ST OSC PM APC */ 1, 1, 1, 1, 1, 1, 1, 1, /∗ - i c/ L ox Y- | So */ 160, 161, 162, 163, 164, 165, 166, 167, /∗ .. c0 ip << _ R0 - */ 168, 169, 170, 171, 172, 173, 174, 175, /∗ o +- 2 3 ' u q| . */ 176, 177, 178, 179, 180, 181, 182, 183, /∗ , 1 2 >> 1/4 1/2 3/4 ? */ 184, 185, 186, 187, 188, 189, 190, 191, /∗ A` A' A^ A~ A: Ao AE C, */ 48, 48, 48, 48, 48, 48, 48, 48, /∗ E` E' E^ E: I` I' I^ I: */ 48, 48, 48, 48, 48, 48, 48, 48, /∗ D- N~ O` O' O^ O~ O: X */ 48, 48, 48, 48, 48, 48, 48, 215, /∗ O/ U` U' U^ U: Y' P B */ 48, 48, 48, 48, 48, 48, 48, 48, /∗ a` a' a^ a~ a: ao ae c, */ 48, 48, 48, 48, 48, 48, 48, 48, /∗ e` e' e^ e: i` i' i^ i: */ 48, 48, 48, 48, 48, 48, 48, 48, /∗ d n~ o` o' o^ o~ o: -: */ 48, 48, 48, 48, 48, 48, 48, 247, /∗ o/ u` u' u^ u: y' P y: */ 48, 48, 48, 48, 48, 48, 48, 48}; For example, the string “33:48,37:48,45-47:48,38:48” indicates that the exclamation mark, percent sign, dash, period, slash, and ampersand char‐ acters should be treated the same way as characters and numbers. This is useful for cutting and pasting electronic mailing addresses and file‐ names. ACTIONS It is possible to rebind keys (or sequences of keys) to arbitrary strings for input, by changing the translations resources for the vt100 or tek4014 widgets. Changing the translations resource for events other than key and button events is not expected, and will cause unpredictable behavior. The following actions are provided for use within the vt100 or tek4014 translations resources: allow-color-ops(on/off/toggle) This action set or toggles the allowColorOps resource and is also invoked by the allow-color-ops entry in fontMenu. allow-font-ops(on/off/toggle) This action set or toggles the allowFontOps resource and is also invoked by the allow-font-ops entry in fontMenu. allow-send-events(on/off/toggle) This action set or toggles the allowSendEvents resource and is also invoked by the allowsends entry in mainMenu. allow-tcap-ops(on/off/toggle) This action set or toggles the allowTcapOps resource and is also invoked by the allow-tcap-ops entry in fontMenu. allow-title-ops(on/off/toggle) This action set or toggles the allowTitleOps resource and is also invoked by the allow-title-ops entry in fontMenu. allow-window-ops(on/off/toggle) This action set or toggles the allowWindowOps resource and is also invoked by the allow-window-ops entry in fontMenu. alt-sends-escape() This action toggles the state of the altSendsEscape resource. bell([percent]) This action rings the keyboard bell at the specified percentage above or below the base volume. clear-saved-lines() This action does hard-reset() (see below) and also clears the history of lines saved off the top of the screen. It is also invoked from the clearsavedlines entry in vtMenu. The effect is identical to a hardware reset (RIS) control sequence. copy-selection(destname [, ...]) This action puts the currently selected text into all of the selections or cutbuffers specified by destname. Unlike select- end, it does not send a mouse position or otherwise modify the internal selection state. create-menu(m/v/f/t) This action creates one of the menus used by xterm, if it has not been previously created. The parameter values are the menu names: mainMenu, vtMenu, fontMenu, tekMenu, respectively. dabbrev-expand() Expands the word before cursor by searching in the preceding text on the screen and in the scrollback buffer for words starting with that abbreviation. Repeating dabbrev-expand() several times in sequence searches for an alternative expansion by looking far‐ ther back. Lack of more matches is signaled by a beep(). Attempts to expand an empty word (i.e., when cursor is preceded by a space) yield successively all previous words. Consecutive identical expansions are ignored. The word here is defined as a sequence of non-whitespace characters. This feature partially emulates the behavior of “dynamic abbreviation” expansion in Emacs (bound there to M-/). Here is a resource setting for xterm which will do the same thing: *VT100*translations: #override \n\ Meta <KeyPress> /:dabbrev-expand() deiconify() Changes the window state back to normal, if it was iconified. delete-is-del() This action toggles the state of the deleteIsDEL resource. dired-button() Handles a button event (other than press and release) by echoing the event's position (i.e., character line and column) in the following format: ^X ESC G <line+“ ”> <col+“ ”> fullscreen() Asks the window manager to change the window to full-screen. iconify() Iconifies the window. hard-reset() This action resets the scrolling region, tabs, window size, and cursor keys and clears the screen. It is also invoked from the hardreset entry in vtMenu. ignore() This action ignores the event but checks for special pointer position escape sequences. insert() This action inserts the character or string associated with the key that was pressed. insert-eight-bit() This action inserts an eight-bit (Meta) version of the character or string associated with the key that was pressed. Only single- byte values are treated specially. The exact action depends on the value of the altSendsEscape and the metaSendsEscape and the eightBitInput resources. The metaSendsEscape resource is tested first. See the eightBitInput resource for a full discussion. The term “eight-bit” is misleading: xterm checks if the key is in the range 128 to 255 (the eighth bit is set). If the value is in that range, depending on the resource values, xterm may then do one of the following: · add 128 to the value, setting its eighth bit, · send an ESC byte before the key, or · send the key unaltered. exec-formatted(format, sourcename [, ...]) Execute an external command, using the current selection for part of the command's parameters. The first parameter, format gives the basic command. Succeeding parameters specify the selection source as in insert-selection. The format parameter allows these substitutions: %% inserts a "%". %P the screen-position at the beginning of the highlighted region, as a semicolon-separated pair of integers using the values that the CUP control sequence would use. %p the screen-position after the beginning of the highlighted region, using the same convention as “%P”. %S the length of the string that “%s” would insert. %s the content of the selection, unmodified. %T the length of the string that “%t” would insert. %t the selection, trimmed of leading/trailing whitespace, and newlines changed to single spaces. %V the video attributes at the beginning of the highlighted region, as a semicolon-separated list of integers using the values that the SGR control sequence would use. %v the video attributes after the end of the highlighted region, using the same convention as “%V”. After constructing the command-string, xterm forks a subprocess and executes the command, which completes independently of xterm. exec-selectable(format, onClicks) Execute an external command, using data copied from the screen for part of the command's parameters. The first parameter, for‐ mat gives the basic command as in exec-formatted. The second parameter specifies the method for copying the data as in the onClicks resource. insert-formatted(format, sourcename [, ...]) Insert the current selection or data related to it, formatted. The first parameter, format gives the template for the data as in exec-formatted. Succeeding parameters specify the selection source as in insert-selection. insert-selectable(format, onClicks) Insert data copied from the screen, formatted. The first parame‐ ter, format gives the template for the data as in exec-formatted. The second parameter specifies the method for copying the data as in the onClicks resource. insert-selection(sourcename [, ...]) This action 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 buf‐ fers are typically named CUT_BUFFER0 through CUT_BUFFER7. insert-seven-bit() This action is a synonym for insert() The term “seven-bit” is misleading: it only implies that xterm does not try to add 128 to the key's value as in insert-eight-bit(). interpret(control-sequence) Interpret the given control sequence locally, i.e., without pass‐ ing it to the host. This works by inserting the control sequence at the front of the input buffer. Use “\” to escape octal digits in the string. Xt does not allow you to put a null character (i.e., “\000”) in the string. keymap(name) This action dynamically defines a new translation table whose resource name is name with the suffix Keymap (case is signifi‐ cant). The name None restores the original translation table. larger-vt-font() Set the font to the next larger one, based on the font dimen‐ sions. See also set-vt-font(). load-vt-fonts(name[,class]) Load fontnames from the given subresource name and class. That is, load the “*VT100.name.font”, resource as “*VT100.font” etc. If no name is given, the original set of fontnames is restored. Unlike set-vt-font(), this does not affect the escape- and select-fonts, since those are not based on resource values. It does affect the fonts loosely organized under the “Default” menu entry, including font, boldFont, wideFont and wideBoldFont. maximize() Resizes the window to fill the screen. meta-sends-escape() This action toggles the state of the metaSendsEscape resource. popup-menu(menuname) This action displays the specified popup menu. Valid names (case is significant) include: mainMenu, vtMenu, fontMenu, and tek‐ Menu. print(printer-flags) This action prints the window and is also invoked by the print entry in mainMenu. The action accepts optional parameters, which temporarily over‐ ride resource settings. The parameter values are matched ignor‐ ing case: noFormFeed no form feed will be sent at the end of the last line printed (i.e., printerFormFeed is ``false''). FormFeed a form feed will be sent at the end of the last line printed (i.e., printerFormFeed is ``true''). noNewLine no newline will be sent at the end of the last line printed, and wrapped lines will be combined into long lines (i.e., printerNewLine is ``false''). NewLine a newline will be sent at the end of the last line printed, and each line will be limited (by adding a newline) to the screen width (i.e., printerNewLine is ``true''). noAttrs the page is printed without attributes (i.e., printAt‐ tributes is ``0''). monoAttrs the page is printed with monochrome (vt220) attributes (i.e., printAttributes is ``1''). colorAttrs the page is printed with ANSI color attributes (i.e., print‐ Attributes is ``2''). print-everything(printer-flags) This action sends the entire text history, in addition to the text currently visible, to the program given in the printerCom‐ mand resource. It allows the same optional parameters as the print action. With a suitable printer command, the action can be used to load the text history in an editor. print-immediate() Sends the text of the current window directly to a file, as spec‐ ified by the printFileImmediate, printModeImmediate and printOpt‐ sImmediate resources. print-on-error() Toggles a flag telling xterm that if it exits with an X error, to send the text of the current window directly to a file, as speci‐ fied by the printFileXError, printModeXError and printOptsXError resources. print-redir() This action toggles the printerControlMode between 0 and 2. The corresponding popup menu entry is useful for switching the printer off if you happen to change your mind after deciding to print random binary files on the terminal. quit() This action sends a SIGHUP to the subprogram and exits. It is also invoked by the quit entry in mainMenu. readline-button() Supports the optional readline feature by echoing repeated cursor forward or backward control sequences on button release event, to request that the host application update its notion of the cur‐ sor's position to match the button event. redraw() This action redraws the window and is also invoked by the redraw entry in mainMenu. restore() Restores the window to the size before it was last maximized. scroll-back(count [,units [,mouse] ]) This action 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 (which may be page, halfpage, pixel, or line) by which to scroll. An adjustment can be specified for these values by appending a “+” or “-” sign followed by a number, e.g., page-2 to specify 2 lines less than a page. If the third parameter mouse is given, the action is ignored when mouse reporting is enabled. scroll-forw(count [,units [,mouse] ]) This action is similar to scroll-back except that it scrolls in the other direction. secure() This action toggles the Secure Keyboard mode described in the section named SECURITY, and is invoked from the securekbd entry in mainMenu. scroll-lock(on/off/toggle) This action toggles internal state which tells xterm whether Scroll Lock is active, subject to the allowScrollLock resource. select-cursor-end(destname [, ...]) This action is similar to select-end except that it should be used with select-cursor-start. select-cursor-extend() This action is similar to select-extend except that it should be used with select-cursor-start. select-cursor-start() This action is similar to select-start except that it begins the selection at the current text cursor position. select-end(destname [, ...]) This action puts the currently selected text into all of the selections or cutbuffers specified by destname. It also sends a mouse position and updates the internal selection state to reflect the end of the selection process. select-extend() This action tracks the pointer and extends the selection. It should only be bound to Motion events. select-set() This action stores text that corresponds to the current selec‐ tion, without affecting the selection mode. select-start() This action begins text selection at the current pointer loca‐ tion. See the section on POINTER USAGE for information on making selections. send-signal(signame) This action sends the signal named by signame to the xterm sub‐ process (the shell or program specified with the -e command line option) and is also invoked by the suspend, continue, interrupt, hangup, terminate, and kill entries in mainMenu. Allowable sig‐ nal names are (case is not significant): tstp (if supported by the operating system), suspend (same as tstp), cont (if supported by the operating system), int, hup, term, quit, alrm, alarm (same as alrm) and kill. set-8-bit-control(on/off/toggle) This action toggles the eightBitControl resource and is also invoked from the 8-bit-control entry in vtMenu. set-allow132(on/off/toggle) This action toggles the c132 resource and is also invoked from the allow132 entry in vtMenu. set-altscreen(on/off/toggle) This action toggles between the alternate and current screens. set-appcursor(on/off/toggle) This action toggles the handling Application Cursor Key mode and is also invoked by the appcursor entry in vtMenu. set-appkeypad(on/off/toggle) This action toggles the handling of Application Keypad mode and is also invoked by the appkeypad entry in vtMenu. set-autolinefeed(on/off/toggle) This action toggles automatic insertion of linefeeds and is also invoked by the autolinefeed entry in vtMenu. set-autowrap(on/off/toggle) This action toggles automatic wrapping of long lines and is also invoked by the autowrap entry in vtMenu. set-backarrow(on/off/toggle) This action toggles the backarrowKey resource and is also invoked from the backarrow key entry in vtMenu. set-bellIsUrgent(on/off/toggle) This action toggles the bellIsUrgent resource and is also invoked by the bellIsUrgent entry in vtMenu. set-cursorblink(on/off/toggle) This action toggles the cursorBlink resource and is also invoked from the cursorblink entry in vtMenu. set-cursesemul(on/off/toggle) This action toggles the curses resource and is also invoked from the cursesemul entry in vtMenu. set-font-doublesize(on/off/toggle) This action toggles the fontDoublesize resource and is also invoked by the font-doublesize entry in fontMenu. set-hp-function-keys(on/off/toggle) This action toggles the hpFunctionKeys resource and is also invoked by the hpFunctionKeys entry in mainMenu. set-jumpscroll(on/off/toggle) This action toggles the jumpscroll resource and is also invoked by the jumpscroll entry in vtMenu. set-font-linedrawing(on/off/toggle) This action toggles the xterm's state regarding whether the cur‐ rent font has line-drawing characters and whether it should draw them directly. It is also invoked by the font-linedrawing entry in fontMenu. set-font-packed(on/off/toggle) This action toggles the forcePackedFont's resource which controls use of the font's minimum or maximum glyph width. It is also invoked by the font-packed entry in fontMenu. set-keep-selection(on/off/toggle) This action toggles the keepSelection resource and is also invoked by the keepSelection entry in vtMenu. set-logging() This action toggles the state of the logging option. set-old-function-keys(on/off/toggle) This action toggles the state of legacy function keys and is also invoked by the oldFunctionKeys entry in mainMenu. set-marginbell(on/off/toggle) This action toggles the marginBell resource. set-num-lock() This action toggles the state of the numLock resource. set-pop-on-bell(on/off/toggle) This action toggles the popOnBell resource and is also invoked by the poponbell entry in vtMenu. set-render-font(on/off/toggle) This action toggles the renderFont resource and is also invoked by the render-font entry in fontMenu. set-reverse-video(on/off/toggle) This action toggles the reverseVideo resource and is also invoked by the reversevideo entry in vtMenu. set-reversewrap(on/off/toggle) This action toggles the reverseWrap resource and is also invoked by the reversewrap entry in vtMenu. set-scroll-on-key(on/off/toggle) This action toggles the scrollKey resource and is also invoked from the scrollkey entry in vtMenu. set-scroll-on-tty-output(on/off/toggle) This action toggles the scrollTtyOutput resource and is also invoked from the scrollttyoutput entry in vtMenu. set-scrollbar(on/off/toggle) This action toggles the scrollbar resource and is also invoked by the scrollbar entry in vtMenu. set-select(on/off/toggle) This action toggles the selectToClipboard resource and is also invoked by the selectToClipboard entry in vtMenu. set-sco-function-keys(on/off/toggle) This action toggles the scoFunctionKeys resource and is also invoked by the scoFunctionKeys entry in mainMenu. set-sun-function-keys(on/off/toggle) This action toggles the sunFunctionKeys resource and is also invoked by the sunFunctionKeys entry in mainMenu. set-sun-keyboard(on/off/toggle) This action toggles the sunKeyboard resource and is also invoked by the sunKeyboard entry in mainMenu. set-tek-text(large/2/3/small) This action sets font used in the Tektronix window to the value of the resources tektextlarge, tektext2, tektext3, and tektexts‐ mall according to the argument. It is also invoked by the entries of the same names as the resources in tekMenu. set-terminal-type(type) This action directs output to either the vt or tek windows, according to the type string. It is also invoked by the tekmode entry in vtMenu and the vtmode entry in tekMenu. set-titeInhibit(on/off/toggle) This action toggles the titeInhibit resource, which controls switching between the alternate and current screens. set-toolbar(on/off/toggle) This action toggles the toolbar feature and is also invoked by the toolbar entry in mainMenu. set-utf8-mode(on/off/toggle) This action toggles the utf8 resource and is also invoked by the utf8-mode entry in fontMenu. set-utf8-title(on/off/toggle) This action toggles the utf8Title resource and is also invoked by the utf8-title entry in fontMenu. set-visibility(vt/tek,on/off/toggle) This action controls whether or not the vt or tek windows are visible. It is also invoked from the tekshow and vthide entries in vtMenu and the vtshow and tekhide entries in tekMenu. set-visual-bell(on/off/toggle) This action toggles the visualBell resource and is also invoked by the visualbell entry in vtMenu. set-vt-font(d/1/2/3/4/5/6/e/s [,normalfont [, boldfont]]) This action sets the font or fonts currently being used in the VT102 window. The first argument is a single character that specifies the font to be used: d or D indicate the default font (the font initially used when xterm was started), 1 through 6 indicate the fonts specified by the font1 through font6 resources, e or E indicate the normal and bold fonts that have been set through escape codes (or specified as the second and third action arguments, respectively), and s or S indicate the font selection (as made by programs such as xfontsel(1)) indicated by the second action argument. If xterm is configured to support wide characters, an additional two optional parameters are recognized for the e argument: wide font and wide bold font. smaller-vt-font() Set the font to the next smaller one, based on the font dimen‐ sions. See also set-vt-font(). soft-reset() This action resets the scrolling region and is also invoked from the softreset entry in vtMenu. The effect is identical to a soft reset (DECSTR) control sequence. spawn-new-terminal(params) Spawn a new xterm process. This is available on systems which have a modern version of the process filesystem, e.g., “/proc”, which xterm can read. Use the “cwd” process entry, e.g., /proc/12345/cwd to obtain the working directory of the process which is running in the current xterm. On systems which have the “exe” process entry, e.g., /proc/12345/exe, use this to obtain the actual executable. Oth‐ erwise, use the $PATH variable to find xterm. If parameters are given in the action, pass them to the new xterm process. start-extend() This action is similar to select-start except that the selection is extended to the current pointer location. start-cursor-extend() This action is similar to select-extend except that the selection is extended to the current text cursor position. string(string) This action inserts the specified text string as if it had been typed. 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. tek-copy() This action copies the escape codes used to generate the current window contents to a file in the current directory beginning with the name COPY. It is also invoked from the tekcopy entry in tek‐ Menu. tek-page() This action clears the Tektronix window and is also invoked by the tekpage entry in tekMenu. tek-reset() This action resets the Tektronix window and is also invoked by the tekreset entry in tekMenu. vi-button() Handles a button event (other than press and release) by echoing a control sequence computed from the event's line number in the screen relative to the current line: ESC ^P or ESC ^N according to whether the event is before, or after the current line, respectively. The ^N (or ^P) is repeated once for each line that the event differs from the current line. The control sequence is omitted altogether if the button event is on the cur‐ rent line. visual-bell() This action flashes the window quickly. The Tektronix window also has the following action: gin-press(l/L/m/M/r/R) This action sends the indicated graphics input code. The default bindings in the VT102 window use the SELECT token, which is set by the selectToClipboard resource: Shift <KeyPress> Prior:scroll-back(1,halfpage) \n\ Shift <KeyPress> Next:scroll-forw(1,halfpage) \n\ Shift <KeyPress> Select:select-cursor-start() \ select-cursor-end(SELECT, CUT_BUFFER0) \n\ Shift <KeyPress> Insert:insert-selection(SELECT, CUT_BUFFER0) \n\ Alt <Key>Return:fullscreen() \n\ <KeyRelease> Scroll_Lock:scroll-lock() \n\ Shift~Ctrl <KeyPress> KP_Add:larger-vt-font() \n\ Shift Ctrl <KeyPress> KP_Add:smaller-vt-font() \n\ Shift <KeyPress> KP_Subtract:smaller-vt-font() \n\ ~Meta <KeyPress>:insert-seven-bit() \n\ Meta <KeyPress>:insert-eight-bit() \n\ !Ctrl <Btn1Down>:popup-menu(mainMenu) \n\ !Lock Ctrl <Btn1Down>:popup-menu(mainMenu) \n\ !Lock Ctrl @Num_Lock <Btn1Down>:popup-menu(mainMenu) \n\ ! @Num_Lock Ctrl <Btn1Down>:popup-menu(mainMenu) \n\ ~Meta <Btn1Down>:select-start() \n\ ~Meta <Btn1Motion>:select-extend() \n\ !Ctrl <Btn2Down>:popup-menu(vtMenu) \n\ !Lock Ctrl <Btn2Down>:popup-menu(vtMenu) \n\ !Lock Ctrl @Num_Lock <Btn2Down>:popup-menu(vtMenu) \n\ ! @Num_Lock Ctrl <Btn2Down>:popup-menu(vtMenu) \n\ ~Ctrl ~Meta <Btn2Down>:ignore() \n\ Meta <Btn2Down>:clear-saved-lines() \n\ ~Ctrl ~Meta <Btn2Up>:insert-selection(SELECT, CUT_BUFFER0) \n\ !Ctrl <Btn3Down>:popup-menu(fontMenu) \n\ !Lock Ctrl <Btn3Down>:popup-menu(fontMenu) \n\ !Lock Ctrl @Num_Lock <Btn3Down>:popup-menu(fontMenu) \n\ ! @Num_Lock Ctrl <Btn3Down>:popup-menu(fontMenu) \n\ ~Ctrl ~Meta <Btn3Down>:start-extend() \n\ ~Meta <Btn3Motion>:select-extend() \n\ Ctrl <Btn4Down>:scroll-back(1,halfpage,m) \n\ Lock Ctrl <Btn4Down>:scroll-back(1,halfpage,m) \n\ Lock @Num_Lock Ctrl <Btn4Down>:scroll-back(1,halfpage,m) \n\ @Num_Lock Ctrl <Btn4Down>:scroll-back(1,halfpage,m) \n\ <Btn4Down>:scroll-back(5,line,m) \n\ Ctrl <Btn5Down>:scroll-forw(1,halfpage,m) \n\ Lock Ctrl <Btn5Down>:scroll-forw(1,halfpage,m) \n\ Lock @Num_Lock Ctrl <Btn5Down>:scroll-forw(1,halfpage,m) \n\ @Num_Lock Ctrl <Btn5Down>:scroll-forw(1,halfpage,m) \n\ <Btn5Down>:scroll-forw(5,line,m) \n\ <BtnUp>:select-end(SELECT, CUT_BUFFER0) \n\ <BtnDown>:ignore() The default bindings for the scrollbar widget are separate from the VT100 widget: <Btn5Down>: StartScroll(Forward) \n\ <Btn1Down>: StartScroll(Forward) \n\ <Btn2Down>: StartScroll(Continuous) MoveThumb() NotifyThumb() \n\ <Btn3Down>: StartScroll(Backward) \n\ <Btn4Down>: StartScroll(Backward) \n\ <Btn2Motion>: MoveThumb() NotifyThumb() \n\ <BtnUp>: NotifyScroll(Proportional) EndScroll() The default bindings in the Tektronix window are: ~Meta<KeyPress>: insert-seven-bit() \n\ Meta<KeyPress>: insert-eight-bit() \n\ !Ctrl <Btn1Down>: popup-menu(mainMenu) \n\ !Lock Ctrl <Btn1Down>: popup-menu(mainMenu) \n\ !Lock Ctrl @Num_Lock <Btn1Down>: popup-menu(mainMenu) \n\ !Ctrl @Num_Lock <Btn1Down>: popup-menu(mainMenu) \n\ !Ctrl <Btn2Down>: popup-menu(tekMenu) \n\ !Lock Ctrl <Btn2Down>: popup-menu(tekMenu) \n\ !Lock Ctrl @Num_Lock <Btn2Down>: popup-menu(tekMenu) \n\ !Ctrl @Num_Lock <Btn2Down>: popup-menu(tekMenu) \n\ Shift ~Meta<Btn1Down>: gin-press(L) \n\ ~Meta<Btn1Down>: gin-press(l) \n\ Shift ~Meta<Btn2Down>: gin-press(M) \n\ ~Meta<Btn2Down>: gin-press(m) \n\ Shift ~Meta<Btn3Down>: gin-press(R) \n\ ~Meta<Btn3Down>: gin-press(r) Here is an example which uses shifted select/paste to copy to the clip‐ board, and unshifted select/paste for the primary selection. In each case, a (different) cut buffer is also a target or source of the select/paste operation. It is important to remember however, that cut buffers store data in ISO-8859-1 encoding, while selections can store data in a variety of formats and encodings. While xterm owns the selec‐ tion, it highlights it. When it loses the selection, it removes the cor‐ responding highlight. But you can still paste from the corresponding cut buffer. *VT100*translations: #override \n\ ~Shift~Ctrl<Btn2Up>: insert-selection(PRIMARY, CUT_BUFFER0) \n\ Shift~Ctrl<Btn2Up>: insert-selection(CLIPBOARD, CUT_BUFFER1) \n\ ~Shift<BtnUp>: select-end(PRIMARY, CUT_BUFFER0) \n\ Shift<BtnUp>: select-end(CLIPBOARD, CUT_BUFFER1) Below is a sample of how the keymap() action is used to add special keys for entering commonly-typed works: *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) Some people prefer using the left pointer button for dragging the scroll‐ bar thumb. That can be setup by altering the translations resource, e.g., *VT100.scrollbar.translations:#override \n\ <Btn5Down>:StartScroll(Forward) \n\ <Btn1Down>:StartScroll(Continuous) MoveThumb() NotifyThumb() \n\ <Btn4Down>:StartScroll(Backward) \n\ <Btn1Motion>:MoveThumb() NotifyThumb() \n\ <BtnUp>: NotifyScroll(Proportional) EndScroll() CONTROL SEQUENCES AND KEYBOARD The Xterm Control Sequences document lists the control sequences which an application can send xterm to make it perform various operations. Most of these operations are standardized, from either the DEC or Tektronix terminals, or from more widely used standards such as ISO-6429. ENVIRONMENT Xterm sets several environment variables: DISPLAY is the display name, pointing to the X server (see DISPLAY NAMES in X(7)). TERM is set according to the termcap (or terminfo) entry which it is using as a reference. WINDOWID is set to the X window id number of the xterm window. XTERM_LOCALE shows the locale which was used by xterm on startup. Some shell initialization scripts may set a different locale. XTERM_SHELL is set to the pathname of the program which is invoked. Usually that is a shell program, e.g., /bin/sh. Since it is not necessarily a shell program however, it is distinct from “SHELL”. XTERM_VERSION is set to the string displayed by the -version option. That is nor‐ mally an identifier for the X Window libraries used to build xterm, followed by xterm's patch number in parenthesis. The patch number is also part of the response to a Secondary Device Attributes (DA) control sequence (see Xterm Control Sequences). Depending on your system configuration, xterm may also set the following: COLUMNS the width of the xterm in characters (cf: “stty columns”). HOME when xterm is configured to update utmp. LINES the height of the xterm in characters (cf: “stty rows”). LOGNAME when xterm is configured to update utmp. SHELL when xterm is configured to update utmp. It is also set if you pro‐ vide the shell name as the optional parameter. TERMCAP the contents of the termcap entry corresponding to $TERM, with lines and columns values substituted for the actual size window you have created. TERMINFO may be defined to a nonstandard location in the configure script. FILES The actual pathnames given may differ on your system. /var/run/utmp the system logfile, which records user logins. /var/log/wtmp the system logfile, which records user logins and logouts. /etc/X11/app-defaults/XTerm the xterm default application resources. /etc/X11/app-defaults/XTerm-color the xterm color application resources. If your display supports color, use this *customization: -color in your .Xdefaults file to automatically use this resource file rather than /etc/X11/app-defaults/XTerm. If you do not do this, xterm uses its compiled-in default resource settings for colors. ERROR MESSAGES Most of the fatal error messages from xterm use the following format: xterm: Error XXX, errno YYY: ZZZ The XXX codes (which are used by xterm as its exit-code) are listed below, with a brief explanation. 1 is used for miscellaneous errors, usually accompanied by a specific message, 11 ERROR_FIONBIO main: ioctl() failed on FIONBIO 12 ERROR_F_GETFL main: ioctl() failed on F_GETFL 13 ERROR_F_SETFL main: ioctl() failed on F_SETFL 14 ERROR_OPDEVTTY spawn: open() failed on /dev/tty 15 ERROR_TIOCGETP spawn: ioctl() failed on TIOCGETP 17 ERROR_PTSNAME spawn: ptsname() failed 18 ERROR_OPPTSNAME spawn: open() failed on ptsname 19 ERROR_PTEM spawn: ioctl() failed on I_PUSH/"ptem" 20 ERROR_CONSEM spawn: ioctl() failed on I_PUSH/"consem" 21 ERROR_LDTERM spawn: ioctl() failed on I_PUSH/"ldterm" 22 ERROR_TTCOMPAT spawn: ioctl() failed on I_PUSH/"ttcompat" 23 ERROR_TIOCSETP spawn: ioctl() failed on TIOCSETP 24 ERROR_TIOCSETC spawn: ioctl() failed on TIOCSETC 25 ERROR_TIOCSETD spawn: ioctl() failed on TIOCSETD 26 ERROR_TIOCSLTC spawn: ioctl() failed on TIOCSLTC 27 ERROR_TIOCLSET spawn: ioctl() failed on TIOCLSET 28 ERROR_INIGROUPS spawn: initgroups() failed 29 ERROR_FORK spawn: fork() failed 30 ERROR_EXEC spawn: exec() failed 32 ERROR_PTYS get_pty: not enough ptys 34 ERROR_PTY_EXEC waiting for initial map 35 ERROR_SETUID spawn: setuid() failed 36 ERROR_INIT spawn: can't initialize window 46 ERROR_TIOCKSET spawn: ioctl() failed on TIOCKSET 47 ERROR_TIOCKSETC spawn: ioctl() failed on TIOCKSETC 49 ERROR_LUMALLOC luit: command-line malloc failed 50 ERROR_SELECT in_put: select() failed 54 ERROR_VINIT VTInit: can't initialize window 57 ERROR_KMMALLOC1 HandleKeymapChange: malloc failed 60 ERROR_TSELECT Tinput: select() failed 64 ERROR_TINIT TekInit: can't initialize window 71 ERROR_BMALLOC2 SaltTextAway: malloc() failed 80 ERROR_LOGEXEC StartLog: exec() failed 83 ERROR_XERROR xerror: XError event 84 ERROR_XIOERROR xioerror: X I/O error 85 ERROR_ICEERROR ICE I/O error 90 ERROR_SCALLOC Alloc: calloc() failed on base 91 ERROR_SCALLOC2 Alloc: calloc() failed on rows 102 ERROR_SAVE_PTR ScrnPointers: malloc/realloc() failed 121 ERROR_MMALLOC my_memmove: malloc/realloc failed BUGS Large pastes do not work on some systems. This is not a bug in xterm; it is a bug in the pseudo terminal driver of those systems. xterm feeds large pastes to the pty only as fast as the pty will accept data, but some pty drivers do not return enough information to know if the write has succeeded. When connected to an input method, it is possible for xterm to hang if the XIM server is suspended or killed. Many of the options are not resettable after xterm starts. This program still needs to be rewritten. It should be split into very modular sections, with the various emulators being completely separate widgets that do not know about each other. Ideally, you'd like to be able to pick and choose emulator widgets and stick them into a single control widget. There needs to be a dialog box to allow entry of the Tek COPY file name. SEE ALSO resize(1), luit(1), uxterm(1), X(7), pty(4), tty(4) Xterm Control Sequences (this is the file ctlseqs.ms). http://invisible-island.net/xterm/xterm.html http://invisible-island.net/xterm/ctlseqs/ctlseqs.html AUTHORS Far too many people, including: Loretta Guarino Reid (DEC-UEG-WSL), Joel McCormack (DEC-UEG-WSL), Terry Weissman (DEC-UEG-WSL), Edward Moy (Berkeley), Ralph R. Swick (MIT- Athena), Mark Vandevoorde (MIT-Athena), Bob McNamara (DEC-MAD), Jim Get‐ tys (MIT-Athena), Bob Scheifler (MIT X Consortium), Doug Mink (SAO), Steve Pitschke (Stellar), Ron Newman (MIT-Athena), Jim Fulton (MIT X Con‐ sortium), Dave Serisky (HP), Jonathan Kamens (MIT-Athena), Jason Bacon, Stephen P. Wall, David Wexelblat, and Thomas Dickey (invisible- island.net). X Window System XTERM(1)


Linear Regession,Logistic Regression,SVM,Neural Nework
Linear Regession,Logistic Regression,SVM,Neural Nework,K-means
PCA,Decision tree,random forest,GBDT,Xgboost,EM algorithm,Bayesian network,


Writing My First Extension (Firefox Add-ons)
March 10, 2016
In last post I was writing about Getting Started with WebExtension. Its very exicting to learn something new in Web each and everyday. And as a developer the feel when we know our software (General term you can replace with WebExtension) is going to reach many users its awesome feeling.
Often many times I have the habit of visiting some website daily and very frequently. So I decided to have top three websites I visit and open them in a single click. I developed an Add-on which will be opening the websites choosen.
So the main API which do this action is n
chrome.tabs.create({“url”: chrome.extension.getURL(domain)});
The above API is for Firefox Add-on and for Chrome we have slightly little bit different API
chrome.tabs.create({“url”: domain});
And in the manifest file there was a minor change, the below line should be there in the Firefox Extension while it need not be there in the Chrome manifest file.
"applications": {
"gecko": {
"id"<EMAIL_ADDRESS>}
},
You can download the Source code of this Add-on and use for your favorite top website which you want quick access.
In the upcoming post will share more details about the code flow of this Extension and also we can try different API.


Recently I became curious of Sinicuichi. There isn't a whole lot of information that I could find on this plant, but I researched what I could and then bought an ounce from an internet vendor.
Please note that I tried far less than the recommended starting dose, because with any new substance I like to start out slowly. I mixed what I would estimate were about 2 grams of dried leaf into about six ounces of water in a glass bottle, capped it, and set it for two days in a warm windowsill. I then rubberbanded a coffee filter to the mouth of the bottle and poured off the liquid into a cup.
The liquid was bright, transluscent green and smelled exactly like a freshly cut lawn. Not the most appetizing smell in the world, but it was nothing compared to the taste. I had read some reports, and so I was expecting something difficult to drink; in truth, I found it nearly impossible. My method was to take a large swallow, then immediately bite into a hard candy and chew it as fast as I could. I still ended up shuddering and gagging with every swallow, but I managed to get it down in three large gulps over the course of about fifteen minutes (I had to take a few minutes between gulps to steel my nerves). I have imbibed some pretty disgusting concoctions in my time, but this was the worst (even worse than Valerian root, my previous worst). As someone else mentioned on this site, it wasn't that it had a strong, unpleasant flavor or anything, it was just unbelievably bitter, like chewing aspirin.
Anyway, enough about the taste...I got it down, and began noticing effects almost immediately. Even with the small dosage that I took, the effects were quite pleasant. To me, it felt something like a small quantity of alcohol - I was very relaxed, mildly euphoric, and although my internal thoughts seemed clear I had a very difficult time paying attention to anything for very long. There were a few other people around me (who had not taken the drink) and when one of them would talk to me, I would look at them and listen to what they were saying, but my brain could not process their words and I ended up having no clue what they were talking about. This was true even of relatively simple statements or questions. It was as if I could hear each individual word, but was incapable of stringing them together in order to form concepts.
That was the only effect I had from my dose of Sinicuichi. I didn't have any hallucinations, aural or otherwise, but that was not surprising since the dose was such a small one. The 'drunken' effect lasted for about two hours and then faded off cleanly. This morning (the day after) I woke up feeling particularly refreshed and awake, even though I did not get a lot of sleep last night.
Overall, it was enjoyable but not worth the hideous experience of downing the tea. I plan on experimenting with some of the other suggested ways to use Sinicuichi, but I will probably not make the sun tea again. Making a crude extract will probably be my next step, or possibly just making tea and boiling it down until I can swallow it in one gulp, as one post on this site suggested. I can see that this plant has potential, but if one is going to experiment with it I would NOT recommend the traditional sun tea method.
Experience Reports are the writings and opinions of the individual authors who submit them.
Some of the activities described are dangerous and/or illegal and none are recommended by Erowid.


3D Printing in Topology
At the University of Georgia I spent three semesters exploring 3D printing techniques in topology under Dr. David Gay in the Mathematics Department, in particular, visualizing complex shapes and knots using a MakerBot Replicator 2.
While working on this project I’ve had fantastic support, including recognition by some individuals that are experts in the field such as professor and now MakerBot employee Dr. Laura Taalman1:
Beautiful 3D prints of puzzles based on open-book trefoil knot decompositions by @fredhohman: http://t.co/amrWFoYRkI pic.twitter.com/x7gP3U5h2s
— Laura Taalman (@mathgrrl) August 27, 2015
The last time I spoke with Dr. Taalman she mentioned that another employee at MakerBot has printed one of my trefoil knots and keeps it on his desk. How cool!
3DPrint.com Articles
Back in December, well-known 3D printing website 3DPrint.com wrote about my project while I was still working on it. However, just this past weekend 3DPrint.com was kind enough to write a second, follow-up piece about the finished project.
@My3DPrinting Thanks for the shout-out!
— Fred Hohman (@fredhohman) September 14, 2015
If you find 3D printing, mathematical art, or topology interesting I suggest you go read it!
So, what now?
This project is officially done. I still find 3D printing fascinating and I plan to stay current with the latest news and advancements surrounding the technology. Maybe something I do in graduate school at Georgia Tech will have a connection to 3D printing so I will have an excuse to hang out in a hackerspace2 again.


{% extends "logged-in.html" %} {% block subtitle %}My Profile{% endblock %} {% block content %}
This is what others will see about you!


--- layout: newsstory title: LOSE TO BLUES match: Friendly Yeltz 1 B'ham City 2 ---
Another reasonable performance in a pre-season friendly, this time a 2-1 loss against a Birmingham City XI managed by ex-yeltz boss Stewart Hall. As usual, full details in DJ's match report .
Next game is at Oldbury on Thursday, which should be a cracker :-)
I've been doing a few bits of housekeeping on the site over the summer, and have a few things to come over the next few months. However two things I'd like to point out are these. This season's election for the Yeltz Hall of Fame is now open. Also, Fantasy Island is ready to go with the start of the league games, so you can start entering your predictions in for any games that are within the next month.
Halesowen Town: Harris; Colwell, Charlton, Kavanagh (Trainer 55), Smith (J. Skidmore HT), Grocutt (Small HT), Hollis (Wray HT), Mitchell (Phillips HT), Hallam (Ashby HT), Blake (Spencer 55), March. Sub: Gayle
Birmingham City XI: Dormand; Cotterill, Vaughan, Painter, Arrowsmith, Alsop, Till, Allen, Fagan, Borrowman, Motteram. Subs: Longthorn, Bagnall, Sheppard, O'Brian, Birley, Parratt
Referee: A. Mariner
Ex-Halesowen manager Stewart Hall brought his pacy youngsters to the Grove but it was Halesowen's Leon Mitchell who hit inches wide in the 4th minute after turning defender Lee Vaughan with a clever back-heel. Mark Hallam's header then produced a reflex save from James Dormond in the 10th minute.
City went ahead after 21 minutes through Andy Borrowman who slotted into an empty net when young goalkeeper Matt Harris raced off his line but completely missed his attempted headed clearance of a long ball. With the visitors on top, Craig Fagan struck the side-netting from a good position on the half-hour before Peter Till lashed home a second goal in the 44th minute as Halesowen's defence failed to clear a corner.
Borrowman then hit the underside of the Halesowen bar from 5 yards straight after the break and Richard Colwell made a timely clearance from Fagan in the 73rd minute.
Jason Ashby pulled a goal back with a simple tap-in after 76 minutes when goalkeeper Dormond dropped a Jamie March cross and four minutes later Andy Spencer cracked just wide as Halesowen finished more strongly.


--- layout: work title: "halo" date: 2019-07-26 description: image: /assets/images/halo.png author: Eunji Jeong tags: - Halo ---


LIGHTING EXCELLENCE FOR 18 YEARS
LUMEN DESIGN SPECIALIZES IN THE DELIBERATE USE OF THE ART AND SCIENCE OF LIGHTING TO ENHANCE BOTH INTERIOR AND EXTERIOR SPACES. BE IT A REMODEL, NEW CONSTRUCTION, EITHER SMALL OR LARGE, BOTH COMMERCIAL AND RESIDENTIAL, WE HAVE THE EXPERTISE.
CONTACT LUMEN DESIGN
ANDREW PULTORAK LC, MEIS
PRINCIPAL
<<<<<<< HEAD
206 282 8998
=======
206 282 8998
>>>>>>> develop
ANDREW@LUMENDESIGN.COM


Personal BMI Calculator
Birth(year):
Sex:
Male
Female
Height(m/cm):
Weight(kg):
Fill all spaces above to know the result!


Desperate Zimbabweans pitch tents at passport office
The government has assured the nation that issuance of passports will improve as authorities are working to resolve the problems being experienced at the Registrar General’s Office.
The assurance came as some desperate passport seekers in Mashonaland East Province have resorted to pitching tents near the Marondera Registrar General’s Office while they wait to be served.
In an interview with ZBC News, the Deputy Minister of Home Affairs and Cultural Heritage, Mike Madiro said the government is aware of the current situation and is working on a permanent solution.
“It is regrettable that people are having to endure such conditions, but, as government, we are working flat out to ensure they get their service,” said deputy minister Madiro.
The passport seekers said they were left with no choice than to sleep at the government office awaiting to be served.
“We are having to sleep in the open as we wait to be served. We have been here for days and we don’t know when we will be assisted,” said one passport seeker said.
“We are appealing to government to increase the number of people who are served per day so we are all served,” pleaded another.
In an effort to maintain order, the passport seekers organise themselves by writing their names in a book which they use the next day with each person getting a number.
“We have resorted to using this book to maintain order as some people just come in the morning and jump the queue,” said a member of the group.
With nine administrative districts, Mashonaland East has only one office which issues the travel documents, which has left the Registrar General’s Office dealing with huge numbers of pasport seekers.
The government last week hinted on increasing passport fees in order to meet production costs and in turn improving service delivery.
zbc


dash.math.haversine
Returns the distances between latitude-longitude coordinates
Syntax
Description
distances = dash.math.haversine(coordinates)
Computes the distance between each latitude-longitude coordinate listed in a matrix. Note that the haversine function is agnostic to longitude coordinate systems. Thus, you may use longitudes on -180:180, or 0:360, or even a mix of both coordinate systems.
distances = dash.math.haversine(coordinates1, coordinates2)
Computes the distance between each coordinate in the first matrix and all the coordinates in the second matrix.
Input Arguments
coordinates
numeric matrix [nCoordinates x 2]
A set of latitude-longitude coordinates in decimal degrees. A numeric matrix with two columns. The first column is the latitude coordinates, and the second column is the longitude coordinates.
Output Arguments
distances
numeric matrix
The distance between each pair of coordinates in kilometers. If you input a single coordinate matrix, then distances is a symmetric matrix with one row and one column per latitude-longitude coordinate . If you input two coordinate matrices, then distances will have one row per coordinate in the first input, and one column per coordinate in the second input.


Project Spontaneous is an experimental learning site aimed at using web technologies to inculcate a thorough understanding of the science of physics to students. The site is only experimental and as such much attention has not been paid to design,only bare bone features are shown. However I believe that most of the pedagogical techniques used herein could be beneficial so feel free to navigate each link on the site and send a review.🙏
Note: all the account details entered in this site are stored on your device so you can choose to delete them using the delete account button which will be visible on the my progress page once the account has been created.
Take The lessons. Take The Quizes.
The site would be better soon.
This feature allows you to select a particular problem type,provides you with the formulae to solve the problem and also allows you to put in parameters after which the answer is provided. Hot! Smoking and Fresh on a platter accompanied by the apprppriate units. For example, in the problem type Force,(F=ma) Entering a and F would output the value of the mass.
The second feature of the web app is "Find The Units". This Feature was designed knowing that many Students tend to forget the units of physical quantities. To use this feature just Enter the name of the physical quantity (make sure your spellings are correct) and the units will be returned as output.For example entering Pressure would output 'Pascal(pa),mmHg' etc.
The second feature of the web app is "Find The Formulae". This Feature is similar to the "Find The Units" Feature. To use this feature just Enter the name of the physical quantity (make sure your spellings are correct) And the Formulae will be returned as output. For example, entering force would output, F=ma,F=PA etc.
Front-end Engineer/developer,Founder, Promoter
SEO specialist, Marketer
Backend developer/Engineer, Database manager


Data Fields | |
| VALUE | min_bv |
| VALUE | max_bv |
| VALUE | min |
| VALUE | max |
| VALUE | last_bv |
| VALUE | last |
Definition at line 1480 of file enum.c.
Definition at line 1486 of file enum.c.
Referenced by enum_minmax_by(), and minmax_by_i().
Definition at line 1485 of file enum.c.
Referenced by enum_minmax_by(), and minmax_by_i().
Definition at line 1484 of file enum.c.
Referenced by enum_minmax_by(), and minmax_by_i_update().
Definition at line 1482 of file enum.c.
Referenced by enum_minmax_by(), and minmax_by_i_update().
Definition at line 1483 of file enum.c.
Referenced by enum_minmax_by(), and minmax_by_i_update().
Definition at line 1481 of file enum.c.
Referenced by enum_minmax_by(), and minmax_by_i_update().


| Pose | Age | Gender |
| Expression | Eyeglasses | Artifacts |
@inproceedings{shen2020interpreting, title = {Interpreting the Latent Space of GANs for Semantic Face Editing}, author = {Shen, Yujun and Gu, Jinjin and Tang, Xiaoou and Zhou, Bolei}, booktitle = {CVPR}, year = {2020} } @article{shen2020interfacegan, title = {InterFaceGAN: Interpreting the Disentangled Face Representation Learned by GANs}, author = {Shen, Yujun and Yang, Ceyuan and Tang, Xiaoou and Zhou, Bolei}, journal = {TPAMI}, year = {2020} }
Comment: Dissects neurons in GANs from the perspective of spatial feature map.


In our personal and professional lives, we often encounter conflict that can upset or anger us. When conflict arises, it's important to manage our emotions and respond in a proactive manner. Sometimes choosing not to respond may also be appropriate in the moment. It's essential to take an audit of how you feel and why. This will help you focus and decide what is the best course of action.
In the past, I interned at a lab that contained roughly 7 or so graduate students. We often shared the same equipment, and it was essential that we each clean up after working.Otherwise, we risked cross-contamination, which could lead to unexpected results—some of which could be dangerous.
I was a little nervous about making mistakes around peers with so much experience, so I tried to be very conscientious about cleaning up after myself. As the new person in the lab, I was sometimes the first suspected of leaving a piece of equipment dirty. Even in instances where that wasn't the case, I would usually clam up or acquiese if someone inquired. Occasionally, I would also get a little defensive. As time went on, I felt more comfortable expressing myself and clearly indicating when I was not the cause of the mess.
Looking back, I wish I had been a little more comfortable standing up for myself in that situation. Overall, the conflict was so minor and only required me to speak up. No one was upset or angry to begin with, though I shouldn't fear engaging peers when they are. For me, the experience was an exercise in assessing the scale of conflict, which I think is valuable in order to determine how to respond.


{% extends "layout-v2.html" %} {% block pageTitle %} NHS Cervical screening management system {% endblock %} {% block header %} {% include '../components/header-3.html' %} {% endblock %} {%block content%} {{ backLink({ "href": "prior-notification-10-manage", "text": "Back to Manage emails", "classes" : "nhsuk-u-margin-bottom-4" }) }}
Information: Make sure that the staff members involved in cervical screening tasks are receiving the right notifications.


org.fusesource.scalate
A property for a Java Bean property
no summary matey
A property which just maps to a method with no arguments
A property which returns a Function which when invoked it invokes the underlying method on the given object


{% include "partials/head.html" %}
Feverbase
About
Volunteer for Trials
Give Feedback
feverbase
Search {{ total_count }} clinical trials from around the world.
Hint: try adding
mindate:"April 1, 2020"
or
maxdate:2020-03-15
to your search
{{ 'Hide' if adv_filters_in_use else '' }}
Advanced Filters
{{ 'Reset Advanced Filters' if adv_filters_in_use else '' }}
Date Posted:
Sponsor:
{% if filters and not 'sponsor' in filters %}
{% else %}
{% endif %} {% if filter_options and 'sponsor' in filter_options %} {% for sponsor in filter_options.sponsor %} {% if filters and 'sponsor' in filters and filters.sponsor == sponsor %}
{{ sponsor }}
{% else %}
{{ sponsor }}
{% endif %} {% endfor %} {% endif %}
Condition:
Intervention:
Sample Size:
Location:
Status:
{% if filters and not 'recruiting_status' in filters %}
{% else %}
{% endif %} {% if filter_options and 'recruiting_status' in filter_options %} {% for recruiting_status in filter_options.recruiting_status %} {% if filters and 'recruiting_status' in filters and filters.recruiting_status == recruiting_status %}
{{ recruiting_status }}
{% else %}
{{ recruiting_status }}
{% endif %} {% endfor %} {% endif %}
No more results.
{% include "partials/end_body.html" %}


| Test name | Result |
|---|---|
| Has table (scalar) | |
| Create table (execute) | |
| Truncate table (execute) | |
| Insert into table (execute) | |
| Select items (list) | |
| Select exactly one item (unique) | |
| Select exactly one item (unique) - err | |
| Select first item (first) | |
| Select first item (first) - err |


Exodus 22:10
If a man deliver unto his neighbor an ass, or an ox, or a sheep, or any beast, to keep; and it die, or be hurt, or driven away, no man seeing it:


Meet the team
The idea behind this project is to build models for Loan Data provided by
Lending Club that summaries a large amount of it's customers data to give an
overview of the trend of default status among customers who have taken a loan there.
We are building a Naive Bayes and a K-Nearest Neighbor Classification model to classify the
customers into "Defaulted" and "Not Defaulted" status.
Lending Club is the world's largest online marketplace connecting borrowers and investors. Lending Club helps to make credit more affordable and investing more rewarding. They operate at a lower cost than traditional bank lending programs and pass the savings on to borrowers in the form of lower rates and to investors in the form of solid returns.
Any person who wants to provide loan for some interest can advertize to provide loan at a particular interest rate. Similarly, anyone who intends to borrow loan would advertize to get loan at his desired interest rate. Lending club tries to match these loan investors and loan borrowers.
The idea of being able to predict whether a customer would default on his loan or not, even before he is sanctioned a loan is an exciting one. This approach is also of utmost importance to any financial institution. Although, the models we build might not be perfect, it will help the institution and give them an idea of what to expect from a customer. The data we have collected might be from Lending Club, but this solution can be applied to any financial service, which makes this project even more useful and important.
The direct applicability of this model to real world problems in banking and financial firms makes this an interesting and cool project to work on. Also, so far we have only imported libraries to build models in R, Python and hence implementing from scratch will be a challenge.
We used the loan data provided by Lending Club on Kaggle website. The files that we downloaded contain complete loan data for all loans issued to the customers through the 2007-2015, including the current loan status which is our predictor variable. The file is in the csv format and has a size of about 1 GB. It is a matrix of about 6 lakh observations and 75 variables. The data dictionary was provided along with the data which helped us understand the different variables involved. As every column is not necessary for the prediction, we chose only few of the most important numerical columns to predict the target variable. As mentioned above, our predictor variable is "loan_status" which has the details of open, currently running and closed loans indicating whether a person has defaulted on the loan taken or not. And our purpose is to build models to accurately predict this classification.
Not all the variables are used for our prediction.We have used about 7 variables which will be explained later All the observations with missing values have been deleted.
Data is divided into training data (80%) and test data(20%). Training data is used to build the model and Test data is used to validate the model. Sample data is shown below
The main task involved in this project are a follows:
Naive Bayes classification is a supervised machine learning classifier which works on the principle of Bayes Theorem. The Naive Bayes algorithm is called "naive" because it makes the assumption that the occurrence of a certain feature is independent of the occurrence of other features. We find the probabilities of each feature values for a class and multiply all the probabilities. This product is multiplied with the probability of the class. Which class gives a higher probability that class would be given to the corresponding data.
This sums the Bayes' theorem as:
Naive Bayes algorithm is the algorithm that learns the probability of an object with certain features belonging to a particular group/class.
Training Phase:Given a training set S of F features and L classes,
For each target value Ci (C1, C2, C3,..., CL)
P(Ci) = estimate P(ci) with examples in S;
For every feature value xjk of each feature xj (j=1,..., F; k=1,...,N)
P(xj = xjk|ci) = estimate P(xjk|ci) with examples in S;
Output F*L gives the conditional probabilistic models.
Given an unknown instance x'=(a'1,..., a'n) "Look up table" to assign label c* for x' if:
We selected only important variables as features for Naive Bayes classifier. Those features are described below:
| Attributes | Description |
|---|---|
| emp_length | Employment length in years. Possible values are between 0 and 10 where 0 means less than a year and 10 means 10 or more years |
| grade | Loan grade: A,B,C,D |
| home_ownership | The home ownership status provided by borrower during registration or obtained from credit report. It can be : RENT, OWN, MORTGAGE, OTHER |
| initial_list_status | The initial listing status of the loan. It can be : W or F |
| term | The number of payments of the loan. Values are in months and can be either 36 or 60. |
| verification_status | Indicate's if income is verified or not verified by LC. |
Sample of the data used for Naive Bayes classification is shown below
The KNN algorithm is a robust and versatile classifier that is often used as a benchmark for other more complex classifiers. Despite its simplicity, KNN can outperform more powerful classifiers and is used in a variety of applications such as economic forecasting, data compression and genetics. For example, KNN was leveraged in a 2006 study of functional genomics for the assignment of genes based on their expression profiles.
KNN falls in the supervised learning family of algorithms. Informally, this means that we are given a labelled dataset consiting of training observations (x,y) where x denotes a feature and y denotes the target variable we are trying to predict.
We would like to capture the relationship between x and y. More formally, our goal is to learn a function h:X→Y so that given an unseen observation x, h(x) can confidently predict the corresponding output.
The KNN classifier is also a non parametric and instance-based learning algorithm.
We selected numerical variables only as features for K-Nearest Neighbor classifier as it can handle numerical variables well. We selected below features as inputs to our K-Nearest Neighbor model:
| Features | Description |
|---|---|
| Int_rate | Interest Rate on the loan (Numeric) |
| Loan_amt | Amount of loan taken by the customer(Numeric) |
| Annual_inc | Annual income of the customer(Numeric) |
| Open_acc | Open credit lines in the customer's account(Numeric) |
| Revol_bal | Credit revoke balance |
| Total_acc | Total number of credit accounts under the customer's name |
| Revol_util | Amount of credit the customer is using relative to all relative accounts |
| Delinq_amnt | Past-due amount owned on the accounts |
| Dti | Ratio of the customer's total monthly debt payments divided by his/her self-reported monthly income |
Sample of the data used for KNN classification is shown below.
Let's take a simple case to understand this algorithm. Following is a spread of red circles (RC) and green squares (GS) :
You intend to find out the class of the blue star (BS) . BS can either be RC or GS and nothing else. The "K" is KNN algorithm is the nearest neighbors we wish to take vote from. Let's say K = 3. Hence, we will now make a circle with BS as center just as big as to enclose only three datapoints on the plane. Refer to following diagram for more details:
The three closest points to BS is all RC. Hence, with good confidence level we can say that the BS should belong to the class RC. Here, the choice became very obvious as all three votes from the closest neighbor went to RC. The choice of the parameter K is very crucial in this algorithm. Next we will understand what are the factors to be considered to conclude the best K.
In short, A case is classified by a majority vote of its neighbors, with the case being assigned to the class most common amongst its K nearest neighbors measured by a distance function.
We use one of the following distance functions to calculate the distance between two points.
The K in KNN is a hyper-parameter that you, as a designer, must pick in order to get the best possible fit for the data set. Intuitively, you can think of K as controlling the shape of the decision boundary we talked about earlier.
When K is small, we are restraining the region of a given prediction and forcing our classifier to be “more blind" to the overall distribution. A small value for K provides the most flexible fit, which will have low bias but high variance. Graphically, our decision boundary will be more jagged.
On the other hand, a higher K averages more voters in each prediction and hence is more resilient to outliers. Larger values of K will have smoother decision boundaries which means lower variance but increased bias.
In general, a large K value is more precise as it reduces the overall noise but there is no guarantee. Cross-validation is another way to retrospectively determine a good K value by using an independent dataset to validate the K value. Historically, the optimal K for most datasets has been between 3-10. That produces much better results than 1NN.
We successfully implemented all the tasks that we had mentioned at the beginning of the project under the "definitely achieve" section. We built a Naive Bayes and a k-Nearest Neighbor model to classify the loan_status in our data. Our models gave decent accuracies of around 75-80%. Naive Bayes models built using Mllib also gave accuracy in the similar range but a bit higher than our model. Although, we are not entirely sure why there is a difference, but we cannot generalize it and say that Mllib works better than our model for every data. As part of the "ideally achieve" section, we were able to build Logistic Regression just using the Python programming language. As we tested it on a smaller dataset we were able to achieve an accuracy of around 70%. This project helped us learn several new things about the Python language, the Spark architecture and helped us gain a better understanding of the Naive Bayes and kNN algorithms.
http://dataaspirant.com/2017/02/06/naive-bayes-classifier-machine-learning/
https://www.analyticsvidhya.com/blog/2017/09/naive-bayes-explained/
http://www.saedsayad.com/k_nearest_neighbors.htm
https://www.analyticsvidhya.com/blog/2014/10/introduction-k-neighbours-algorithm-clustering/
https://kevinzakka.github.io/2016/07/13/k-nearest-neighbor/
.


STAR TREK: GENERATIONS A film review by James Berardinelli Copyright 1994 James Berardinelli
Rating (0 to 10): 6.9
Date Released: 11/17/94 Running Length: 1:58 Rated: PG (Violence, language)
Starring: Patrick Stewart, William Shatner, Jonathan Frakes, Brent Spiner, Malcolm McDowell, LeVar Burton, Michael Dorn, Marina Sirtis, Gates McFadden, Whoopi Goldberg, James Doohan, Walter Koenig Director: David Carson Producer: Rick Berman Screenplay: Ronald D. Moore & Brannon Braga based on a story by Rick Berman & Ronald D. Moore & Brannon Braga Cinematography: John A. Alonzo Music: Dennis McCarthy Released by Paramount Pictures
Despite a reasonably original story line, familiar characters, first rate special effects, and the hallmark meeting between Captains Kirk (William Shatner) and Picard (Patrick Stewart), there's something fundamentally dissatisfying about this, the seventh "Star Trek" feature film. The problem is that while STAR TREK: GENERATIONS is undeniably a major motion picture, too often it seems like little more than an over-budgeted, double-length episode of the "Next Generation" television series. The vestiges of the intangible "Star Trek" magic which has survived for more than twenty-five years, and weathered six feature films (the last two of which have been lackluster), are laid to rest here. If the spirit of the series is ever again to boldly go, it will have to rise, phoenix-like, from the ashes.
STAR TREK: GENERATIONS opens in the twenty third century with the christening of the USS Enterprise "B". On hand for the event are three living legends: Captain James T. Kirk, Captain Montgomery Scott (James Doohan), and Commander Pavel Chekov (Walter Koenig). As so often happens in the "Star Trek" universe, a ceremonial maiden voyage turns into a rescue mission, with the Enterprise the only ship within range to aid refugees trapped by a mysterious--and deadly--energy ribbon. Kirk, assisted by his two old friends, manages to save nearly fifty lives, but not before the section of the ship where he's working is destroyed. No body is found, but the celebrated Starfleet officer is presumed dead. In actuality, however, he has been sucked into the "Nexus", a place where time has no meaning and where fantasies become reality.
Seventy-eight years later, the crew of the Enterprise "D" are engaged in a rescue mission of their own: saving scientists in an observatory ravaged by a Romulan attack. One of the survivors, a Dr. Soran (Malcolm McDowell), is a long-lived alien who exhibits certain irrational tendencies. Driven by an obsessive need to enter the "Nexus", and willing to take any action necessary to accomplish that aim, Soran turns against Captain Picard, placing in jeopardy not only the Enterprise "D", but an entire populated planet.
It's difficult to say how the general public will react to this film. Unlike the previous sequels, GENERATIONS is largely inaccessible to non-"Trek" aficionados. However, with its focus on character development over action, it should prove enjoyable for those well-acquainted with the voyages of any Enterprise. One of GENERATIONS' strengths is its willingness to take chances with the familiar "Star Trek" mythos. This movie spends as much time tearing down old bridges as building new ones.
There are problems, however, several of which are too obvious to ignore. First time feature director David Carson's inexperience is at times evident. His film is inconsistently paced, with a few space battle/action scenes sprinkled liberally throughout an otherwise talky, protracted story. A combat sequence between the USS Enterprise "D" and a Klingon ship lacks any semblance of tension. Looking back at the ship-to-ship duels of movies 2, 3, and 6, there was a flair and buildup that is noticeably absent here. The battles in GENERATIONS are hurried, and the viewer appears to be watching rather than participating, with little opportunity to savor the moment.
Equally unimpressive is Carson's handling of a certain highly-emotional moment that figures prominently in the climax. Again, perhaps he's rushing things, but those of us in the audience recognize that the scene should be far more affecting than it actually is. The ending of STAR TREK II: THE WRATH OF KHAN, which featured Spock's death, was wrenching. By comparison, GENERATIONS' last moments are flat.
Malcolm McDowell plays the latest--and probably the weakest--"Star Trek" film villain. Following in the footsteps of Ricardo Montalban's Khan, Christopher Lloyd's Kruge, and Christopher Plummer's Chang, McDowell can't quite live up to the scenery-chewing nastiness of his predecessors. This is precisely because McDowell's Soran is too restrained--"Trek" bad guys tend to be at their best when hamming it up.
The centerpiece of GENERATIONS is the much-anticipated meeting between Kirk and Picard, which completes the old crew-to-new crew transition begun in STAR TREK VI. Shatner wears Kirk like a comfortable garment, and somehow the film seems more alive when he's on screen. Stewart, the consummate professional, is undeniably the better actor, but his presence isn't as arresting. Even Brent Spiner, despite a wonderful, often-comic performance as Lt. Commander Data, can't fill the gap left when Kirk isn't around.
One thing made obvious by this picture is that the "Star Trek" movies are in desperate need of musical continuity. Dennis McCarthy is the fifth composer in seven films, and his score is perhaps the most bland of all. Except during certain key moments when the Alexander Courage signature tune is used, most of GENERATIONS' unmemorable music fades into the dimly-lit background.
Lovers of frantically-paced science fiction may find GENERATIONS too static, and fans of the original series will likely be disappointed by the limited screen time accorded Kirk, Scotty, and Chekov (not to mention the absence of Spock, Bones, Sulu, and Uhura) Mostly, GENERATIONS spends its running length searching for--and never completely finding--its niche.
If there is an eighth "Star Trek" film, and GENERATIONS isn't the series' epitaph, perhaps eliminating the burden of mixing characters from different eras will permit a less-erratic plot line. Either way, however, "Star Trek" will never be the same. Age and a few too many bad stories may have robbed Kirk and company of their vitality, but nothing can take away their mystique--and that is the quality which will sorely be missed.
- James Berardinelli<EMAIL_ADDRESS>.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Winter 2019-2020 to be warmer than normal, preditcs IMD
The upcoming winter season (December to February) is likely to experience warmer than average minimum temperatures over most parts of the country except over northern most parts of India, the IMD predicted.
The winter is likely to be warmer than normal this season, the India Meteorological Department said on Friday.
In its winter forecast released on Friday, the IMD said, "The upcoming winter season (December to February) is likely to experience warmer than average minimum temperatures over most parts of the country except over northern most parts of India, thus indicating a warmer winter season over the country."


Open Assessment (M) Tool : 2418596u
This tool is developed to help Competent Authorities perform risk assessment for critical infrastructure (Transport) under NIS directive
This tool is based on FMECA (Failure Modes, Effects and Criticality Analysis) technique and also includes a risk matrix and rank table
This tool can be extended for other sectors under OES (Operation of Essential Services) as well
This tool uses modified RPN which gives severity of hazard more priority in criticality over likelihood and detection rates
This tool can be further extended to incorporate fault trees and other related hazard analysis techniques


What would you like to get done, eventually? Welcome to Procrastinator, a form for those who believe "there's always tomorrow."