… | |
… | |
307 | =item B<-override-redirect> |
307 | =item B<-override-redirect> |
308 | |
308 | |
309 | Compile I<frills>: Sets override-redirect on the window; resource |
309 | Compile I<frills>: Sets override-redirect on the window; resource |
310 | B<override-redirect>. |
310 | B<override-redirect>. |
311 | |
311 | |
|
|
312 | =item B<-dockapp> |
|
|
313 | |
|
|
314 | Sets the initial state of the window to WithdrawnState, which makes |
|
|
315 | window managers that support this extension treat it as a dockapp. |
|
|
316 | |
312 | =item B<-sbg> |
317 | =item B<-sbg> |
313 | |
318 | |
314 | Compile I<frills>: Disable the usage of the built-in block graphics/line |
319 | Compile I<frills>: Disable the usage of the built-in block graphics/line |
315 | drawing characters and just rely on what the specified fonts provide. Use |
320 | drawing characters and just rely on what the specified fonts provide. Use |
316 | this if you have a good font and want to use its block graphic glyphs; |
321 | this if you have a good font and want to use its block graphic glyphs; |
… | |
… | |
1041 | Sets the working directory for the shell (or the command specified via |
1046 | Sets the working directory for the shell (or the command specified via |
1042 | B<-e>). The I<path> must be an absolute path and it must exist for |
1047 | B<-e>). The I<path> must be an absolute path and it must exist for |
1043 | @@RXVT_NAME@@ to start. If it isn't specified then the current working |
1048 | @@RXVT_NAME@@ to start. If it isn't specified then the current working |
1044 | directory will be used; option B<-cd>. |
1049 | directory will be used; option B<-cd>. |
1045 | |
1050 | |
1046 | =item B<keysym.>I<sym>: I<string> |
1051 | =item B<keysym.>I<sym>: I<action> |
1047 | |
1052 | |
1048 | Compile I<frills>: Associate I<string> with keysym I<sym>. The |
1053 | Compile I<frills>: Associate I<action> with keysym I<sym>. The intervening |
1049 | intervening resource name B<keysym.> cannot be omitted. |
1054 | resource name B<keysym.> cannot be omitted. |
1050 | |
1055 | |
1051 | The format of I<sym> is "I<(modifiers-)key>", where I<modifiers> can be |
1056 | Using this resource, you can map key combinations such as |
1052 | any combination of B<ISOLevel3>, B<AppKeypad>, B<Control>, B<NumLock>, |
1057 | C<Ctrl-Shift-BackSpace> to various actions, such as outputting a different |
1053 | B<Shift>, B<Meta>, B<Lock>, B<Mod1>, B<Mod2>, B<Mod3>, B<Mod4>, B<Mod5>, |
1058 | string than would normally result from that combination, making the |
1054 | and the abbreviated B<I>, B<K>, B<C>, B<N>, B<S>, B<M>, B<A>, B<L>, B<1>, |
1059 | terminal scroll up or down the way you want it, or any other thing an |
1055 | B<2>, B<3>, B<4>, B<5>. |
1060 | extension might provide. |
|
|
1061 | |
|
|
1062 | The key combination that triggers the action, I<sym>, has the following format: |
|
|
1063 | |
|
|
1064 | (modifiers-)key |
|
|
1065 | |
|
|
1066 | Where I<modifiers> can be any combination of B<ISOLevel3>, B<AppKeypad>, |
|
|
1067 | B<Control>, B<NumLock>, B<Shift>, B<Meta>, B<Lock>, B<Mod1>, B<Mod2>, |
|
|
1068 | B<Mod3>, B<Mod4>, B<Mod5>, and the abbreviated B<I>, B<K>, B<C>, B<N>, |
|
|
1069 | B<S>, B<M>, B<A>, B<L>, B<1>, B<2>, B<3>, B<4>, B<5>. |
1056 | |
1070 | |
1057 | The B<NumLock>, B<Meta> and B<ISOLevel3> modifiers are usually aliased to |
1071 | The B<NumLock>, B<Meta> and B<ISOLevel3> modifiers are usually aliased to |
1058 | whatever modifier the NumLock key, Meta/Alt keys or ISO Level3 Shift/AltGr |
1072 | whatever modifier the NumLock key, Meta/Alt keys or ISO Level3 Shift/AltGr |
1059 | keys are being mapped. B<AppKeypad> is a synthetic modifier mapped to the |
1073 | keys are being mapped. B<AppKeypad> is a synthetic modifier mapped to the |
1060 | current application keymap mode state. |
1074 | current application keymap mode state. |
1061 | |
1075 | |
1062 | The spellings of I<key> can be obtained by using B<xev>(1) command or |
1076 | Due the the large number of modifier combinations, a key mapping will |
1063 | searching keysym macros from B</usr/X11R6/include/X11/keysymdef.h> and |
1077 | match if I<at least> the specified identifiers are being set, and no other |
|
|
1078 | key mappings with those and more bits are being defined. That means that |
|
|
1079 | defining a mapping for C<a> will automatically provide definitions for |
|
|
1080 | C<Meta-a>, C<Shift-a> and so on, unless some of those are defined mappings |
|
|
1081 | themselves. See the C<builtin:> action, below, for a way to work around |
|
|
1082 | this when this is a problem. |
|
|
1083 | |
|
|
1084 | The spelling of I<key> depends on your implementation of X. An easy way to |
|
|
1085 | find a key name is to use the B<xev>(1) command. You can find a list by |
|
|
1086 | looking for the C<XK_> macros in the B<X11/keysymdef.h> include file (omit |
1064 | omitting the prefix B<XK_>. Alternatively you can specify I<key> by its hex |
1087 | the C<XK_> prefix). Alternatively you can specify I<key> by its hex keysym |
1065 | keysym value (B<0x0000 - 0xFFFF>). Note that the lookup of I<sym>s is not |
1088 | value (B<0x0000 - 0xFFFF>). |
1066 | performed in an exact manner; however, the closest match is assured. |
|
|
1067 | |
1089 | |
1068 | I<string> may contain escape values (C<\n>: newline, C<\000>: octal |
1090 | As with any resource value, the I<action> string may contain backslash |
|
|
1091 | escape sequences (C<\n>: newline, C<\\>: backslash, C<\000>: octal |
1069 | number), see RESOURCES in C<man 7 X> for further details. |
1092 | number), see RESOURCES in C<man 7 X> for further details. |
1070 | |
1093 | |
1071 | You can define a range of keysyms in one shot by |
1094 | An action starts with an action prefix that selects a certain type |
1072 | loading the C<keysym-list> perl extension and providing a I<string> |
1095 | of action, followed by a colon. An action string without colons is |
1073 | with pattern B<list/PREFIX/MIDDLE/SUFFIX>, where the delimiter `/' |
1096 | interpreted as a literal string to pass to the tty (as if it was |
1074 | should be a character not used by the strings. |
1097 | prefixed with C<string:>). |
1075 | |
1098 | |
1076 | Its usage can be demonstrated by an example: |
1099 | The following action prefixes are known - extensions can provide |
|
|
1100 | additional prefixes: |
1077 | |
1101 | |
1078 | URxvt.keysym.M-C-0x61: list|\033<|abc|> |
1102 | =over 4 |
1079 | |
1103 | |
1080 | The above line is equivalent to the following three lines: |
1104 | =item string:STRING |
1081 | |
1105 | |
1082 | URxvt.keysym.Meta-Control-0x61: \033<a> |
1106 | If the I<action> starts with C<string:> (or otherwise contains no colons), |
1083 | URxvt.keysym.Meta-Control-0x62: \033<b> |
1107 | then the remaining C<STRING> will be passed to the program running in the |
1084 | URxvt.keysym.Meta-Control-0x63: \033<c> |
1108 | terminal. For example, you could replace whatever Shift-Tab outputs by the |
|
|
1109 | string C<echo rm -rf /> followed by a newline: |
1085 | |
1110 | |
|
|
1111 | URxvt.keysym.Shift-Tab: string:echo rm -rf /\n |
|
|
1112 | |
|
|
1113 | This could in theory be used to completely redefine your keymap. |
|
|
1114 | |
|
|
1115 | =item command:STRING |
|
|
1116 | |
1086 | If I<string> takes the form of C<command:STRING>, the specified B<STRING> |
1117 | If I<action> takes the form of C<command:STRING>, the specified B<STRING> |
1087 | is interpreted and executed as @@RXVT_NAME@@'s control sequence. For |
1118 | is interpreted and executed as @@RXVT_NAME@@'s control sequence (basically |
|
|
1119 | the opposite of C<string:> - instead of sending it to the program running |
|
|
1120 | in the terminal, it will be treated as if it were program output). This is |
|
|
1121 | most useful to feed command sequences into @@RXVT_NAME@@. |
|
|
1122 | |
1088 | example the following means "change the current locale to C<zh_CN.GBK> |
1123 | For example the following means "change the current locale to C<zh_CN.GBK> |
1089 | when Control-Meta-c is being pressed": |
1124 | when Control-Meta-c is being pressed": |
1090 | |
1125 | |
1091 | URxvt.keysym.M-C-c: command:\033]701;zh_CN.GBK\007 |
1126 | URxvt.keysym.M-C-c: command:\033]701;zh_CN.GBK\007 |
1092 | |
1127 | |
1093 | If I<string> takes the form C<perl:STRING>, then the specified B<STRING> |
1128 | The following example will map Control-Meta-1 and Control-Meta-2 to |
1094 | is passed to the C<on_user_command> perl handler. See the @@RXVT_NAME@@perl(3) |
1129 | the fonts C<suxuseuro> and C<9x15bold>, so you can have some limited |
1095 | manpage. For example, the F<selection> extension (activated via |
1130 | font-switching at runtime: |
1096 | C<@@RXVT_NAME@@ -pe selection>) listens for C<selection:rot13> events: |
|
|
1097 | |
1131 | |
1098 | URxvt.keysym.M-C-c: perl:selection:rot13 |
1132 | URxvt.keysym.M-C-1: command:\033]50;suxuseuro\007 |
|
|
1133 | URxvt.keysym.M-C-2: command:\033]50;9x15bold\007 |
1099 | |
1134 | |
1100 | Due the the large number of modifier combinations, a defined key mapping |
1135 | Other things are possible, e.g. resizing (see @@RXVT_NAME@@(7) for more |
1101 | will match if I<at least> the specified identifiers are being set, and |
1136 | info): |
1102 | no other key mappings with those and more bits are being defined. That |
|
|
1103 | means that defining a key map for C<a> will automatically provide |
|
|
1104 | definitions for C<Meta-a>, C<Shift-a> and so on, unless some of those are defined |
|
|
1105 | mappings themselves. |
|
|
1106 | |
1137 | |
1107 | Unfortunately, this will override built-in key mappings. For example |
1138 | URxvt.keysym.M-C-3: command:\033[8;25;80t |
|
|
1139 | URxvt.keysym.M-C-4: command:\033[8;48;110t |
|
|
1140 | |
|
|
1141 | =item builtin: |
|
|
1142 | |
|
|
1143 | The builtin action is the action that @@RXVT_NAME@@ would execute if no |
|
|
1144 | key binding existed for the key combination. The obvious use is to undo |
|
|
1145 | the effect of existing bindings. The not so obvious use is to reinstate |
|
|
1146 | bindings when another binding overrides too many modifiers. |
|
|
1147 | |
1108 | if you overwrite the C<Insert> key you will disable @@RXVT_NAME@@'s |
1148 | For example if you overwrite the C<Insert> key you will disable |
1109 | C<Shift-Insert> mapping. To re-enable that, you can poke "holes" into the |
1149 | @@RXVT_NAME@@'s C<Shift-Insert> mapping. To re-enable that, you can poke |
1110 | user-defined keymap using the C<builtin:> replacement: |
1150 | "holes" into the user-defined keymap using the C<builtin:> replacement: |
1111 | |
1151 | |
1112 | URxvt.keysym.Insert: <my insert key sequence> |
1152 | URxvt.keysym.Insert: <my insert key sequence> |
1113 | URxvt.keysym.S-Insert: builtin: |
1153 | URxvt.keysym.S-Insert: builtin: |
1114 | |
1154 | |
1115 | The first line defines a mapping for C<Insert> and I<any> combination |
1155 | The first line defines a mapping for C<Insert> and I<any> combination |
1116 | of modifiers. The second line re-establishes the default mapping for |
1156 | of modifiers. The second line re-establishes the default mapping for |
1117 | C<Shift-Insert>. |
1157 | C<Shift-Insert>. |
1118 | |
1158 | |
1119 | The following example will map Control-Meta-1 and Control-Meta-2 to |
1159 | =item builtin-string: |
1120 | the fonts C<suxuseuro> and C<9x15bold>, so you can have some limited |
|
|
1121 | font-switching at runtime: |
|
|
1122 | |
1160 | |
1123 | URxvt.keysym.M-C-1: command:\033]50;suxuseuro\007 |
1161 | This action is mainly useful to restore string mappings for keys that |
1124 | URxvt.keysym.M-C-2: command:\033]50;9x15bold\007 |
1162 | have predefined actions in @@RXVT_NAME@@. The exact semantics are a bit |
|
|
1163 | difficult to explain - basically, this action will send the string to the |
|
|
1164 | application that would be sent if @@RXVT_NAME@@ wouldn't have a built-in |
|
|
1165 | action for it. |
1125 | |
1166 | |
1126 | Other things are possible, e.g. resizing (see @@RXVT_NAME@@(7) for more |
1167 | An example might make it clearer: @@RXVT_NAME@@ normally pastes the |
1127 | info): |
1168 | selection when you press C<Shift-Insert>. With the following bindings, it |
|
|
1169 | would instead emit the (undocumented, but what applications running in the |
|
|
1170 | terminal might expect) sequence C<ESC [ 2 $> instead: |
1128 | |
1171 | |
1129 | URxvt.keysym.M-C-3: command:\033[8;25;80t |
1172 | URxvt.keysym.S-Insert: builtin-string: |
1130 | URxvt.keysym.M-C-4: command:\033[8;48;110t |
1173 | URxvt.keysym.C-S-Insert: builtin: |
|
|
1174 | |
|
|
1175 | The first line disables the paste functionality for that key |
|
|
1176 | combination, and the second reinstates the default behaviour for |
|
|
1177 | C<Control-Shift-Insert>, which would otherwise be overridden. |
|
|
1178 | |
|
|
1179 | Similarly, to let applications gain access to the C<C-M-c> (copy to |
|
|
1180 | clipboard) and C<C-M-v> (paste clipboard) key combination, you can do |
|
|
1181 | this: |
|
|
1182 | |
|
|
1183 | URxvt.keysym.C-S-c: builtin-string: |
|
|
1184 | URxvt.keysym.C-S-v: builtin-string: |
|
|
1185 | |
|
|
1186 | =item EXTENSION:STRING |
|
|
1187 | |
|
|
1188 | An action of this form passes the B<STRING> to the @@RXVT_NAME@@perl(3) |
|
|
1189 | extension of the same name. The extension will be loaded automatically if |
|
|
1190 | necessary. |
|
|
1191 | |
|
|
1192 | Not all extensions define key actions, but popular extensions that do |
|
|
1193 | include the I<selection> and I<matcher> extensions (documented in their |
|
|
1194 | own manpages, @@RXVT_NAME@@-selection(1) and @@RXVT_NAME@@-matcher(1), |
|
|
1195 | respectively). |
|
|
1196 | |
|
|
1197 | From the silly examples department, this will rot13-"encrypt" |
|
|
1198 | @@RXVT_NAME@@'s selection when Alt-Control-c is pressed on typical PC |
|
|
1199 | keyboards: |
|
|
1200 | |
|
|
1201 | URxvt.keysym.M-C-c: selection:rot13 |
|
|
1202 | |
|
|
1203 | =item perl:STRING *DEPRECATED* |
|
|
1204 | |
|
|
1205 | This is a deprecated way of passing key mappings to perl extensions. It is |
|
|
1206 | still supported, but should not be used anymore. |
|
|
1207 | |
|
|
1208 | =back |
1131 | |
1209 | |
1132 | =item B<perl-ext-common>: I<string> |
1210 | =item B<perl-ext-common>: I<string> |
1133 | |
1211 | |
1134 | =item B<perl-ext>: I<string> |
1212 | =item B<perl-ext>: I<string> |
1135 | |
1213 | |
… | |
… | |
1137 | use in this terminal instance; option B<-pe>. |
1215 | use in this terminal instance; option B<-pe>. |
1138 | |
1216 | |
1139 | Extension names can be prefixed with a C<-> sign to prohibit using |
1217 | Extension names can be prefixed with a C<-> sign to prohibit using |
1140 | them. This can be useful to selectively disable some extensions loaded |
1218 | them. This can be useful to selectively disable some extensions loaded |
1141 | by default, or specified via the C<perl-ext-common> resource. For |
1219 | by default, or specified via the C<perl-ext-common> resource. For |
1142 | example, C<default,-selection> will use all the default extension except |
1220 | example, C<default,-selection> will use all the default extensions except |
1143 | C<selection>. |
1221 | C<selection>. |
1144 | |
1222 | |
1145 | Extension names can also be followed by an argument in angle brackets |
1223 | The default set includes the C<selection>, C<option-popup>, |
1146 | (e.g. C<< searchable-scrollback<M-s> >>, which binds the hotkey for |
1224 | C<selection-popup> and C<readline> extensions, any extensions that define |
1147 | searchable scrollback to Alt/Meta-s). Mentioning the same extension |
1225 | keybindings via C<BINDING> meta comments, extensions loaded because |
1148 | multiple times with different arguments will pass multiple arguments to |
1226 | their resources/commandline switches were used, and extensions which are |
1149 | the extension. |
1227 | mentioned in B<keysym> resources. |
1150 | |
1228 | |
1151 | Each extension is looked up in the library directories, loaded if |
1229 | Each extension is looked up in the library directories, loaded if |
1152 | necessary, and bound to the current terminal instance. |
1230 | necessary, and bound to the current terminal instance. When the library |
|
|
1231 | search path contains multiple extension files of the same name, then the |
|
|
1232 | first one found will be used. |
1153 | |
1233 | |
1154 | If both of these resources are the empty string, then the perl |
1234 | If both of these resources are the empty string, then the perl interpreter |
1155 | interpreter will not be initialized. The idea behind two options is that |
1235 | will not be initialized. The rationale for having two options is that |
1156 | B<perl-ext-common> will be used for extensions that should be available to |
1236 | B<perl-ext-common> will be used for extensions that should be available to |
1157 | all instances, while B<perl-ext> is used for specific instances. |
1237 | all instances, while B<perl-ext> is used for specific instances. |
1158 | |
1238 | |
1159 | =item B<perl-eval>: I<string> |
1239 | =item B<perl-eval>: I<string> |
1160 | |
1240 | |
… | |
… | |
1178 | =item B<< selection-autotransform.I<idx> >>: I<perl-transform> |
1258 | =item B<< selection-autotransform.I<idx> >>: I<perl-transform> |
1179 | |
1259 | |
1180 | Selection auto-transform patterns, see the @@RXVT_NAME@@perl(3) manpage |
1260 | Selection auto-transform patterns, see the @@RXVT_NAME@@perl(3) manpage |
1181 | for details. |
1261 | for details. |
1182 | |
1262 | |
1183 | =item B<searchable-scrollback:> I<keysym> |
1263 | =item B<searchable-scrollback:> I<keysym> *DEPRECATED* |
1184 | |
1264 | |
1185 | Sets the hotkey that starts the incremental scrollback buffer search |
1265 | This resource is deprecated and will be removed. Use a B<keysym> resource |
1186 | (default: C<M-s>). |
1266 | instead, e.g.: |
|
|
1267 | |
|
|
1268 | URxvt.keysym.M-s: searchable-scrollback:start |
1187 | |
1269 | |
1188 | =item B<url-launcher>: I<string> |
1270 | =item B<url-launcher>: I<string> |
1189 | |
1271 | |
1190 | Specifies the program to be started with a URL argument. Used by the |
1272 | Specifies the program to be started with a URL argument. Used by the |
1191 | C<selection-popup> and C<matcher> perl extensions. |
1273 | C<selection-popup> and C<matcher> perl extensions. |
… | |
… | |
1375 | window causes the value of the PRIMARY selection (or CLIPBOARD with the |
1457 | window causes the value of the PRIMARY selection (or CLIPBOARD with the |
1376 | B<Meta> modifier) to be inserted as if it had been typed on the keyboard. |
1458 | B<Meta> modifier) to be inserted as if it had been typed on the keyboard. |
1377 | |
1459 | |
1378 | Pressing B<Shift-Insert> causes the value of the PRIMARY selection to be |
1460 | Pressing B<Shift-Insert> causes the value of the PRIMARY selection to be |
1379 | inserted too. |
1461 | inserted too. |
|
|
1462 | |
|
|
1463 | rxvt-unicode also provides the bindings B<Ctrl-Meta-c> and |
|
|
1464 | <Ctrl-Meta-v> to interact with the CLIPBOARD selection. The first |
|
|
1465 | binding causes the value of the internal selection to be copied to the |
|
|
1466 | CLIPBOARD selection, while the second binding causes the value of the |
|
|
1467 | CLIPBOARD selection to be inserted. |
1380 | |
1468 | |
1381 | =back |
1469 | =back |
1382 | |
1470 | |
1383 | =head1 CHANGING FONTS |
1471 | =head1 CHANGING FONTS |
1384 | |
1472 | |
… | |
… | |
1509 | The following text gives values for the standard 88 colour mode (and |
1597 | The following text gives values for the standard 88 colour mode (and |
1510 | values for the 256 colour mode in parentheses). |
1598 | values for the 256 colour mode in parentheses). |
1511 | |
1599 | |
1512 | The RGB cube uses indices 16..79 (16..231) using the following formulas: |
1600 | The RGB cube uses indices 16..79 (16..231) using the following formulas: |
1513 | |
1601 | |
1514 | index_88 = (r * 4 + g) * 4 + b + 16 # r, g, b = 0..3 |
1602 | index_88 = (r * 4 + g) * 4 + b + 16 # r, g, b = 0..3 |
1515 | index_256 = (r * 16 + g) * 16 + b + 16 # r, g, b = 0..15 |
1603 | index_256 = (r * 6 + g) * 6 + b + 16 # r, g, b = 0..5 |
1516 | |
1604 | |
1517 | The grayscale ramp uses indices 80..87 (232..239), from 10% to 90% in 10% |
1605 | The grayscale ramp uses indices 80..87 (232..239), from 10% to 90% in 10% |
1518 | steps (1/26 to 25/26 in 1/26 steps) - black and white are already part of |
1606 | steps (1/26 to 25/26 in 1/26 steps) - black and white are already part of |
1519 | the RGB cube. |
1607 | the RGB cube. |
1520 | |
1608 | |
… | |
… | |
1728 | Forked rxvt-unicode, unicode support, rewrote almost all the code, perl |
1816 | Forked rxvt-unicode, unicode support, rewrote almost all the code, perl |
1729 | extension, random hacks, numerous bugfixes and extensions. |
1817 | extension, random hacks, numerous bugfixes and extensions. |
1730 | |
1818 | |
1731 | Project Coordinator (Changes 1.0 -) |
1819 | Project Coordinator (Changes 1.0 -) |
1732 | |
1820 | |
1733 | =item Emanuele Giaquinta <e.giaquinta@glauco.it> |
1821 | =item Emanuele Giaquinta <emanuele.giaquinta@gmail.com> |
1734 | |
1822 | |
1735 | pty/utmp code rewrite, image code improvements, many random hacks and bugfixes. |
1823 | pty/utmp code rewrite, image code improvements, many random hacks and bugfixes. |
1736 | |
1824 | |
1737 | =back |
1825 | =back |
1738 | |
1826 | |