Here's an updated version of the patch, reverting the de-boldfacing of action names (and some token names) in resource translations.
My additional fixes are described at the end, numbered 21-25. Please find two attachments: 1. The actual diff. 2. A diff of the nroffed output of the two pages prepared like this: nroff -ww -man $DIR/xterm.man | colcrt - This makes it _much_ easier to see what all my patches were up to, and also serves as a bit of a sanity check. Note that (a) I'm using a UTF-8 environment, so the nroff output and diffs reflect that (it also helps expose the hyphen-minus fix) and (b) I cheated out the whitespace changes resulting from the fixed conditionals in the page local macros bP and NS. -- Regards, Branden
01. The local macro definitions for bP and NS were testing the values of registers which were likely to be undefined; e.g. "./xterm-330/xterm.man:64: warning: number register `.I' not defined" Make them test instead simply for "n" (nroff mode, as opposed to troff mode), since that appears to be the intention. 02. Use the \(ha, \(ga, and \(ti character escapes instead of ^`~ literals, since these produce full-sized spacing glyphs instead of small ones intended as combining characters on troff output devices. 03. Use \- character escape in examples, URLs, and other literal contexts when an ASCII "hyphen-minus" is intended; ensures that the correct glyph can be cut and pasted from the man page both from TTY and PDF output devices. 04. Apply font markup to "Control characters may be specified as ^char (e.g., ^c or ^u)", consistently with the ensuing discussion. 05. Minor style fix: "the feature is built in" vs. "the program's built-in features". 06. Remove no-op zero-width space character escapes from the xfontsel example. 07. Add linebreaks after sentences that had only one space between them and the succeeding sentence, so the roff system recognizes them as separate sentences and pads ("adjusts") the line appropriately. (ca. lines 3389, 5382, ...) 08. Remove trailing whitespace from the ends of input lines. 09. Convert several uses of bare `` and '' to use the page's local string defines, for consistency with the rest of the page. [item 10 reverted] 11. Remove trailing "\n\" from the BtnUp select-end example; it didn't seem necessary and the \<newline> was syntactically meaningful to roff so it didn't get rendered as expected and caused a warning: "./xterm-330/xterm.man:5033: warning: number register `.' not defined" It also turned off fill mode outside of the examples for a few paragraphs, making the output ugly. 12. "etc" is an abbreviation that gets a period. 13. Join two really short input lines ca. line 5029 (about triple-clicking). 14. Use the local AQ string definition instead of bare 's in printf examples, for correct appearance and more successful cut and pasting. 15. In the big default charClass table, use a dingbat asterisk at the end of the C comment for symmetry with the beginning, which already uses one. 16. Rewrite the upper half of the charClass table so it depicts the actual (printable) glyphs in \x80-\xff. What was there was largely incomprehensible to me. 17. Use character escape '\e' instead of '\\' in resource translation examples. '\\' does not render as desired and makes the examples wrong. (\(rs would be more strictly correct than \e, but is a groffism; \e is not an invariant glyph reference but instead means "whatever the current roff escape character is"; fortunately, most man pages do not change the escape character. Traditional roff does not have a character escape for the "reverse solidus".) 18. The translation examples also don't need zero-width spaces (\&) at the ends of the input lines; this is a no-op. Remove them. 19. Unindent the examples for the VT100 and Tektronix default translations by one space since some of the lines are very wide. One space was all the room available given the existing alignment. If desired, I can prepare a patch to step the font size down by a point or two, though this will not help TTY-like devices. 20. Fix missing word: "you could add a binding [to] shifted keys". 21. Add missing period to end of sentence ca. line 1526. 22. Break a really, really long input line ca. line 5162. 23. Set names of selection tokens in bold, not italics, ca. line 6362, for consistency with the rest of the page. 24. Set names of CUT_BUFFER selection token in bold as well, in resource translation examples, ca. lines 6898, 6979, and 7023. 25. Grammar: Change a "not" to a "nor" ca. line 7150. --- xterm-330/xterm.man 2017-06-18 14:07:02.000000000 -0400 +++ xterm-330-branden/xterm.man 2017-11-07 07:23:38.195647033 -0500 @@ -61,16 +61,16 @@ .\" .\" Bulleted paragraph .de bP -.ie \n(.IP \(bu 4 -.el .IP \(bu 2 +.ie n .IP \(bu 4 +.el .IP \(bu 2 .. .\" these would be fallbacks for DS/DE, .\" but groff changed the meaning of the macros. .de NS -.ie \n(.sp -.el .sp .5 -.ie \n(.in +4 -.el .in +2 +.ie n .sp +.el .sp .5 +.ie n .in +4 +.el .in +2 .nf .ft C \" Courier .. @@ -912,7 +912,7 @@ Also, \fI\*n\ \-e\fP is supposed to provide a consistent functionality for other applications that need to start text-mode programs in a window, and if \fBloginShell\fP were not ignored, the -result of ~/.profile might interfere with that. +result of \(ti/.profile might interfere with that. .IP If you do want the effect of \fB\-ls\fP and \fB\-e\fP simultaneously, you may get away with something like @@ -1325,9 +1325,9 @@ (the first two are equivalent since the descriptor follows the last \*(``/\*(''): .NS 15 --S/dev/pts/123/45 --S123/45 --Sab34 +\-S/dev/pts/123/45 +\-S123/45 +\-Sab34 .NE .IP Note that \fI\*n\fP does not close any file descriptor @@ -1488,13 +1488,13 @@ .bP .B ptyInitialErase\fP (PIE), along with the .bP -\fIstty\fP erase character (^H for backspace, ^? for delete) +\fIstty\fP erase character (\(haH for backspace, \(ha? for delete) .RE .IP will affect DECBKM. First, \fI\*n\fP obtains the initial \fIerase\fP character: .RS .bP -\fI\*n\fP's internal value is ^H +\fI\*n\fP's internal value is \(haH .bP \fI\*n\fP asks the operating system for the value which \fBstty\fP shows .bP @@ -1509,14 +1509,14 @@ _ _ _ _ l c c c. \fBPIE\fR \fBstty\fR \fBtermcap\fR \fIerase\fP -false ^H ^H ^H -false ^H ^? ^? -false ^? ^H ^H -false ^? ^? ^? -true ^H ^H ^H -true ^H ^? ^H -true ^? ^H ^? -true ^? ^? ^? +false \(haH \(haH \(haH +false \(haH \(ha? \(ha? +false \(ha? \(haH \(haH +false \(ha? \(ha? \(ha? +true \(haH \(haH \(haH +true \(haH \(ha? \(haH +true \(ha? \(haH \(ha? +true \(ha? \(ha? \(ha? .TE .IP Using that \fIerase\fP character, \fI\*n\fP allows further choices: @@ -1526,8 +1526,9 @@ character for the initial state of \fBDECBKM\fP .bP if \fBbackarrowKeyIsErase\fP is false, \fI\*n\fP sets \fBDECBKM\fP -to 2 (internal). This ties together \fBbackarrowKey\fP -and the control sequence for \fBDECBKM\fP +to 2 (internal). +This ties together \fBbackarrowKey\fP and the control sequence for +\fBDECBKM\fP. .bP applications can send a control sequence to set/reset \fBDECBKM\fP control set .bP @@ -1540,14 +1541,14 @@ _ _ _ _ _ c l l c c. \fIerase\fR \fBBKIE\fR \fBBK\fR \fBDECBKM\fP \fIresult\fP -^? false false 2 ^H -^? false true 2 ^? -^? true false 0 ^? -^? true true 1 ^? -^H false false 2 ^H -^H false true 2 ^? -^H true false 0 ^H -^H true true 1 ^H +\(ha? false false 2 \(haH +\(ha? false true 2 \(ha? +\(ha? true false 0 \(ha? +\(ha? true true 1 \(ha? +\(haH false false 2 \(haH +\(haH false true 2 \(ha? +\(haH true false 0 \(haH +\(haH true true 1 \(haH .TE .TP 8 .B "fullscreen\fP (class\fB Fullscreen\fP)" @@ -1911,17 +1912,18 @@ susp, swtch and weras. -Control characters may be specified as ^char (e.g., ^c or ^u) -and \fB^?\fP may be used to indicate delete (127). -Use \fB^\-\fP to denote \fIundef\fP. -Use \fB\\034\fP to represent \fB^\\\fP, since a literal backslash in +Control characters may be specified as \fB\(ha\fPchar +(e.g., \fB\(hac\fP or \fB\(hau\fP) +and \fB\(ha?\fP may be used to indicate delete (127). +Use \fB\(ha\-\fP to denote \fIundef\fP. +Use \fB\e034\fP to represent \fB\(ha\e\fP, since a literal backslash in an X resource escapes the next character. .IP This is very useful for overriding the default terminal settings without having to do an \fIstty\fP every time an \fI\*n\fP is started. Note, however, that the \fIstty\fP program on a given host may use different -keywords; \fI\*n\fR's table is built-in. +keywords; \fI\*n\fR's table is built in. .IP If the \fBttyModes\fP resource specifies a value for \fBerase\fP, that overrides the \fBptyInitialErase\fP resource setting, @@ -2443,7 +2445,7 @@ .B "charClass\fP (class\fB CharClass\fP)" Specifies comma-separated lists of character class bindings of the form .NS -\fIlow\fP[-\fIhigh]\fP[:\fIvalue\fP]. +\fIlow\fP[\-\fIhigh]\fP[:\fIvalue\fP]. .NE .IP These are used in determining which @@ -3064,9 +3066,9 @@ .IP It is possible to select suitable bitmap fonts using a script such as this: .NS -\&#!/bin/sh -\&FONT=`xfontsel -print` -\&test -n "$FONT" && xfd -fn "$FONT" +#!/bin/sh +FONT=\(gaxfontsel \-print\(ga +test \-n "$FONT" && xfd \-fn "$FONT" .NE .IP However (even though \fIxfd\fP accepts a \*(``\fB\-fa\fP\*('' option @@ -3074,7 +3076,7 @@ \fIxfontsel\fP has not been similarly extended. As a workaround, you may try .NS -fc-list :scalable=true:spacing=mono: family +fc\-list :scalable=true:spacing=mono: family .NE .IP to find a list of scalable fixed-pitch fonts @@ -3389,8 +3391,9 @@ \fBCOMPOUND_TEXT\fP or \fBTEXT\fP. -The default is \*(``true\*(''. It may be set to false in order to work around -ICCCM violations by other X clients. +The default is \*(``true\*(''. +It may be set to false in order to work around ICCCM violations by other +X clients. .TP 8 .B "iconBorderColor\fP (class\fB BorderColor\fP)" Specifies the border color for the active icon window if this feature @@ -3535,7 +3538,7 @@ If the encoding converter requires command-line parameters, you can add those after the command, e.g., .NS -*localeFilter: xterm-filter -p +*localeFilter: xterm\-filter \-p .NE .IP Alternatively, @@ -3582,7 +3585,7 @@ .IP The default is \*(``1000x1000\*('' (given as \fIwidth\fP by \fIheight\fP). .IP -If the resource is \*(``auto\*('' then \fI\*n\fR will use the +If the resource is \*(``auto\*('' then \fI\*n\fR will use the \fBdecTerminalID\fP resource: .TS l l @@ -3818,7 +3821,7 @@ The \fBkeyboardType\fP resource is the preferred mechanism for selecting this mode. .IP The old-style escape sequences resemble VT220 keys, -but appear to have been invented for \fI\*n\fP in X11R4. +but appear to have been invented for \fI\*n\fP in X11R4. .TP 8 .B "on2Clicks\fP (class\fB On2Clicks\fP)" .TP @@ -4065,7 +4068,7 @@ .TP 8 .B "privateColorRegisters\fP (class\fB PrivateColorRegisters\fP)" If \fI\*n\fR is configured to support ReGIS or SIXEL graphics, -this controls whether \fI\*n\fR +this controls whether \fI\*n\fR allocates separate color registers for each sixel device control string, e.g., for DECGCI. If not true, color registers are allocated only once, @@ -4165,8 +4168,8 @@ This is a different issue than unsupported preedit type, etc. You may encounter retries if your X configuration (and its libraries) are missing pieces. -Setting this resource to zero ``0'' will cancel the retrying. -The default is ``3''. +Setting this resource to zero \*(``0\*(`` will cancel the retrying. +The default is \*(``3\*(``. .TP 8 .B "reverseVideo\fP (class\fB ReverseVideo\fP)" Specifies whether or not reverse video should be simulated. @@ -5020,7 +5023,7 @@ Pointer button one (usually left) is used to save text into the cut buffer: .NS -~Meta <Btn1Down>:\fBselect-start\fP() +\(tiMeta <Btn1Down>:\fBselect\-start\fP() .NE .IP Move the cursor to beginning of the text, @@ -5029,16 +5032,15 @@ The selected text is highlighted and is saved in the global \fIcut buffer\fP and made the selection when the button is released: .NS -<BtnUp>:\fBselect-end\fP(\fBSELECT\fP, CUT_BUFFER0) \n\ +<BtnUp>:\fBselect\-end\fP(\fBSELECT\fP, \fBCUT_BUFFER0\fP) .NE .IP -Normally (but see the discussion of \fBon2Clicks\fP, etc): +Normally (but see the discussion of \fBon2Clicks\fP, etc.): .RS .bP Double-clicking selects by words. .bP -Triple-clicking -selects by lines. +Triple-clicking selects by lines. .bP Quadruple-clicking goes back to characters, etc. .RE @@ -5058,14 +5060,14 @@ the given selection, if any, otherwise from the cut buffer, inserting it as keyboard input: .NS -~Ctrl ~Meta <Btn2Up>:\fB\fBinsert-selection\fP\fP(\fBSELECT\fP, CUT_BUFFER0) +\(tiCtrl \(tiMeta <Btn2Up>:\fBinsert\-selection\fP(\fBSELECT\fP, \fBCUT_BUFFER0\fP) .NE . .TP 5 Pointer button three (usually right) \fIextends\fP the current selection. .NS -~Ctrl ~Meta <Btn3Down>:\fB\fBstart-extend\fP\fP() +\(tiCtrl \(tiMeta <Btn3Down>:\fBstart\-extend() .NE .IP (Without loss of generality, @@ -5162,14 +5164,16 @@ which states .RS .PP -The selection named by the atom \fBPRIMARY\fP is used for all commands that take only a single argument and is the principal means of communication between clients that use the selection mechanism. +The selection named by the atom \fBPRIMARY\fP is used for all commands +that take only a single argument and is the principal means of +communication between clients that use the selection mechanism. .RE .SS SELECT .PP However, many applications use \fBCLIPBOARD\fP in imitation of other windowing systems. The \fBselectToClipboard\fP resource (and corresponding menu entry -\fBSelect to Clipboard\fP) introduce the SELECT token (known only +\fBSelect to Clipboard\fP) introduce the \fBSELECT\fP token (known only to \fI\*n\fP) which chooses between the \fBPRIMARY\fP and \fBCLIPBOARD\fP tokens. .PP Without using this feature, one can use workarounds such as the @@ -5356,8 +5360,9 @@ in CSS 2.2. .IP The font is whatever your browser uses for preformatted (<pre>) -elements. The XHTML file references a cascading style sheet (CSS) -named \*(``\fBxterm.css\fP\*('' that you can create to select a font or +elements. +The XHTML file references a cascading style sheet (CSS) named +\*(``\fBxterm.css\fP\*('' that you can create to select a font or override properties. .RS .LP @@ -5382,8 +5387,9 @@ .RE .IP Attributes faint, reverse and blink are implemented as \fIstyle\fP attributes -setting color properties. All colors are specified as RGB percentages -in order to support displays with 10 bits per RGB. +setting color properties. +All colors are specified as RGB percentages in order to support displays +with 10 bits per RGB. .IP The name of the file will be .NS @@ -5407,7 +5413,7 @@ The \fBdump-html\fP action can also be triggered using the Media Copy control sequence CSI 1 0 i, for example from a shell script with .NS -printf '\\033[10i' +printf \*(AQ\e033[10i\*(AQ .NE .sp Only the UTF-8 encoding is supported. @@ -5446,7 +5452,7 @@ The \fBdump-svg\fP action can also be triggered using the Media Copy control sequence CSI 1 1 i, for example from a shell script with .NS -printf '\\033[11i' +printf \*(AQ\e033[11i\*(AQ .NE .sp Only the UTF-8 encoding is supported. @@ -5860,7 +5866,7 @@ this command will launch \fI\*n\fP able to switch between UTF-8 and ISO-8859-1 encoded fonts: .NS -u\*n -class __default_class__ +u\*n \-class __default_class__ .NE .RE .PP @@ -6048,70 +6054,70 @@ The default table starts as follows \- .NS static int charClass[256] = { -/\(** NUL SOH STX ETX EOT ENQ ACK BEL */ +/\(** NUL SOH STX ETX EOT ENQ ACK BEL \(**/ 32, 1, 1, 1, 1, 1, 1, 1, -/\(** BS HT NL VT NP CR SO SI */ +/\(** BS HT NL VT NP CR SO SI \(**/ 1, 32, 1, 1, 1, 1, 1, 1, -/\(** DLE DC1 DC2 DC3 DC4 NAK SYN ETB */ +/\(** DLE DC1 DC2 DC3 DC4 NAK SYN ETB \(**/ 1, 1, 1, 1, 1, 1, 1, 1, -/\(** CAN EM SUB ESC FS GS RS US */ +/\(** CAN EM SUB ESC FS GS RS US \(**/ 1, 1, 1, 1, 1, 1, 1, 1, -/\(** SP ! " # $ % & \*(AQ */ +/\(** SP ! " # $ % & \*(AQ \(**/ .\" " <- for emacs autocolor to work well :-) 32, 33, 34, 35, 36, 37, 38, 39, -/\(** ( ) * + , \- . / */ +/\(** ( ) * + , \- . / \(**/ 40, 41, 42, 43, 44, 45, 46, 47, -/\(** 0 1 2 3 4 5 6 7 */ +/\(** 0 1 2 3 4 5 6 7 \(**/ 48, 48, 48, 48, 48, 48, 48, 48, -/\(** 8 9 : ; < = > ? */ +/\(** 8 9 : ; < = > ? \(**/ 48, 48, 58, 59, 60, 61, 62, 63, -/\(** @ A B C D E F G */ +/\(** @ A B C D E F G \(**/ 64, 48, 48, 48, 48, 48, 48, 48, -/\(** H I J K L M N O */ +/\(** H I J K L M N O \(**/ 48, 48, 48, 48, 48, 48, 48, 48, -/\(** P Q R S T U V W */ +/\(** P Q R S T U V W \(**/ 48, 48, 48, 48, 48, 48, 48, 48, -/\(** X Y Z [ \\ ] ^ _ */ +/\(** X Y Z [ \e ] \(ha _ \(**/ 48, 48, 48, 91, 92, 93, 94, 48, -/\(** ` a b c d e f g */ +/\(** \(ga a b c d e f g \(**/ 96, 48, 48, 48, 48, 48, 48, 48, -/\(** h i j k l m n o */ +/\(** h i j k l m n o \(**/ 48, 48, 48, 48, 48, 48, 48, 48, -/\(** p q r s t u v w */ +/\(** p q r s t u v w \(**/ 48, 48, 48, 48, 48, 48, 48, 48, -/\(** x y z { | } ~ DEL */ +/\(** x y z { | } \(ti DEL \(**/ 48, 48, 48, 123, 124, 125, 126, 1, -/\(** x80 x81 x82 x83 IND NEL SSA ESA */ +/\(** x80 x81 x82 x83 IND NEL SSA ESA \(**/ 1, 1, 1, 1, 1, 1, 1, 1, -/\(** HTS HTJ VTS PLD PLU RI SS2 SS3 */ +/\(** HTS HTJ VTS PLD PLU RI SS2 SS3 \(**/ 1, 1, 1, 1, 1, 1, 1, 1, -/\(** DCS PU1 PU2 STS CCH MW SPA EPA */ +/\(** DCS PU1 PU2 STS CCH MW SPA EPA \(**/ 1, 1, 1, 1, 1, 1, 1, 1, -/\(** x98 x99 x9A CSI ST OSC PM APC */ +/\(** x98 x99 x9A CSI ST OSC PM APC \(**/ 1, 1, 1, 1, 1, 1, 1, 1, -/\(** \- i c/ L ox Y\- | So */ +/\(** nbsp \(r! \(ct \(Po \(Cs \(Ye \(bb \(sc \(**/ 160, 161, 162, 163, 164, 165, 166, 167, -/\(** .. c0 ip << _ R0 \- */ +/\(** \(ad \(co \(Of \(Fo \(no shy \(rg \(a- \(**/ 168, 169, 170, 171, 172, 173, 174, 175, -/\(** o +\- 2 3 \*(AQ u q| . */ +/\(** \(de \(+- \(S2 \(S3 \(aa \(mc \(ps \(pc \(**/ 176, 177, 178, 179, 180, 181, 182, 183, -/\(** , 1 2 >> 1/4 1/2 3/4 ? */ +/\(** \(ac \(S1 \(Om \(Fc \(14 \(12 \(34 \(r? \(**/ 184, 185, 186, 187, 188, 189, 190, 191, -/\(** A` A\*(AQ A^ A~ A: Ao AE C, */ +/\(** \(`A \('A \(^A \(~A \(:A \(oA \(AE \(,C \(**/ 48, 48, 48, 48, 48, 48, 48, 48, -/\(** E` E\*(AQ E^ E: I` I\*(AQ I^ I: */ +/\(** \(`E \('E \(^E \(:E \(`I \('I \(^I \(:I \(**/ 48, 48, 48, 48, 48, 48, 48, 48, -/\(** D\- N~ O` O\*(AQ O^ O~ O: X */ +/\(** \(-D \(~N \(`O \('O \(^O \(~O \(:O \(mu \(**/ 48, 48, 48, 48, 48, 48, 48, 215, -/\(** O/ U` U\*(AQ U^ U: Y\*(AQ P B */ +/\(** \(/O \(`U \('U \(^U \(:U \('Y \(TP \(ss \(**/ 48, 48, 48, 48, 48, 48, 48, 48, -/\(** a` a\*(AQ a^ a~ a: ao ae c, */ +/\(** \(`a \('a \(^a \(~a \(:a \(oa \(ae \(,c \(**/ 48, 48, 48, 48, 48, 48, 48, 48, -/\(** e` e\*(AQ e^ e: i` i\*(AQ i^ i: */ +/\(** \(`e \('e \(^e \(:e \(`i \('i \(^i \(:i \(**/ 48, 48, 48, 48, 48, 48, 48, 48, -/\(** d n~ o` o\*(AQ o^ o~ o: \-: */ +/\(** \(Sd \(~n \(`o \('o \(^o \(~o \(:o \(di \(**/ 48, 48, 48, 48, 48, 48, 48, 247, -/\(** o/ u` u\*(AQ u^ u: y\*(AQ P y: */ +/\(** \(/o \(`u \('u \(^u \(:u \('y \(Tp \(:y \(**/ 48, 48, 48, 48, 48, 48, 48, 48}; .NE .IP @@ -6208,8 +6214,8 @@ of \*(``dynamic abbreviation\*('' expansion in Emacs (bound there to M\-/). Here is a resource setting for \fI\*n\fP which will do the same thing: .NS -*VT100*translations: #override \\n\\\& - Meta <KeyPress> /:\fBdabbrev-expand\fP() +*VT100*translations: #override \en\e + Meta <KeyPress> /:\fBdabbrev\-expand\fP() .NE .TP 8 .B "deiconify()" @@ -6224,7 +6230,7 @@ (i.e., character line and column) in the following format: .sp .in +8 -^X ESC G <line+\*(`` \*(''> <col+\*(`` \*(''> +\(haX ESC G <line+\*(`` \*(''> <col+\*(`` \*(''> .in -8 .TP 8 .B "exec-formatted(\fIformat\fP, \fIsourcename\fP [, ...])" @@ -6285,8 +6291,8 @@ to view a file whose name is selected while holding the shift key down. The new process is started when the mouse button is released: .NS -*VT100*translations: #override Shift \\ - <Btn1Up>:\fBexec-formatted\fP("xterm -e view '%t'", \fBSELECT\fP) +*VT100*translations: #override Shift \e + <Btn1Up>:\fBexec\-formatted\fP("xterm \-e view \*(AQ%t\*(AQ", \fBSELECT\fP) .NE .TP 8 .B "exec-selectable(\fIformat\fP, \fIonClicks\fP)" @@ -6362,9 +6368,9 @@ Sources are checked in the order given (case is significant) until one is found. Commonly-used selections include: -\fIPRIMARY\fP, \fISECONDARY\fP, and \fICLIPBOARD\fP. +\fBPRIMARY\fP, \fBSECONDARY\fP, and \fBCLIPBOARD\fP. Cut buffers are -typically named \fICUT_BUFFER0\fP through \fICUT_BUFFER7\fP. +typically named \fBCUT_BUFFER0\fP through \fBCUT_BUFFER7\fP. .TP 8 .B "insert-seven-bit()" This action is a synonym for \fBinsert()\fP. @@ -6377,8 +6383,8 @@ 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. +Use \*(``\e\*('' to escape octal digits in the string. +Xt does not allow you to put a null character (i.e., \*(``\e000\*('') in the string. .TP 8 .B "keymap(\fIname\fP)" This action dynamically defines a new translation table whose resource @@ -6424,33 +6430,33 @@ .TP 5 noFormFeed no form feed will be sent at the end of the last line printed -(i.e., \fBprinterFormFeed\fP is ``false''). +(i.e., \fBprinterFormFeed\fP is \*(``false\*(``). .TP 5 FormFeed a form feed will be sent at the end of the last line printed -(i.e., \fBprinterFormFeed\fP is ``true''). +(i.e., \fBprinterFormFeed\fP is \*(``true\*(``). .TP 5 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., \fBprinterNewLine\fP is ``false''). +(i.e., \fBprinterNewLine\fP is \*(``false\*(``). .TP 5 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., \fBprinterNewLine\fP is ``true''). +(i.e., \fBprinterNewLine\fP is \*(``true\*(``). .TP 5 noAttrs the page is printed without attributes -(i.e., \fBprintAttributes\fP is ``0''). +(i.e., \fBprintAttributes\fP is \*(``0\*(``). .TP 5 monoAttrs the page is printed with monochrome (vt220) attributes -(i.e., \fBprintAttributes\fP is ``1''). +(i.e., \fBprintAttributes\fP is \*(``1\*(``). .TP 5 colorAttrs the page is printed with ANSI color attributes -(i.e., \fBprintAttributes\fP is ``2''). +(i.e., \fBprintAttributes\fP is \*(``2\*(``). .RE .TP 8 .B "print-everything(\fIprinter-flags\fP)" @@ -6869,16 +6875,16 @@ in the screen relative to the current line: .sp .in +8 -ESC ^P +ESC \(haP .in -8 or .in +8 -ESC ^N +ESC \(haN .in -8 .sp 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 +The \(haN (or \(haP) 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 current line. @@ -6898,70 +6904,70 @@ which is set by the \fBselectToClipboard\fP resource. These are for the \fIvt100\fP widget: .NS - Shift <KeyPress> Prior:\fBscroll-back\fP(1,halfpage) \\n\\\& - Shift <KeyPress> Next:\fBscroll-forw\fP(1,halfpage) \\n\\\& - Shift <KeyPress> Select:\fBselect-cursor-start\fP() \\\& - \fBselect-cursor-end\fP(\fBSELECT\fP, CUT_BUFFER0) \\n\\\& - Shift <KeyPress> Insert:\fBinsert-selection\fP(\fBSELECT\fP, CUT_BUFFER0) \\n\\\& - Alt <Key>Return:\fBfullscreen\fP() \\n\\\& - <KeyRelease> Scroll_Lock:\fBscroll-lock\fP() \\n\\\& - Shift~Ctrl <KeyPress> KP_Add:\fBlarger-vt-font\fP() \\n\\\& - Shift Ctrl <KeyPress> KP_Add:\fBsmaller-vt-font\fP() \\n\\\& - Shift <KeyPress> KP_Subtract:\fBsmaller-vt-font\fP() \\n\\\& - ~Meta <KeyPress>:\fBinsert-seven-bit\fP() \\n\\\& - Meta <KeyPress>:\fBinsert-eight-bit\fP() \\n\\\& - !Ctrl <Btn1Down>:\fBpopup-menu\fP(mainMenu) \\n\\\& - !Lock Ctrl <Btn1Down>:\fBpopup-menu\fP(mainMenu) \\n\\\& - !Lock Ctrl @Num_Lock <Btn1Down>:\fBpopup-menu\fP(mainMenu) \\n\\\& - ! @Num_Lock Ctrl <Btn1Down>:\fBpopup-menu\fP(mainMenu) \\n\\\& - ~Meta <Btn1Down>:\fBselect-start\fP() \\n\\\& - ~Meta <Btn1Motion>:\fBselect-extend\fP() \\n\\\& - !Ctrl <Btn2Down>:\fBpopup-menu\fP(vtMenu) \\n\\\& - !Lock Ctrl <Btn2Down>:\fBpopup-menu\fP(vtMenu) \\n\\\& - !Lock Ctrl @Num_Lock <Btn2Down>:\fBpopup-menu\fP(vtMenu) \\n\\\& - ! @Num_Lock Ctrl <Btn2Down>:\fBpopup-menu\fP(vtMenu) \\n\\\& - ~Ctrl ~Meta <Btn2Down>:\fBignore\fP() \\n\\\& - Meta <Btn2Down>:\fBclear-saved-lines\fP() \\n\\\& - ~Ctrl ~Meta <Btn2Up>:\fBinsert-selection\fP(\fBSELECT\fP, CUT_BUFFER0) \\n\\\& - !Ctrl <Btn3Down>:\fBpopup-menu\fP(fontMenu) \\n\\\& - !Lock Ctrl <Btn3Down>:\fBpopup-menu\fP(fontMenu) \\n\\\& - !Lock Ctrl @Num_Lock <Btn3Down>:\fBpopup-menu\fP(fontMenu) \\n\\\& - ! @Num_Lock Ctrl <Btn3Down>:\fBpopup-menu\fP(fontMenu) \\n\\\& - ~Ctrl ~Meta <Btn3Down>:\fBstart-extend\fP() \\n\\\& - ~Meta <Btn3Motion>:\fBselect-extend\fP() \\n\\\& - Ctrl <Btn4Down>:\fBscroll-back\fP(1,halfpage,m) \\n\\\& - Lock Ctrl <Btn4Down>:\fBscroll-back\fP(1,halfpage,m) \\n\\\& - Lock @Num_Lock Ctrl <Btn4Down>:\fBscroll-back\fP(1,halfpage,m) \\n\\\& - @Num_Lock Ctrl <Btn4Down>:\fBscroll-back\fP(1,halfpage,m) \\n\\\& - <Btn4Down>:\fBscroll-back\fP(5,line,m) \\n\\\& - Ctrl <Btn5Down>:\fBscroll-forw\fP(1,halfpage,m) \\n\\\& - Lock Ctrl <Btn5Down>:\fBscroll-forw\fP(1,halfpage,m) \\n\\\& - Lock @Num_Lock Ctrl <Btn5Down>:\fBscroll-forw\fP(1,halfpage,m) \\n\\\& - @Num_Lock Ctrl <Btn5Down>:\fBscroll-forw\fP(1,halfpage,m) \\n\\\& - <Btn5Down>:\fBscroll-forw\fP(5,line,m) \\n\\\& - <BtnUp>:\fBselect-end\fP(\fBSELECT\fP, CUT_BUFFER0) \\n\\\& - <BtnDown>:\fBignore\fP() + Shift <KeyPress> Prior:\fBscroll\-back\fP(1,halfpage) \en\e + Shift <KeyPress> Next:\fBscroll\-forw\fP(1,halfpage) \en\e + Shift <KeyPress> Select:\fBselect\-cursor\-start\fP() \e + select\-cursor\-end\fP(\fBSELECT\fP, \fBCUT_BUFFER0\fP) \en\e + Shift <KeyPress> Insert:\fBinsert\-selection\fP(\fBSELECT\fP, \fBCUT_BUFFER0\fP) \en\e + Alt <Key>Return:\fBfullscreen\fP() \en\e + <KeyRelease> Scroll_Lock:\fBscroll\-lock\fP() \en\e + Shift\\fP(tiCtrl <KeyPress> KP_Add:\fBlarger\-vt\-font() \en\e + Shift Ctrl <KeyPress> KP_Add:\fBsmaller\-vt\-font\fP() \en\e + Shift <KeyPress> KP_Subtract:\fBsmaller\-vt\-font\fP() \en\e + \\fP(tiMeta <KeyPress>:\fBinsert\-seven\-bit() \en\e + Meta <KeyPress>:\fBinsert\-eight\-bit\fP() \en\e + !Ctrl <Btn1Down>:\fBpopup\-menu\fP(mainMenu) \en\e + !Lock Ctrl <Btn1Down>:\fBpopup\-menu\fP(mainMenu) \en\e +!Lock Ctrl @Num_Lock <Btn1Down>:\fBpopup\-menu\fP(mainMenu) \en\e + ! @Num_Lock Ctrl <Btn1Down>:\fBpopup\-menu\fP(mainMenu) \en\e + \\fP(tiMeta <Btn1Down>:\fBselect\-start() \en\e + \\fP(tiMeta <Btn1Motion>:\fBselect\-extend() \en\e + !Ctrl <Btn2Down>:\fBpopup\-menu\fP(vtMenu) \en\e + !Lock Ctrl <Btn2Down>:\fBpopup\-menu\fP(vtMenu) \en\e +!Lock Ctrl @Num_Lock <Btn2Down>:\fBpopup\-menu\fP(vtMenu) \en\e + ! @Num_Lock Ctrl <Btn2Down>:\fBpopup\-menu\fP(vtMenu) \en\e + \\fP(tiCtrl \(tiMeta <Btn2Down>:\fBignore() \en\e + Meta <Btn2Down>:\fBclear\-saved\-lines\fP() \en\e + \\fP(tiCtrl \(tiMeta <Btn2Up>:\fBinsert\-selection(\fBSELECT\fP, \fBCUT_BUFFER0\fP) \en\e + !Ctrl <Btn3Down>:\fBpopup\-menu\fP(fontMenu) \en\e + !Lock Ctrl <Btn3Down>:\fBpopup\-menu\fP(fontMenu) \en\e +!Lock Ctrl @Num_Lock <Btn3Down>:\fBpopup\-menu\fP(fontMenu) \en\e + ! @Num_Lock Ctrl <Btn3Down>:\fBpopup\-menu\fP(fontMenu) \en\e + \\fP(tiCtrl \(tiMeta <Btn3Down>:\fBstart\-extend() \en\e + \\fP(tiMeta <Btn3Motion>:\fBselect\-extend() \en\e + Ctrl <Btn4Down>:\fBscroll\-back\fP(1,halfpage,m) \en\e + Lock Ctrl <Btn4Down>:\fBscroll\-back\fP(1,halfpage,m) \en\e + Lock @Num_Lock Ctrl <Btn4Down>:\fBscroll\-back\fP(1,halfpage,m) \en\e + @Num_Lock Ctrl <Btn4Down>:\fBscroll\-back\fP(1,halfpage,m) \en\e + <Btn4Down>:\fBscroll\-back\fP(5,line,m) \en\e + Ctrl <Btn5Down>:\fBscroll\-forw\fP(1,halfpage,m) \en\e + Lock Ctrl <Btn5Down>:\fBscroll\-forw\fP(1,halfpage,m) \en\e + Lock @Num_Lock Ctrl <Btn5Down>:\fBscroll\-forw\fP(1,halfpage,m) \en\e + @Num_Lock Ctrl <Btn5Down>:\fBscroll\-forw\fP(1,halfpage,m) \en\e + <Btn5Down>:\fBscroll\-forw\fP(5,line,m) \en\e + <BtnUp>:\fBselect\-end\fP(\fBSELECT\fP, \fBCUT_BUFFER0\fP) \en\e + <BtnDown>:\fBignore\fP() .NE .PP The default bindings in the Tektronix window are analogous but less extensive. These are for the \fItek4014\fP widget: .NS - ~Meta<KeyPress>: \fBinsert-seven-bit\fP() \\n\\\& - Meta<KeyPress>: \fBinsert-eight-bit\fP() \\n\\\& - !Ctrl <Btn1Down>: \fBpopup-menu\fP(mainMenu) \\n\\\& - !Lock Ctrl <Btn1Down>: \fBpopup-menu\fP(mainMenu) \\n\\\& - !Lock Ctrl @Num_Lock <Btn1Down>: \fBpopup-menu\fP(mainMenu) \\n\\\& - !Ctrl @Num_Lock <Btn1Down>: \fBpopup-menu\fP(mainMenu) \\n\\\& - !Ctrl <Btn2Down>: \fBpopup-menu\fP(tekMenu) \\n\\\& - !Lock Ctrl <Btn2Down>: \fBpopup-menu\fP(tekMenu) \\n\\\& - !Lock Ctrl @Num_Lock <Btn2Down>: \fBpopup-menu\fP(tekMenu) \\n\\\& - !Ctrl @Num_Lock <Btn2Down>: \fBpopup-menu\fP(tekMenu) \\n\\\& - Shift ~Meta<Btn1Down>: \fBgin-press\fP(L) \\n\\\& - ~Meta<Btn1Down>: \fBgin-press\fP(l) \\n\\\& - Shift ~Meta<Btn2Down>: \fBgin-press\fP(M) \\n\\\& - ~Meta<Btn2Down>: \fBgin-press\fP(m) \\n\\\& - Shift ~Meta<Btn3Down>: \fBgin-press\fP(R) \\n\\\& - ~Meta<Btn3Down>: \fBgin-press\fP(r) + \\fP(tiMeta<KeyPress>: \fBinsert\-seven\-bit() \en\e + Meta<KeyPress>: \fBinsert\-eight\-bit\fP() \en\e + !Ctrl <Btn1Down>: \fBpopup\-menu\fP(mainMenu) \en\e + !Lock Ctrl <Btn1Down>: \fBpopup\-menu\fP(mainMenu) \en\e + !Lock Ctrl @Num_Lock <Btn1Down>: \fBpopup\-menu\fP(mainMenu) \en\e + !Ctrl @Num_Lock <Btn1Down>: \fBpopup\-menu\fP(mainMenu) \en\e + !Ctrl <Btn2Down>: \fBpopup\-menu\fP(tekMenu) \en\e + !Lock Ctrl <Btn2Down>: \fBpopup\-menu\fP(tekMenu) \en\e + !Lock Ctrl @Num_Lock <Btn2Down>: \fBpopup\-menu\fP(tekMenu) \en\e + !Ctrl @Num_Lock <Btn2Down>: \fBpopup\-menu\fP(tekMenu) \en\e + Shift \\fP(tiMeta<Btn1Down>: \fBgin\-press(L) \en\e + \\fP(tiMeta<Btn1Down>: \fBgin\-press(l) \en\e + Shift \\fP(tiMeta<Btn2Down>: \fBgin\-press(M) \en\e + \\fP(tiMeta<Btn2Down>: \fBgin\-press(m) \en\e + Shift \\fP(tiMeta<Btn3Down>: \fBgin\-press(R) \en\e + \\fP(tiMeta<Btn3Down>: \fBgin\-press(r) .NE .SS Custom Key Bindings .PP @@ -6979,11 +6985,11 @@ When it loses the selection, it removes the corresponding highlight. But you can still paste from the corresponding cut buffer. .NS -*VT100*translations: #override \\n\\\& - ~Shift~Ctrl<Btn2Up>: \fBinsert-selection\fP(\fBPRIMARY\fP, CUT_BUFFER0) \\n\\\& - Shift~Ctrl<Btn2Up>: \fBinsert-selection\fP(\fBCLIPBOARD\fP, CUT_BUFFER1) \\n\\\& - ~Shift <BtnUp> : \fBselect-end\fP(\fBPRIMARY\fP, CUT_BUFFER0) \\n\\\& - Shift <BtnUp> : \fBselect-end\fP(\fBCLIPBOARD\fP, CUT_BUFFER1) +*VT100*translations: \fB #override \en\e + \(tiShift\(tiCtrl<Btn2Up>: \fBinsert\-selection\fP(\fBPRIMARY\fP, \fBCUT_BUFFER0\fP) \en\e + Shift\(tiCtrl<Btn2Up>: \fBinsert\-selection\fP(\fBCLIPBOARD\fP, \fBCUT_BUFFER1\fP) \en\e + \(tiShift <BtnUp> : \fBselect\-end\fP(\fBPRIMARY\fP, \fBCUT_BUFFER0\fP) \en\e + Shift <BtnUp> : \fBselect\-end\fP(\fBCLIPBOARD\fP, \fBCUT_BUFFER1\fP) .NE .PP In the example, the class name \fBVT100\fP is used rather than the widget name. @@ -6994,17 +7000,17 @@ .PP Not everyone finds the three-button mouse bindings easy to use. In a wheel mouse, the middle button might be the wheel. -As an alternative, you could add a binding shifted keys: +As an alternative, you could add a binding to shifted keys: .NS -*VT100*translations: #override \\n\\ - Shift <Key>Home: \fBcopy-selection\fP(\fBSELECT\fP) \\n\\ - Shift <Key>Insert: \fBcopy-selection\fP(\fBSELECT\fP) \\n\\ - Ctrl Shift <Key>C: \fBcopy-selection\fP(\fBSELECT\fP) \\n\\ - Ctrl Shift <Key>V: \fBinsert-selection\fP(\fBSELECT\fP) +*VT100*translations: \fB#override \en\e + Shift <Key>Home: \fBcopy\-selection\fP(\fBSELECT\fP) \en\e + Shift <Key>Insert: \fBcopy\-selection\fP(\fBSELECT\fP) \en\e + Ctrl Shift <Key>C: \fBcopy\-selection\fP(\fBSELECT\fP) \en\e + Ctrl Shift <Key>V: \fBinsert\-selection\fP(\fBSELECT\fP) .NE .PP You would still use the left- and right-mouse buttons (typically 1 and 3) -for beginning and extending selections. +for beginning and extending selections. .PP Besides mouse problems, there are also keyboards with inconvenient layouts. Some lack a numeric keypad, making it hard to use the shifted keypad plus @@ -7012,9 +7018,9 @@ You can work around that by assigning the actions to more readily accessed keys: .NS -*VT100*translations: #override \\n\\ - Ctrl <Key> +: \fBlarger-vt-font\fP() \\n\\ - Ctrl <Key> -: \fBsmaller-vt-font\fP() +*VT100*translations: #override \en\e + Ctrl <Key> +: \fBlarger\-vt\-font\fP() \en\e + Ctrl <Key> \-: \fBsmaller\-vt\-font\fP() .NE .PP The keymap feature allows you to switch between sets of translations. @@ -7023,16 +7029,16 @@ keys for entering commonly-typed words: .NS *VT100.Translations: #override <Key>F13: keymap(dbx) -*VT100.dbxKeymap.translations: \\\& - <Key>F14: \fBkeymap\fP(None) \\n\\\& - <Key>F17: \fBstring\fP("next") \\n\\ - \fBstring\fP(0x0d) \\n\\\& - <Key>F18: \fBstring\fP("step") \\n\\ - \fBstring\fP(0x0d) \\n\\\& - <Key>F19: \fBstring\fP("continue") \\n\\ - \fBstring\fP(0x0d) \\n\\\& - <Key>F20: \fBstring\fP("print ") \\n\\ - \fBinsert-selection\fP(\fBPRIMARY\fP, CUT_BUFFER0) +*VT100.dbxKeymap.translations: \fB\e + <Key>F14: \fBkeymap\fP(None) \en\e + <Key>F17: \fBstring\fP("next") \en\e + \fBstring\fP(0x0d) \en\e + <Key>F18: \fBstring\fP("step") \en\e + \fBstring\fP(0x0d) \en\e + <Key>F19: \fBstring\fP("continue") \en\e + \fBstring\fP(0x0d) \en\e + <Key>F20: \fBstring\fP("print ") \en\e + \fBinsert\-selection\fP(\fBPRIMARY\fP, \fBCUT_BUFFER0\fP) .NE .SS Default Scrollbar Bindings .PP @@ -7051,12 +7057,12 @@ .PP The default bindings for the scrollbar widget use only mouse-button events: .NS - <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\\\& + <Btn5Down>: StartScroll(Forward) \en\e + <Btn1Down>: StartScroll(Forward) \en\e + <Btn2Down>: StartScroll(Continuous) MoveThumb() NotifyThumb() \en\e + <Btn3Down>: StartScroll(Backward) \en\e + <Btn4Down>: StartScroll(Backward) \en\e + <Btn2Motion>: MoveThumb() NotifyThumb() \en\e <BtnUp>: NotifyScroll(Proportional) EndScroll() .NE .PP @@ -7089,11 +7095,11 @@ for dragging the scrollbar thumb. That can be set up by altering the translations resource, e.g., .NS -*VT100.scrollbar.translations: #override \\n\\\& - <Btn5Down>: StartScroll(Forward) \\n\\\& - <Btn1Down>: StartScroll(Continuous) MoveThumb() NotifyThumb() \\n\\\& - <Btn4Down>: StartScroll(Backward) \\n\\\& - <Btn1Motion>: MoveThumb() NotifyThumb() \\n\\\& +*VT100.scrollbar.translations: #override \en\e + <Btn5Down>: StartScroll(Forward) \en\e + <Btn1Down>: StartScroll(Continuous) MoveThumb() NotifyThumb() \en\e + <Btn4Down>: StartScroll(Backward) \en\e + <Btn1Motion>: MoveThumb() NotifyThumb() \en\e <BtnUp>: NotifyScroll(Proportional) EndScroll() .NE .SH "CONTROL SEQUENCES AND KEYBOARD" @@ -7150,31 +7156,31 @@ .SS Window and Icon Titles .PP Some scripts use \fBecho\fP with options \fB\-e\fP and \fB\-n\fP to tell -the shell to interpret the string \*(``\\e\*('' as the \fIescape\fP character and +the shell to interpret the string \*(``\ee\*('' as the \fIescape\fP character and to suppress a trailing newline on output. -Those are not portable, not recommended. +Those are not portable, nor recommended. Instead, use \fBprintf\fP (POSIX). .PP For example, to set the \fIwindow title\fP to \*(``Hello world!\*('', you could use one of these commands in a script: .NS -printf '\\033]2;Hello world!\\033\\' -printf '\\033]2;Hello world!\\007' -printf '\\033]2;%s\\033\\' "Hello world!" -printf '\\033]2;%s\\007' "Hello world!" +printf \*(AQ\e033]2;Hello world!\e033\e\*(AQ +printf \*(AQ\e033]2;Hello world!\e007\*(AQ +printf \*(AQ\e033]2;%s\e033\e\*(AQ "Hello world!" +printf \*(AQ\e033]2;%s\e007\*(AQ "Hello world!" .NE .PP -The \fBprintf\fP command interprets the octal value \*(``\\033\*('' for +The \fBprintf\fP command interprets the octal value \*(``\e033\*('' for \fIescape\fP, and (since it was not given in the format) omits a trailing newline from the output. .PP Some programs (such as \fBscreen\fP(1)) set both window- and icon-titles at the same time, using a slightly different control sequence: .NS -printf '\\033]0;Hello world!\\033\\' -printf '\\033]0;Hello world!\\007' -printf '\\033]0;%s\\033\\' "Hello world!" -printf '\\033]0;%s\\007' "Hello world!" +printf \*(AQ\e033]0;Hello world!\e033\e\*(AQ +printf \*(AQ\e033]0;Hello world!\e007\*(AQ +printf \*(AQ\e033]0;%s\e033\e\*(AQ "Hello world!" +printf \*(AQ\e033]0;%s\e007\*(AQ "Hello world!" .NE .PP The difference is the \fIparameter\fP \*(``0\*('' in each command. @@ -7183,10 +7189,10 @@ You can tell \fI\*n\fP to ask for this with a different parameter in the control sequence: .NS -printf '\\033]1;Hello world!\\033\\' -printf '\\033]1;Hello world!\\007' -printf '\\033]1;%s\\033\\' "Hello world!" -printf '\\033]1;%s\\007' "Hello world!" +printf \*(AQ\e033]1;Hello world!\e033\e\*(AQ +printf \*(AQ\e033]1;Hello world!\e007\*(AQ +printf \*(AQ\e033]1;%s\e033\e\*(AQ "Hello world!" +printf \*(AQ\e033]1;%s\e007\*(AQ "Hello world!" .NE . .SS Special Keys @@ -7195,13 +7201,13 @@ has two modes for the \fIspecial keys\fP (cursor-keys, numeric keypad, and certain function-keys): .bP -\fInormal mode\fP, which makes the special keys transmit +\fInormal mode\fP, which makes the special keys transmit \*(``useful\*('' sequences such as the control sequence for cursor-up when pressing the up-arrow, and .bP \fIapplication mode\fP, which uses a different control sequence that cannot be mistaken for -the +the \*(``useful\*('' sequences. .PP The main difference between the two modes is that normal mode sequences @@ -7242,9 +7248,9 @@ normal or application mode initially. Here is an example: .NS -[[ "$terminfo[kcuu1]" == "^[O"* ]] && \\ -bindkey -M viins "${terminfo[kcuu1]/O/[}" \\ -vi-up-line-or-history +[[ "$terminfo[kcuu1]" == "\(ha[O"* ]] && \e +bindkey \-M viins "${terminfo[kcuu1]/O/[}" \e +vi\-up\-line\-or\-history .NE . . @@ -7259,12 +7265,12 @@ Because there is no guidance in the POSIX standard, each shell addresses the problem in a different way: .bP -\fBbash\fP treats characters within -\*(``\\[\*('' and -\*(``\\]\*('' +\fBbash\fP treats characters within +\*(``\e[\*('' and +\*(``\e]\*('' as nonprinting (using no width on the screen). .bP -\fBzsh\fP treats characters within +\fBzsh\fP treats characters within \*(``%{\*('' and \*(``%}\*('' as nonprinting. @@ -7681,11 +7687,11 @@ \fIXterm Control Sequences\fP (this is the file ctlseqs.ms). .sp -http://invisible-island.net/xterm/xterm.html +http://invisible\-island.net/xterm/xterm.html .br -http://invisible-island.net/xterm/ctlseqs/ctlseqs.html +http://invisible\-island.net/xterm/ctlseqs/ctlseqs.html .br -http://invisible-island.net/xterm/xterm.faq.html +http://invisible\-island.net/xterm/xterm.faq.html . . .SH AUTHORS
--- 330.txt 2017-11-07 07:25:08.074489443 -0500 +++ 330-branden.txt 2017-11-07 07:40:09.145502115 -0500 @@ -992,9 +992,9 @@ Examples (the first two are equivalent since the descriptor follows the last “/”): - ‐S/dev/pts/123/45 - ‐S123/45 - ‐Sab34 + -S/dev/pts/123/45 + -S123/45 + -Sab34 Note that xterm does not close any file descriptor which it did not open for its own use. It is possible (though probably not @@ -1177,7 +1177,7 @@ · if backarrowKeyIsErase is false, xterm sets DECBKM to 2 (internal). This ties together backarrowKey and the control - sequence for DECBKM + sequence for DECBKM. · applications can send a control sequence to set/reset DECBKM control set @@ -1494,7 +1494,7 @@ This is very useful for overriding the default terminal settings without having to do an stty every time an xterm is started. Note, however, that the stty program on a given host - may use different keywords; xterm's table is built‐in. + may use different keywords; xterm's table is built in. If the ttyModes resource specifies a value for erase, that overrides the ptyInitialErase resource setting, i.e., xterm @@ -1951,7 +1951,7 @@ Specifies comma‐separated lists of character class bindings of the form - low[‐high][:value]. + low[-high][:value]. These are used in determining which sets of characters should be treated the same when doing cut and paste. See the @@ -2507,14 +2507,14 @@ such as this: #!/bin/sh - FONT=`xfontsel ‐print` - test ‐n "$FONT" && xfd ‐fn "$FONT" + FONT=`xfontsel -print` + test -n "$FONT" && xfd -fn "$FONT" However (even though xfd accepts a “-fa” option to denote FreeType fonts), xfontsel has not been similarly extended. As a workaround, you may try - fc‐list :scalable=true:spacing=mono: family + fc-list :scalable=true:spacing=mono: family to find a list of scalable fixed‐pitch fonts which may be used for the faceName resource value. @@ -2789,7 +2789,7 @@ i18nSelections (class I18nSelections) If false, xterm will not request the targets COMPOUND TEXT or - TEXT. The default is “true”. It may be set to false in order + TEXT. The default is “true”. It may be set to false in order to work around ICCCM violations by other X clients. iconBorderColor (class BorderColor) @@ -2922,7 +2922,7 @@ If the encoding converter requires command‐line parameters, you can add those after the command, e.g., - *localeFilter: xterm‐filter ‐p + *localeFilter: xterm-filter -p Alternatively, you may put those parameter within a shell script to execute the converter, and set this resource to point @@ -3445,8 +3445,8 @@ server is not responding. This is a different issue than unsupported preedit type, etc. You may encounter retries if your X configuration (and its libraries) are missing pieces. - Setting this resource to zero ``0'' will cancel the retrying. - The default is ``3''. + Setting this resource to zero “0“ will cancel the retrying. + The default is “3“. reverseVideo (class ReverseVideo) Specifies whether or not reverse video should be simulated. @@ -4214,7 +4214,7 @@ Pointer button one (usually left) is used to save text into the cut buffer: - ~Meta <Btn1Down>:select‐start() + ~Meta <Btn1Down>:select-start() Move the cursor to beginning of the text, and then hold the button down while moving the cursor to the end of the region and @@ -4222,37 +4222,35 @@ saved in the global cut buffer and made the selection when the button is released: - <BtnUp>:select‐end(SELECT, CUT BUFFER0) 0NE + <BtnUp>:select-end(SELECT, CUT BUFFER0) - Normally (but see the discussion of on2Clicks, etc): + Normally (but see the discussion of on2Clicks, etc.): · Double‐clicking selects by words. - · Triple‐clicking - selects by lines. + · Triple‐clicking selects by lines. · Quadruple‐clicking goes back to characters, etc. - Multiple‐click is determined by the time from button up to - button down, so you can change the selection unit in the middle of a selection. - Logical words and lines selected by double‐ or triple‐clicking may wrap - across more than one screen line if lines were wrapped by xterm - itself rather than by the application running in the window. - If the key/button bindings specify that an X selection is to be made, - xterm will leave the selected text highlighted for as long as it - is the selection owner. + Multiple‐click is determined by the time from button up to button + down, so you can change the selection unit in the middle of a + selection. Logical words and lines selected by double‐ or triple‐ + clicking may wrap across more than one screen line if lines were + wrapped by xterm itself rather than by the application running in + the window. If the key/button bindings specify that an X + selection is to be made, xterm will leave the selected text + highlighted for as long as it is the selection owner. Pointer button two (usually middle) - “types” (pastes) the text from - the given selection, if any, + “types” (pastes) the text from the given selection, if any, otherwise from the cut buffer, inserting it as keyboard input: - ~Ctrl ~Meta <Btn2Up>:insert‐selection(SELECT, CUT BUFFER0) + ~Ctrl ~Meta <Btn2Up>:insert-selection(SELECT, CUT BUFFER0) Pointer button three (usually right) extends the current selection. - ~Ctrl ~Meta <Btn3Down>:start‐extend() + ~Ctrl ~Meta <Btn3Down>:start-extend() (Without loss of generality, you can swap “right” and “left” everywhere in the rest of this paragraph.) If pressed while @@ -4487,7 +4485,7 @@ equivalent in CSS 2.2. The font is whatever your browser uses for preformatted - (<pre>) elements. The XHTML file references a cascading + (<pre>) elements. The XHTML file references a cascading style sheet (CSS) named “xterm.css” that you can create to select a font or override properties. @@ -4506,9 +4504,9 @@ .od to affect odd numbered lines. Attributes faint, reverse and blink are implemented as - style attributes setting color properties. All colors are - specified as RGB percentages in order to support displays - with 10 bits per RGB. + style attributes setting color properties. All colors + are specified as RGB percentages in order to support + displays with 10 bits per RGB. The name of the file will be @@ -4914,7 +4912,7 @@ xterm able to switch between UTF‐8 and ISO‐8859‐1 encoded fonts: - uxterm ‐class default class + uxterm -class default class The fourth section allows you to enable or disable special operations which can be controlled by writing escape sequences to the terminal. @@ -5069,69 +5067,69 @@ The default table starts as follows - static int charClass[256] = { - /∗ NUL SOH STX ETX EOT ENQ ACK BEL */ + /∗ NUL SOH STX ETX EOT ENQ ACK BEL ∗/ 32, 1, 1, 1, 1, 1, 1, 1, - /∗ BS HT NL VT NP CR SO SI */ + /∗ BS HT NL VT NP CR SO SI ∗/ 1, 32, 1, 1, 1, 1, 1, 1, - /∗ DLE DC1 DC2 DC3 DC4 NAK SYN ETB */ + /∗ DLE DC1 DC2 DC3 DC4 NAK SYN ETB ∗/ 1, 1, 1, 1, 1, 1, 1, 1, - /∗ CAN EM SUB ESC FS GS RS US */ + /∗ CAN EM SUB ESC FS GS RS US ∗/ 1, 1, 1, 1, 1, 1, 1, 1, - /∗ SP ! " # $ % & ' */ + /∗ 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 */ + /∗ 0 1 2 3 4 5 6 7 ∗/ 48, 48, 48, 48, 48, 48, 48, 48, - /∗ 8 9 : ; < = > ? */ + /∗ 8 9 : ; < = > ? ∗/ 48, 48, 58, 59, 60, 61, 62, 63, - /∗ @ A B C D E F G */ + /∗ @ A B C D E F G ∗/ 64, 48, 48, 48, 48, 48, 48, 48, - /∗ H I J K L M N O */ + /∗ H I J K L M N O ∗/ 48, 48, 48, 48, 48, 48, 48, 48, - /∗ P Q R S T U V W */ + /∗ P Q R S T U V W ∗/ 48, 48, 48, 48, 48, 48, 48, 48, - /∗ X Y Z [ \ ] ^ */ + /∗ X Y Z [ \ ] ^ ∗/ 48, 48, 48, 91, 92, 93, 94, 48, - /∗ ` a b c d e f g */ + /∗ ` a b c d e f g ∗/ 96, 48, 48, 48, 48, 48, 48, 48, - /∗ h i j k l m n o */ + /∗ h i j k l m n o ∗/ 48, 48, 48, 48, 48, 48, 48, 48, - /∗ p q r s t u v w */ + /∗ p q r s t u v w ∗/ 48, 48, 48, 48, 48, 48, 48, 48, - /∗ x y z { | } ~ DEL */ + /∗ x y z { | } ~ DEL ∗/ 48, 48, 48, 123, 124, 125, 126, 1, - /∗ x80 x81 x82 x83 IND NEL SSA ESA */ + /∗ x80 x81 x82 x83 IND NEL SSA ESA ∗/ 1, 1, 1, 1, 1, 1, 1, 1, - /∗ HTS HTJ VTS PLD PLU RI SS2 SS3 */ + /∗ HTS HTJ VTS PLD PLU RI SS2 SS3 ∗/ 1, 1, 1, 1, 1, 1, 1, 1, - /∗ DCS PU1 PU2 STS CCH MW SPA EPA */ + /∗ DCS PU1 PU2 STS CCH MW SPA EPA ∗/ 1, 1, 1, 1, 1, 1, 1, 1, - /∗ x98 x99 x9A CSI ST OSC PM APC */ + /∗ x98 x99 x9A CSI ST OSC PM APC ∗/ 1, 1, 1, 1, 1, 1, 1, 1, - /∗ - i c/ L ox Y- | So */ + /∗ nbsp ¡ ¢ £ ¤ ¥ ¦ § ∗/ 160, 161, 162, 163, 164, 165, 166, 167, - /∗ .. c0 ip << R0 - */ + /∗ ¨ © ª « ¬ shy ® ¯ ∗/ 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 @@ -5223,7 +5221,7 @@ a resource setting for xterm which will do the same thing: *VT100*translations: #override \n\ - Meta <KeyPress> /:dabbrev‐expand() + Meta <KeyPress> /:dabbrev-expand() deiconify() Changes the window state back to normal, if it was iconified. @@ -5285,7 +5283,7 @@ released: *VT100*translations: #override Shift \ - <Btn1Up>:exec‐formatted("xterm ‐e view '%t'", SELECT) + <Btn1Up>:exec-formatted("xterm -e view '%t'", SELECT) exec‐selectable(format, onClicks) Execute an external command, using data copied from the screen @@ -5407,34 +5405,34 @@ noFormFeed no form feed will be sent at the end of the last line - printed (i.e., printerFormFeed is ``false''). + 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''). + 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''). + 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''). + “true“). noAttrs the page is printed without attributes (i.e., - printAttributes is ``0''). + printAttributes is “0“). monoAttrs the page is printed with monochrome (vt220) attributes - (i.e., printAttributes is ``1''). + (i.e., printAttributes is “1“). colorAttrs the page is printed with ANSI color attributes (i.e., - printAttributes is ``2''). + printAttributes is “2“). print‐everything(printer‐flags) This action sends the entire text history, in addition to the @@ -5859,69 +5857,69 @@ The default bindings in the VTxxx window use the SELECT token, which is set by the selectToClipboard resource. These are for the vt100 widget: - 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() + 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\fP(tiCtrl <KeyPress> KP Add:larger-vt-font() \n\ + Shift Ctrl <KeyPress> KP Add:smaller-vt-font() \n\ + Shift <KeyPress> KP Subtract:smaller-vt-font() \n\ + \fP(tiMeta <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\ + \fP(tiMeta <Btn1Down>:select-start() \n\ + \fP(tiMeta <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\ + \fP(tiCtrl ~Meta <Btn2Down>:ignore() \n\ + Meta <Btn2Down>:clear-saved-lines() \n\ + \fP(tiCtrl ~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\ + \fP(tiCtrl ~Meta <Btn3Down>:start-extend() \n\ + \fP(tiMeta <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 in the Tektronix window are analogous but less extensive. These are for the tek4014 widget: - ~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) + \fP(tiMeta<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 \fP(tiMeta<Btn1Down>: gin-press(L) \n\ + \fP(tiMeta<Btn1Down>: gin-press(l) \n\ + Shift \fP(tiMeta<Btn2Down>: gin-press(M) \n\ + \fP(tiMeta<Btn2Down>: gin-press(m) \n\ + Shift \fP(tiMeta<Btn3Down>: gin-press(R) \n\ + \fP(tiMeta<Btn3Down>: gin-press(r) Custom Key Bindings You can modify the translations resource by overriding parts of it, or @@ -5938,10 +5936,10 @@ 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) + ~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) In the example, the class name VT100 is used rather than the widget name. These are different; a class name could apply to more than one @@ -5951,13 +5949,13 @@ Not everyone finds the three‐button mouse bindings easy to use. In a wheel mouse, the middle button might be the wheel. As an alternative, - you could add a binding shifted keys: + you could add a binding to shifted keys: *VT100*translations: #override \n\ - Shift <Key>Home: copy‐selection(SELECT) \n\ - Shift <Key>Insert: copy‐selection(SELECT) \n\ - Ctrl Shift <Key>C: copy‐selection(SELECT) \n\ - Ctrl Shift <Key>V: insert‐selection(SELECT) + Shift <Key>Home: copy-selection(SELECT) \n\ + Shift <Key>Insert: copy-selection(SELECT) \n\ + Ctrl Shift <Key>C: copy-selection(SELECT) \n\ + Ctrl Shift <Key>V: insert-selection(SELECT) You would still use the left‐ and right‐mouse buttons (typically 1 and 3) for beginning and extending selections. @@ -5969,8 +5967,8 @@ keys: *VT100*translations: #override \n\ - Ctrl <Key> +: larger‐vt‐font() \n\ - Ctrl <Key> ‐: smaller‐vt‐font() + Ctrl <Key> +: larger-vt-font() \n\ + Ctrl <Key> -: smaller-vt-font() The keymap feature allows you to switch between sets of translations. The sample below shows how the keymap() action may be used to add @@ -5986,7 +5984,7 @@ <Key>F19: string("continue") \n\ string(0x0d) \n\ <Key>F20: string("print ") \n\ - insert‐selection(PRIMARY, CUT BUFFER0) + insert-selection(PRIMARY, CUT BUFFER0) Default Scrollbar Bindings Key bindings are normally associated with the vt100 or tek4014 widgets @@ -6094,7 +6092,7 @@ Window and Icon Titles Some scripts use echo with options -e and -n to tell the shell to interpret the string “\e” as the escape character and to suppress a - trailing newline on output. Those are not portable, not recommended. + trailing newline on output. Those are not portable, nor recommended. Instead, use printf (POSIX). For example, to set the window title to “Hello world!”, you could use @@ -6173,8 +6171,8 @@ example: [[ "$terminfo[kcuu1]" == "^[O"* ]] && \ - bindkey ‐M viins "${terminfo[kcuu1]/O/[}" \ - vi‐up‐line‐or‐history + bindkey -M viins "${terminfo[kcuu1]/O/[}" \ + vi-up-line-or-history Changing Colors A few shell programs provide the ability for users to add color and @@ -6494,9 +6492,9 @@ Xterm Control Sequences (this is the file ctlseqs.ms). - http://invisible‐island.net/xterm/xterm.html - http://invisible‐island.net/xterm/ctlseqs/ctlseqs.html - http://invisible‐island.net/xterm/xterm.faq.html + http://invisible-island.net/xterm/xterm.html + http://invisible-island.net/xterm/ctlseqs/ctlseqs.html + http://invisible-island.net/xterm/xterm.faq.html AUTHORS Far too many people, including:
signature.asc
Description: PGP signature