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

Comparing rxvt-unicode/doc/rxvt.7.txt (file contents):
Revision 1.37 by root, Wed Jan 11 05:29:40 2006 UTC vs.
Revision 1.46 by root, Mon Jan 16 15:12:48 2006 UTC

18 The newest version of this document is also available on the World Wide 18 The newest version of this document is also available on the World Wide
19 Web at 19 Web at
20 <http://cvs.schmorp.de/browse/*checkout*/rxvt-unicode/doc/rxvt.7.html>. 20 <http://cvs.schmorp.de/browse/*checkout*/rxvt-unicode/doc/rxvt.7.html>.
21 21
22FREQUENTLY ASKED QUESTIONS 22FREQUENTLY ASKED QUESTIONS
23 The new selection selects pieces that are too big, how can I select
24 single words?
25 Yes. For example, if you want to select alphanumeric words, you can
26 use the following resource:
27
28 URxvt.selection.pattern-0: ([[:word:]]+)
29
30 If you click more than twice, the selection will be extended more
31 and more.
32
33 To get a selection that is very similar to the old code, try this
34 pattern:
35
36 URxvt.selection.pattern-0: ([^"&'()*,;<=>?@[\\\\]^`{|})]+)
37
38 Please also note that the *LeftClick Shift-LeftClik* combination
39 also selects words like the old code.
40
41 I don't like the new selection/popups/hotkeys/perl, how do I
42 change/disable it?
43 You can disable the perl extension completely by setting the
44 perl-ext-common resource to the empty string, which also keeps
45 rxvt-unicode from initialising perl, saving memory.
46
47 If you only want to disable specific features, you first have to
48 identify which perl extension is responsible. For this, read the
49 section PREPACKAGED EXTENSIONS in the rxvtperl(3) manpage. For
50 example, to disable the selection-popup and option-popup, specify
51 this perl-ext-common resource:
52
53 URxvt.perl-ext-common: default,-selection-popup,-option-popup
54
55 This will keep the default extensions, but disable the two popup
56 extensions. Some extensions can also be configured, for example,
57 scrollback search mode is triggered by M-s. You can move it to any
58 other combination either by setting the searchable-scrollback
59 resource:
60
61 URxvt.searchable-scrollback: CM-s
62
23 Isn't rxvt supposed to be small? Don't all those features bloat? 63 Isn't rxvt supposed to be small? Don't all those features bloat?
24 I often get asked about this, and I think, no, they didn't cause 64 I often get asked about this, and I think, no, they didn't cause
25 extra bloat. If you compare a minimal rxvt and a minimal urxvt, you 65 extra bloat. If you compare a minimal rxvt and a minimal urxvt, you
26 can see that the urxvt binary is larger (due to some encoding tables 66 can see that the urxvt binary is larger (due to some encoding tables
27 always being compiled in), but it actually uses less memory (RSS) 67 always being compiled in), but it actually uses less memory (RSS)
148 188
149 I need to make it setuid/setgid to support utmp/ptys on my OS, is this 189 I need to make it setuid/setgid to support utmp/ptys on my OS, is this
150 safe? 190 safe?
151 Likely not. While I honestly try to make it secure, and am probably 191 Likely not. While I honestly try to make it secure, and am probably
152 not bad at it, I think it is simply unreasonable to expect all of 192 not bad at it, I think it is simply unreasonable to expect all of
153 freetype + fontconfig + xft + xlib + ... + rxvt-unicode itself to 193 freetype + fontconfig + xft + xlib + perl + ... + rxvt-unicode
154 all be secure. Also, rxvt-unicode disables some options when it 194 itself to all be secure. Also, rxvt-unicode disables some options
155 detects that it runs setuid or setgid, which is not nice. 195 when it detects that it runs setuid or setgid, which is not nice.
196 Besides, with the embedded perl interpreter the possibility for
197 security problems easily multiplies.
156 198
157 Elevated privileges are only required for utmp and pty operations on 199 Elevated privileges are only required for utmp and pty operations on
158 some systems (for example, GNU/Linux doesn't need any extra 200 some systems (for example, GNU/Linux doesn't need any extra
159 privileges for ptys, but some need it for utmp support). If 201 privileges for ptys, but some need it for utmp support). It is
160 rxvt-unicode doesn't support the library/setuid helper that your OS 202 planned to mvoe this into a forked handler process, but this is not
161 needs I'll be happy to assist you in implementing support for it. 203 yet done.
162 204
163 So, while setuid/setgid operation is supported and not a problem on 205 So, while setuid/setgid operation is supported and not a problem on
164 your typical single-user-no-other-logins unix desktop, always 206 your typical single-user-no-other-logins unix desktop, always
165 remember that its an awful lot of code, most of which isn't checked 207 remember that its an awful lot of code, most of which isn't checked
166 for security issues regularly. 208 for security issues regularly.
559 601
560 My input method wants <some encoding> but I want UTF-8, what can I do? 602 My input method wants <some encoding> but I want UTF-8, what can I do?
561 You can specify separate locales for the input method and the rest 603 You can specify separate locales for the input method and the rest
562 of the terminal, using the resource "imlocale": 604 of the terminal, using the resource "imlocale":
563 605
564 URxvt*imlocale: ja_JP.EUC-JP 606 URxvt.imlocale: ja_JP.EUC-JP
565 607
566 Now you can start your terminal with "LC_CTYPE=ja_JP.UTF-8" and 608 Now you can start your terminal with "LC_CTYPE=ja_JP.UTF-8" and
567 still use your input method. Please note, however, that you will not 609 still use your input method. Please note, however, that you will not
568 be able to input characters outside "EUC-JP" in a normal way then, 610 be able to input characters outside "EUC-JP" in a normal way then,
569 as your input method limits you. 611 as your input method limits you.
612 Mouse cut/paste suddenly no longer works. 654 Mouse cut/paste suddenly no longer works.
613 Make sure that mouse reporting is actually turned off since killing 655 Make sure that mouse reporting is actually turned off since killing
614 some editors prematurely may leave the mouse in mouse report mode. 656 some editors prematurely may leave the mouse in mouse report mode.
615 I've heard that tcsh may use mouse reporting unless it otherwise 657 I've heard that tcsh may use mouse reporting unless it otherwise
616 specified. A quick check is to see if cut/paste works when the Alt 658 specified. A quick check is to see if cut/paste works when the Alt
617 or Shift keys are depressed. See rxvt(7) 659 or Shift keys are depressed.
618 660
619 What's with this bold/blink stuff? 661 What's with this bold/blink stuff?
620 If no bold colour is set via "colorBD:", bold will invert text using 662 If no bold colour is set via "colorBD:", bold will invert text using
621 the standard foreground colour. 663 the standard foreground colour.
622 664
708 750
709 # use Backspace = ^? 751 # use Backspace = ^?
710 $ stty erase ^? 752 $ stty erase ^?
711 $ rxvt 753 $ rxvt
712 754
713 Toggle with "ESC [ 36 h" / "ESC [ 36 l" as documented in rxvt(7). 755 Toggle with "ESC [ 36 h" / "ESC [ 36 l".
714 756
715 For an existing rxvt-unicode: 757 For an existing rxvt-unicode:
716 758
717 # use Backspace = ^H 759 # use Backspace = ^H
718 $ stty erase ^H 760 $ stty erase ^H
830 872
831RXVT TECHNICAL REFERENCE 873RXVT TECHNICAL REFERENCE
832DESCRIPTION 874DESCRIPTION
833 The rest of this document describes various technical aspects of 875 The rest of this document describes various technical aspects of
834 rxvt-unicode. First the description of supported command sequences, 876 rxvt-unicode. First the description of supported command sequences,
835 followed by menu and pixmap support and last by a description of all 877 followed by pixmap support and last by a description of all features
836 features selectable at "configure" time. 878 selectable at "configure" time.
837 879
838Definitions 880Definitions
839 "c" The literal character c. 881 "c" The literal character c.
840 882
841 "C" A single (required) character. 883 "C" A single (required) character.
1210 1252
1211 "Ps = 9" X10 XTerm 1253 "Ps = 9" X10 XTerm
1212 h Send Mouse X & Y on button press. 1254 h Send Mouse X & Y on button press.
1213 l No mouse reporting. 1255 l No mouse reporting.
1214 1256
1215 "Ps = 10" (rxvt)
1216 h menuBar visible
1217 l menuBar invisible
1218
1219 "Ps = 25" 1257 "Ps = 25"
1220 h Visible cursor {cnorm/cvvis} 1258 h Visible cursor {cnorm/cvvis}
1221 l Invisible cursor {civis} 1259 l Invisible cursor {civis}
1222 1260
1223 "Ps = 30" 1261 "Ps = 30"
1316 Ps = 46 Change Log File to Pt unimplemented 1354 Ps = 46 Change Log File to Pt unimplemented
1317 Ps = 49 Change default background colour to Pt. 1355 Ps = 49 Change default background colour to Pt.
1318 Ps = 50 Set fontset to Pt, with the following special values of Pt (rxvt) #+n change up n #-n change down n if n is missing of 0, a value of 1 is used empty change to font0 n change to font n 1356 Ps = 50 Set fontset to Pt, with the following special values of Pt (rxvt) #+n change up n #-n change down n if n is missing of 0, a value of 1 is used empty change to font0 n change to font n
1319 Ps = 55 Log all scrollback buffer and all of screen to Pt 1357 Ps = 55 Log all scrollback buffer and all of screen to Pt
1320 Ps = 701 Change current locale to Pt, or, if Pt is ?, return the current locale (Compile frills). 1358 Ps = 701 Change current locale to Pt, or, if Pt is ?, return the current locale (Compile frills).
1321 Ps = 703 Menubar command Pt (Compile menubar).
1322 Ps = 704 Change colour of italic characters to Pt 1359 Ps = 704 Change colour of italic characters to Pt
1323 Ps = 705 Change background pixmap tint colour to Pt (Compile transparency). 1360 Ps = 705 Change background pixmap tint colour to Pt (Compile transparency).
1324 Ps = 706 Change colour of bold characters to Pt 1361 Ps = 706 Change colour of bold characters to Pt
1325 Ps = 707 Change colour of underlined characters to Pt 1362 Ps = 707 Change colour of underlined characters to Pt
1326 Ps = 710 Set normal fontset to Pt. Same as Ps = 50. 1363 Ps = 710 Set normal fontset to Pt. Same as Ps = 50.
1330 Ps = 720 Move viewing window up by Pt lines, or clear scrollback buffer if Pt = 0 (Compile frills). 1367 Ps = 720 Move viewing window up by Pt lines, or clear scrollback buffer if Pt = 0 (Compile frills).
1331 Ps = 721 Move viewing window down by Pt lines, or clear scrollback buffer if Pt = 0 (Compile frills). 1368 Ps = 721 Move viewing window down by Pt lines, or clear scrollback buffer if Pt = 0 (Compile frills).
1332 Ps = 777 Call the perl extension with the given string, which should be of the form extension:parameters (Compile perl). 1369 Ps = 777 Call the perl extension with the given string, which should be of the form extension:parameters (Compile perl).
1333 1370
1334 1371
1335
1336menuBar
1337 The exact syntax used is *almost* solidified. In the menus, DON'T try to
1338 use menuBar commands that add or remove a menuBar.
1339
1340 Note that in all of the commands, the */path/* *cannot* be omitted: use
1341 ./ to specify a menu relative to the current menu.
1342
1343 Overview of menuBar operation
1344 For the menuBar XTerm escape sequence "ESC ] 703 ; Pt ST", the syntax of
1345 "Pt" can be used for a variety of tasks:
1346
1347 At the top level is the current menuBar which is a member of a circular
1348 linked-list of other such menuBars.
1349
1350 The menuBar acts as a parent for the various drop-down menus, which in
1351 turn, may have labels, separator lines, menuItems and subMenus.
1352
1353 The menuItems are the useful bits: you can use them to mimic keyboard
1354 input or even to send text or escape sequences back to rxvt.
1355
1356 The menuBar syntax is intended to provide a simple yet robust method of
1357 constructing and manipulating menus and navigating through the menuBars.
1358
1359 The first step is to use the tag [menu:*name*] which creates the menuBar
1360 called *name* and allows access. You may now or menus, subMenus, and
1361 menuItems. Finally, use the tag [done] to set the menuBar access as
1362 readonly to prevent accidental corruption of the menus. To re-access the
1363 current menuBar for alterations, use the tag [menu], make the
1364 alterations and then use [done]
1365
1366
1367
1368 Commands
1369 [menu:+*name*]
1370 access the named menuBar for creation or alteration. If a new
1371 menuBar is created, it is called *name* (max of 15 chars) and the
1372 current menuBar is pushed onto the stack
1373
1374 [menu]
1375 access the current menuBar for alteration
1376
1377 [title:+*string*]
1378 set the current menuBar's title to *string*, which may contain the
1379 following format specifiers:
1380
1381 B<%n> rxvt name (as per the B<-name> command-line option)
1382 B<%v> rxvt version
1383 B<%%> literal B<%> character
1384
1385 [done]
1386 set menuBar access as readonly. End-of-file tag for [read:+*file*]
1387 operations.
1388
1389 [read:+*file*]
1390 read menu commands directly from *file* (extension ".menu" will be
1391 appended if required.) Start reading at a line with [menu] or
1392 [menu:+*name* and continuing until [done] is encountered.
1393
1394 Blank and comment lines (starting with #) are ignored. Actually,
1395 since any invalid menu commands are also ignored, almost anything
1396 could be construed as a comment line, but this may be tightened up
1397 in the future ... so don't count on it!.
1398
1399 [read:+*file*;+*name*]
1400 The same as [read:+*file*], but start reading at a line with
1401 [menu:+*name*] and continuing until [done:+*name*] or [done] is
1402 encountered.
1403
1404 [dump]
1405 dump all menuBars to the file /tmp/rxvt-PID in a format suitable for
1406 later rereading.
1407
1408 [rm:name]
1409 remove the named menuBar
1410
1411 [rm] [rm:]
1412 remove the current menuBar
1413
1414 [rm*] [rm:*]
1415 remove all menuBars
1416
1417 [swap]
1418 swap the top two menuBars
1419
1420 [prev]
1421 access the previous menuBar
1422
1423 [next]
1424 access the next menuBar
1425
1426 [show]
1427 Enable display of the menuBar
1428
1429 [hide]
1430 Disable display of the menuBar
1431
1432 [pixmap:+*name*]
1433 [pixmap:+*name*;*scaling*]
1434 (set the background pixmap globally
1435
1436 A Future implementation *may* make this local to the menubar)
1437
1438 [:+*command*:]
1439 ignore the menu readonly status and issue a *command* to or a menu
1440 or menuitem or change the ; a useful shortcut for setting the quick
1441 arrows from a menuBar.
1442
1443
1444
1445 Adding and accessing menus
1446 The following commands may also be + prefixed.
1447
1448 /+ access menuBar top level
1449
1450 ./+ access current menu level
1451
1452 ../+
1453 access parent menu (1 level up)
1454
1455 ../../
1456 access parent menu (multiple levels up)
1457
1458 */path/*menu
1459 add/access menu
1460
1461 */path/*menu/*
1462 add/access menu and clear it if it exists
1463
1464 */path/*{-}
1465 add separator
1466
1467 */path/*{item}
1468 add item as a label
1469
1470 */path/*{item} action
1471 add/alter *menuitem* with an associated *action*
1472
1473 */path/*{item}{right-text}
1474 add/alter *menuitem* with right-text as the right-justified text and
1475 as the associated *action*
1476
1477 */path/*{item}{rtext} action
1478 add/alter *menuitem* with an associated *action* and with rtext as
1479 the right-justified text.
1480
1481 Special characters in *action* must be backslash-escaped:
1482 \a \b \E \e \n \r \t \octal
1483
1484 or in control-character notation:
1485 ^@, ^A .. ^Z .. ^_, ^?
1486
1487 To send a string starting with a NUL (^@) character to the program,
1488 start *action* with a pair of NUL characters (^@^@), the first of which
1489 will be stripped off and the balance directed to the program. Otherwise
1490 if *action* begins with NUL followed by non-+NUL characters, the leading
1491 NUL is stripped off and the balance is sent back to rxvt.
1492
1493 As a convenience for the many Emacs-type editors, *action* may start
1494 with M- (eg, M-$ is equivalent to \E$) and a CR will be appended if
1495 missed from M-x commands.
1496
1497 As a convenience for issuing XTerm ESC ] sequences from a menubar (or
1498 quick arrow), a BEL (^G) will be appended if needed.
1499
1500 For example,
1501 M-xapropos is equivalent to \Exapropos\r
1502
1503 and \E]703;mona;100 is equivalent to \E]703;mona;100\a
1504
1505 The option {*right-rtext*} will be right-justified. In the absence of a
1506 specified action, this text will be used as the *action* as well.
1507
1508 For example,
1509 /File/{Open}{^X^F} is equivalent to /File/{Open}{^X^F} ^X^F
1510
1511 The left label *is* necessary, since it's used for matching, but
1512 implicitly hiding the left label (by using same name for both left and
1513 right labels), or explicitly hiding the left label (by preceeding it
1514 with a dot), makes it possible to have right-justified text only.
1515
1516 For example,
1517 /File/{Open}{Open} Open-File-Action
1518
1519 or hiding it
1520 /File/{.anylabel}{Open} Open-File-Action
1521
1522
1523
1524 Removing menus
1525 -/*+
1526 remove all menus from the menuBar, the same as [clear]
1527
1528 -+*/path*menu+
1529 remove menu
1530
1531 -+*/path*{item}+
1532 remove item
1533
1534 -+*/path*{-}
1535 remove separator)
1536
1537 -/path/menu/*
1538 remove all items, separators and submenus from menu
1539
1540
1541
1542 Quick Arrows
1543 The menus also provide a hook for *quick arrows* to provide easier user
1544 access. If nothing has been explicitly set, the default is to emulate
1545 the curror keys. The syntax permits each arrow to be altered
1546 individually or all four at once without re-entering their common
1547 beginning/end text. For example, to explicitly associate cursor actions
1548 with the arrows, any of the following forms could be used:
1549
1550 <r>+*Right*
1551 <l>+*Left*
1552 <u>+*Up*
1553 <d>+*Down*
1554 Define actions for the respective arrow buttons
1555
1556 <b>+*Begin*
1557 <e>+*End*
1558 Define common beginning/end parts for *quick arrows* which used in
1559 conjunction with the above <r> <l> <u> <d> constructs
1560
1561 For example, define arrows individually,
1562 <u>\E[A
1563
1564 <d>\E[B
1565
1566 <r>\E[C
1567
1568 <l>\E[D
1569
1570 or all at once
1571 <u>\E[AZ<><d>\E[BZ<><r>\E[CZ<><l>\E[D
1572
1573 or more compactly (factoring out common parts)
1574 <b>\E[<u>AZ<><d>BZ<><r>CZ<><l>D
1575
1576
1577
1578 Command Summary
1579 A short summary of the most *common* commands:
1580
1581 [menu:name]
1582 use an existing named menuBar or start a new one
1583
1584 [menu]
1585 use the current menuBar
1586
1587 [title:string]
1588 set menuBar title
1589
1590 [done]
1591 set menu access to readonly and, if reading from a file, signal EOF
1592
1593 [done:name]
1594 if reading from a file using [read:file;name] signal EOF
1595
1596 [rm:name]
1597 remove named menuBar(s)
1598
1599 [rm] [rm:]
1600 remove current menuBar
1601
1602 [rm*] [rm:*]
1603 remove all menuBar(s)
1604
1605 [swap]
1606 swap top two menuBars
1607
1608 [prev]
1609 access the previous menuBar
1610
1611 [next]
1612 access the next menuBar
1613
1614 [show]
1615 map menuBar
1616
1617 [hide]
1618 unmap menuBar
1619
1620 [pixmap;file]
1621 [pixmap;file;scaling]
1622 set a background pixmap
1623
1624 [read:file]
1625 [read:file;name]
1626 read in a menu from a file
1627
1628 [dump]
1629 dump out all menuBars to /tmp/rxvt-PID
1630
1631 / access menuBar top level
1632
1633 ./
1634 ../
1635 ../../
1636 access current or parent menu level
1637
1638 /path/menu
1639 add/access menu
1640
1641 /path/{-}
1642 add separator
1643
1644 /path/{item}{rtext} action
1645 add/alter menu item
1646
1647 -/* remove all menus from the menuBar
1648
1649 -/path/menu
1650 remove menu items, separators and submenus from menu
1651
1652 -/path/menu
1653 remove menu
1654
1655 -/path/{item}
1656 remove item
1657
1658 -/path/{-}
1659 remove separator
1660
1661 <b>Begin<r>Right<l>Left<u>Up<d>Down<e>End
1662 menu quick arrows
1663 1372
1664XPM 1373XPM
1665 For the XPM XTerm escape sequence "ESC ] 20 ; Pt ST" then value of "Pt" 1374 For the XPM XTerm escape sequence "ESC ] 20 ; Pt ST" then value of "Pt"
1666 can be the name of the background pixmap followed by a sequence of 1375 can be the name of the background pixmap followed by a sequence of
1667 scaling/positioning commands separated by semi-colons. The 1376 scaling/positioning commands separated by semi-colons. The
1923 1632
1924 --enable-tinting (default: on) 1633 --enable-tinting (default: on)
1925 Add support for tinting of transparent backgrounds (requires 1634 Add support for tinting of transparent backgrounds (requires
1926 "--enable-transparency"). 1635 "--enable-transparency").
1927 1636
1928 --enable-menubar (default: off) [DEPRECATED]
1929 Add support for our menu bar system (this interacts badly with
1930 dynamic locale switching currently). This option is DEPRECATED and
1931 will be removed in the future.
1932
1933 --enable-rxvt-scroll (default: on) 1637 --enable-rxvt-scroll (default: on)
1934 Add support for the original rxvt scrollbar. 1638 Add support for the original rxvt scrollbar.
1935 1639
1936 --enable-next-scroll (default: on) 1640 --enable-next-scroll (default: on)
1937 Add support for a NeXT-like scrollbar. 1641 Add support for a NeXT-like scrollbar.
1960 Removes any handling of the delete key by us - let the X server do 1664 Removes any handling of the delete key by us - let the X server do
1961 it. 1665 it.
1962 1666
1963 --disable-resources 1667 --disable-resources
1964 Removes any support for resource checking. 1668 Removes any support for resource checking.
1965
1966 --enable-xgetdefault
1967 Make resources checking via XGetDefault() instead of our small
1968 version which only checks ~/.Xdefaults, or if that doesn't exist
1969 then ~/.Xresources.
1970
1971 Please note that nowadays, things like XIM will automatically pull
1972 in and use the full X resource manager, so the overhead of using it
1973 might be very small, if nonexistant.
1974
1975 --enable-strings (default: off)
1976 Add support for our possibly faster memset() function and other
1977 various routines, overriding your system's versions which may have
1978 been hand-crafted in assembly or may require extra libraries to link
1979 in. (this breaks ANSI-C rules and has problems on many GNU/Linux
1980 systems).
1981 1669
1982 --disable-swapscreen 1670 --disable-swapscreen
1983 Remove support for secondary/swap screen. 1671 Remove support for secondary/swap screen.
1984 1672
1985 --enable-frills (default: on) 1673 --enable-frills (default: on)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines