ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/doc/rxvt.1.pod
(Generate patch)

Comparing rxvt-unicode/doc/rxvt.1.pod (file contents):
Revision 1.225 by sf-exg, Wed Jun 5 07:58:17 2013 UTC vs.
Revision 1.235 by mikachu, Tue Jul 29 13:50:05 2014 UTC

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

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines