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

Comparing rxvt-unicode/doc/rxvt.7.pod (file contents):
Revision 1.105 by root, Tue Jan 31 21:00:26 2006 UTC vs.
Revision 1.114 by root, Tue Feb 21 00:59:59 2006 UTC

72 72
73=head3 How can I start @@URXVT_NAME@@d in a race-free way? 73=head3 How can I start @@URXVT_NAME@@d in a race-free way?
74 74
75Try C<@@URXVT_NAME@@d -f -o>, which tells @@URXVT_NAME@@d to open the 75Try C<@@URXVT_NAME@@d -f -o>, which tells @@URXVT_NAME@@d to open the
76display, create the listening socket and then fork. 76display, create the listening socket and then fork.
77
78=head3 How can I start @@URXVT_NAME@@d automatically when I run URXVT_NAME@@c?
79
80If you want to start @@URXVT_NAME@@d automatically whenever you run
81@@URXVT_NAME@@c and the daemon isn't running yet, use this script:
82
83 #!/bin/sh
84 @@URXVT_NAME@@c "$@"
85 if [ $? -eq 2 ]; then
86 @@URXVT_NAME@@d -q -o -f
87 @@URXVT_NAME@@c "$@"
88 fi
89
90This tries to create a new terminal, and if fails with exit status 2,
91meaning it couldn't connect to the daemon, it will start the daemon and
92re-run the command. Subsequent invocations of the script will re-use the
93existing daemon.
77 94
78=head3 How do I distinguish wether I'm running rxvt-unicode or a regular xterm? I need this to decide about setting colors etc. 95=head3 How do I distinguish wether I'm running rxvt-unicode or a regular xterm? I need this to decide about setting colors etc.
79 96
80The original rxvt and rxvt-unicode always export the variable "COLORTERM", 97The original rxvt and rxvt-unicode always export the variable "COLORTERM",
81so you can check and see if that is set. Note that several programs, JED, 98so you can check and see if that is set. Note that several programs, JED,
125 142
126 text data bss drs rss filename 143 text data bss drs rss filename
127 98398 1664 24 15695 1824 rxvt --disable-everything 144 98398 1664 24 15695 1824 rxvt --disable-everything
128 188985 9048 66616 18222 1788 urxvt --disable-everything 145 188985 9048 66616 18222 1788 urxvt --disable-everything
129 146
130When you C<--enable-everything> (which _is_ unfair, as this involves xft 147When you C<--enable-everything> (which I<is> unfair, as this involves xft
131and full locale/XIM support which are quite bloaty inside libX11 and my 148and full locale/XIM support which are quite bloaty inside libX11 and my
132libc), the two diverge, but not unreasnobaly so. 149libc), the two diverge, but not unreasnobaly so.
133 150
134 text data bss drs rss filename 151 text data bss drs rss filename
135 163431 2152 24 20123 2060 rxvt --enable-everything 152 163431 2152 24 20123 2060 rxvt --enable-everything
237 254
238Then click on a window you want to make transparent. Replace C<0xc0000000> 255Then click on a window you want to make transparent. Replace C<0xc0000000>
239by other values to change the degree of opacity. If it doesn't work and 256by other values to change the degree of opacity. If it doesn't work and
240your server crashes, you got to keep the pieces. 257your server crashes, you got to keep the pieces.
241 258
242=head3 Why do some chinese characters look so different than others?
243
244This is because there is a difference between script and language --
245rxvt-unicode does not know which language the text that is output is,
246as it only knows the unicode character codes. If rxvt-unicode first
247sees a japanese/chinese character, it might choose a japanese font for
248display. Subsequent japanese characters will use that font. Now, many
249chinese characters aren't represented in japanese fonts, so when the first
250non-japanese character comes up, rxvt-unicode will look for a chinese font
251-- unfortunately at this point, it will still use the japanese font for
252chinese characters that are also in the japanese font.
253
254The workaround is easy: just tag a chinese font at the end of your font
255list (see the previous question). The key is to view the font list as
256a preference list: If you expect more japanese, list a japanese font
257first. If you expect more chinese, put a chinese font first.
258
259In the future it might be possible to switch language preferences at
260runtime (the internal data structure has no problem with using different
261fonts for the same character at the same time, but no interface for this
262has been designed yet).
263
264Until then, you might get away with switching fonts at runtime (see L<Can
265I switch the fonts at runtime?> later in this document).
266
267=head3 Why does rxvt-unicode sometimes leave pixel droppings? 259=head3 Why does rxvt-unicode sometimes leave pixel droppings?
268 260
269Most fonts were not designed for terminal use, which means that character 261Most fonts were not designed for terminal use, which means that character
270size varies a lot. A font that is otherwise fine for terminal use might 262size varies a lot. A font that is otherwise fine for terminal use might
271contain some characters that are simply too wide. Rxvt-unicode will avoid 263contain some characters that are simply too wide. Rxvt-unicode will avoid
388 URxvt.color12: #0000FF 380 URxvt.color12: #0000FF
389 URxvt.color13: #FF00FF 381 URxvt.color13: #FF00FF
390 URxvt.color14: #00FFFF 382 URxvt.color14: #00FFFF
391 URxvt.color15: #FFFFFF 383 URxvt.color15: #FFFFFF
392 384
393And here is a more complete set of non-standard colors described (not by 385And here is a more complete set of non-standard colors.
394me) as "pretty girly".
395 386
396 URxvt.cursorColor: #dc74d1 387 URxvt.cursorColor: #dc74d1
397 URxvt.pointerColor: #dc74d1 388 URxvt.pointerColor: #dc74d1
398 URxvt.background: #0e0e0e 389 URxvt.background: #0e0e0e
399 URxvt.foreground: #4ad5e1 390 URxvt.foreground: #4ad5e1
410 URxvt.color6: #73f7ff 401 URxvt.color6: #73f7ff
411 URxvt.color14: #73f7ff 402 URxvt.color14: #73f7ff
412 URxvt.color7: #e1dddd 403 URxvt.color7: #e1dddd
413 URxvt.color15: #e1dddd 404 URxvt.color15: #e1dddd
414 405
406They have been described (not by me) as "pretty girly".
407
415=head3 Why do some characters look so much different than others? 408=head3 Why do some characters look so much different than others?
416 409
417See next entry. 410See next entry.
418 411
419=head3 How does rxvt-unicode choose fonts? 412=head3 How does rxvt-unicode choose fonts?
420 413
421Most fonts do not contain the full range of Unicode, which is 414Most fonts do not contain the full range of Unicode, which is
422fine. Chances are that the font you (or the admin/package maintainer of 415fine. Chances are that the font you (or the admin/package maintainer of
423your system/os) have specified does not cover all the characters you want 416your system/os) have specified does not cover all the characters you want
424to display. 417to display.
425 418
426B<rxvt-unicode> makes a best-effort try at finding a replacement 419B<rxvt-unicode> makes a best-effort try at finding a replacement
427font. Often the result is fine, but sometimes the chosen font looks 420font. Often the result is fine, but sometimes the chosen font looks
428bad/ugly/wrong. Some fonts have totally strange characters that don't 421bad/ugly/wrong. Some fonts have totally strange characters that don't
429resemble the correct glyph at all, and rxvt-unicode lacks the artificial 422resemble the correct glyph at all, and rxvt-unicode lacks the artificial
430intelligence to detect that a specific glyph is wrong: it has to believe 423intelligence to detect that a specific glyph is wrong: it has to believe
431the font that the characters it claims to contain indeed look correct. 424the font that the characters it claims to contain indeed look correct.
432 425
433In that case, select a font of your taste and add it to the font list, 426In that case, select a font of your taste and add it to the font list,
434e.g.: 427e.g.:
435 428
436 @@URXVT_NAME@@ -fn basefont,font2,font3... 429 @@URXVT_NAME@@ -fn basefont,font2,font3...
437 430
438When rxvt-unicode sees a character, it will first look at the base 431When rxvt-unicode sees a character, it will first look at the base
439font. If the base font does not contain the character, it will go to the 432font. If the base font does not contain the character, it will go to the
440next font, and so on. Specifying your own fonts will also speed up this 433next font, and so on. Specifying your own fonts will also speed up this
441search and use less resources within rxvt-unicode and the X-server. 434search and use less resources within rxvt-unicode and the X-server.
442 435
443The only limitation is that none of the fonts may be larger than the base 436The only limitation is that none of the fonts may be larger than the base
444font, as the base font defines the terminal character cell size, which 437font, as the base font defines the terminal character cell size, which
445must be the same due to the way terminals work. 438must be the same due to the way terminals work.
446 439
440=head3 Why do some chinese characters look so different than others?
441
442This is because there is a difference between script and language --
443rxvt-unicode does not know which language the text that is output is,
444as it only knows the unicode character codes. If rxvt-unicode first
445sees a japanese/chinese character, it might choose a japanese font for
446display. Subsequent japanese characters will use that font. Now, many
447chinese characters aren't represented in japanese fonts, so when the first
448non-japanese character comes up, rxvt-unicode will look for a chinese font
449-- unfortunately at this point, it will still use the japanese font for
450chinese characters that are also in the japanese font.
451
452The workaround is easy: just tag a chinese font at the end of your font
453list (see the previous question). The key is to view the font list as
454a preference list: If you expect more japanese, list a japanese font
455first. If you expect more chinese, put a chinese font first.
456
457In the future it might be possible to switch language preferences at
458runtime (the internal data structure has no problem with using different
459fonts for the same character at the same time, but no interface for this
460has been designed yet).
461
462Until then, you might get away with switching fonts at runtime (see L<Can
463I switch the fonts at runtime?> later in this document).
447 464
448=head2 Keyboard, Mouse & User Interaction 465=head2 Keyboard, Mouse & User Interaction
449 466
450=head3 The new selection selects pieces that are too big, how can I select single words? 467=head3 The new selection selects pieces that are too big, how can I select single words?
451 468
641 658
642 659
643 660
644=head2 Terminal Configuration 661=head2 Terminal Configuration
645 662
663=head3 Can I see a typical configuration?
664
665The default configuration tries to be xterm-like, which I don't like that
666much, but it's least surprise to regular users.
667
668As a rxvt or rxvt-unicode user, you are practically supposed to invest
669time into customising your terminal. To get you started, here is the
670author's .Xdefaults entries, with comments on what they do:
671
672 URxvt.cutchars: "()*,<>[]{}|'
673 URxvt.print-pipe: cat >/tmp/xxx
674
675These are just for testing stuff.
676
677 URxvt.imLocale: ja_JP.UTF-8
678 URxvt.preeditType: OnTheSpot,None
679
680This tells rxvt-unicode to use a special locale when communicating with
681the X Input Method, and also tells it to only use the OnTheSpot pre-edit
682type, which requires the C<xim-onthespot> perl extension but rewards me
683with correct-looking fonts.
684
685 URxvt.perl-lib: /root/lib/urxvt
686 URxvt.perl-ext-common: default,selection-autotransform,selection-pastebin,xim-onthespot,remote-clipboard
687 URxvt.selection.pattern-0: ( at .*? line \\d+)
688 URxvt.selection.pattern-1: ^(/[^:]+):\
689 URxvt.selection-autotransform.0: s/^([^:[:space:]]+):(\\d+):?$/:e \\Q$1\\E\\x0d:$2\\x0d/
690 URxvt.selection-autotransform.1: s/^ at (.*?) line (\\d+)$/:e \\Q$1\\E\\x0d:$2\\x0d/
691
692This is my perl configuration. The first two set the perl library
693directory and also tells urxvt to use a large number of extensions. I
694develop for myself mostly, so I actually use most of the extensions I
695write.
696
697The selection stuff mainly makes the selection perl-error-message aware
698and tells it to convert pelr error mssages into vi-commands to load the
699relevant file and go tot he error line number.
700
701 URxvt.scrollstyle: plain
702 URxvt.secondaryScroll: true
703
704As the documentation says: plain is the preferred scrollbar for the
705author. The C<secondaryScroll> confgiures urxvt to scroll in full-screen
706apps, like screen, so lines scorlled out of screen end up in urxvt's
707scrollback buffer.
708
709 URxvt.background: #000000
710 URxvt.foreground: gray90
711 URxvt.color7: gray90
712 URxvt.colorBD: #ffffff
713 URxvt.cursorColor: #e0e080
714 URxvt.throughColor: #8080f0
715 URxvt.highlightColor: #f0f0f0
716
717Some colours. Not sure which ones are being used or even non-defaults, but
718these are in my .Xdefaults. Most notably, they set foreground/background
719to light gray/black, and also make sure that the colour 7 matches the
720default foreground colour.
721
722 URxvt.underlineColor: yellow
723
724Another colour, makes underline lines look different. Sometimes hurts, but
725is mostly a nice effect.
726
727 URxvt.geometry: 154x36
728 URxvt.loginShell: false
729 URxvt.meta: ignore
730 URxvt.utmpInhibit: true
731
732Uh, well, should be mostly self-explanatory. By specifying some defaults
733manually, I can quickly switch them for testing.
734
735 URxvt.saveLines: 8192
736
737A large scrollback buffer is essential. Really.
738
739 URxvt.mapAlert: true
740
741The only case I use it is for my IRC window, which I like to keep
742iconified till people msg me (which beeps).
743
744 URxvt.visualBell: true
745
746The audible bell is often annoying, especially when in a crowd.
747
748 URxvt.insecure: true
749
750Please don't hack my mutt! Ooops...
751
752 URxvt.pastableTabs: false
753
754I once thought this is a great idea.
755
756 urxvt.font: 9x15bold,\
757 -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso10646-1,\
758 -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1, \
759 [codeset=JISX0208]xft:Kochi Gothic, \
760 xft:Bitstream Vera Sans Mono:autohint=true, \
761 xft:Code2000:antialias=false
762 urxvt.boldFont: -xos4-terminus-bold-r-normal--14-140-72-72-c-80-iso8859-15
763 urxvt.italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true
764 urxvt.boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true
765
766I wrote rxvt-unicode to be able to specify fonts exactly. So don't be
767overwhelmed. A special note: the C<9x15bold> mentioend above is actually
768the version from XFree-3.3, as XFree-4 replaced it by a totally different
769font (different glyphs for C<;> and many other harmless characters),
770while the second font is actually the C<9x15bold> from XFree4/XOrg. The
771bold version has less chars than the medium version, so I use it for rare
772characters, too. Whene ditign sources with vim, I use italic for comments
773and other stuff, which looks quite good with Bitstream Vera anti-aliased.
774
775Terminus is a quite bad font (many very wrong glyphs), but for most of my
776purposes, it works, and gives a different look, as my normal (Non-bold)
777font is already bold, and I want to see a difference between bold and
778normal fonts.
779
780Please note that I used the C<urxvt> instance name and not the C<URxvt>
781class name. Thats because I use different configs for different purposes,
782for example, my IRC window is started with C<-name IRC>, and uses these
783defaults:
784
785 IRC*title: IRC
786 IRC*geometry: 87x12+535+542
787 IRC*saveLines: 0
788 IRC*mapAlert: true
789 IRC*font: suxuseuro
790 IRC*boldFont: suxuseuro
791 IRC*colorBD: white
792 IRC*keysym.M-C-1: command:\033]710;suxuseuro\007\033]711;suxuseuro\007
793 IRC*keysym.M-C-2: command:\033]710;9x15bold\007\033]711;9x15bold\007
794
795C<Alt-Shift-1> and C<Alt-Shift-2> switch between two different font
796sizes. C<suxuseuro> allows me to keep an eye (and actually read)
797stuff while keeping a very small window. If somebody pastes something
798complicated (e.g. japanese), I temporarily switch to a larger font.
799
800The above is all in my C<.Xdefaults> (I don't use C<.Xresources> nor
801C<xrdb>). I also have some resources in a separate C<.Xdefaults-hostname>
802file for different hosts, for example, on ym main desktop, I use:
803
804 URxvt.keysym.C-M-q: command:\033[3;5;5t
805 URxvt.keysym.C-M-y: command:\033[3;5;606t
806 URxvt.keysym.C-M-e: command:\033[3;1605;5t
807 URxvt.keysym.C-M-c: command:\033[3;1605;606t
808 URxvt.keysym.C-M-p: perl:test
809
810The first for keysym definitions allow me to quickly bring some windows
811in the layout I like most. Ion users might start laughing but will stop
812immediately when I tell them that I use my own Fvwm2 module for much the
813same effect as Ion provides, and I only very rarely use the above key
814combinations :->
815
646=head3 Why doesn't rxvt-unicode read my resources? 816=head3 Why doesn't rxvt-unicode read my resources?
647 817
648Well, why, indeed? It does, in a way very similar to other X 818Well, why, indeed? It does, in a way very similar to other X
649applications. Most importantly, this means that if you or your OS loads 819applications. Most importantly, this means that if you or your OS loads
650resources into the X display (the right way to do it), rxvt-unicode will 820resources into the X display (the right way to do it), rxvt-unicode will
866 1036
867You can also use xterm's C<luit> program, which usually works fine, except 1037You can also use xterm's C<luit> program, which usually works fine, except
868for some locales where character width differs between program- and 1038for some locales where character width differs between program- and
869rxvt-unicode-locales. 1039rxvt-unicode-locales.
870 1040
1041=head3 I have problems getting my input method working.
1042
1043Try a search engine, as this is slightly different for every input method server.
1044
1045Here is a checklist:
1046
1047=over 4
1048
1049=item - Make sure your locale I<and> the imLocale are supported on your OS.
1050
1051Try C<locale -a> or check the documentation for your OS.
1052
1053=item - Make sure your locale or imLocale matches a locale supported by your XIM.
1054
1055For example, B<kinput2> does not support UTF-8 locales, you should use
1056C<ja_JP.EUC-JP> or equivalent.
1057
1058=item - Make sure your XIM server is actually running.
1059
1060=item - Make sure the C<XMODIFIERS> environment variable is set correctly when I<starting> rxvt-unicode.
1061
1062When you want to use e.g. B<kinput2>, it must be set to
1063C<@im=kinput2>. For B<scim>, use C<@im=SCIM>. Youc an see what input
1064method servers are running with this command:
1065
1066 xprop -root XIM_SERVERS
1067
1068=item
1069
1070=back
1071
871=head3 My input method wants <some encoding> but I want UTF-8, what can I do? 1072=head3 My input method wants <some encoding> but I want UTF-8, what can I do?
872 1073
873You can specify separate locales for the input method and the rest of the 1074You can specify separate locales for the input method and the rest of the
874terminal, using the resource C<imlocale>: 1075terminal, using the resource C<imlocale>:
875 1076
876 URxvt.imlocale: ja_JP.EUC-JP 1077 URxvt.imlocale: ja_JP.EUC-JP
877 1078
878Now you can start your terminal with C<LC_CTYPE=ja_JP.UTF-8> and still 1079Now you can start your terminal with C<LC_CTYPE=ja_JP.UTF-8> and still
879use your input method. Please note, however, that you will not be able to 1080use your input method. Please note, however, that, depending on your Xlib
880input characters outside C<EUC-JP> in a normal way then, as your input 1081version, you may not be able to input characters outside C<EUC-JP> in a
881method limits you. 1082normal way then, as your input method limits you.
882 1083
883=head3 Rxvt-unicode crashes when the X Input Method changes or exits. 1084=head3 Rxvt-unicode crashes when the X Input Method changes or exits.
884 1085
885Unfortunately, this is unavoidable, as the XIM protocol is racy by 1086Unfortunately, this is unavoidable, as the XIM protocol is racy by
886design. Applications can avoid some crashes at the expense of memory 1087design. Applications can avoid some crashes at the expense of memory
1005encodings (you might try C<LC_CTYPE=C-UTF-8>), so you are likely limited 1206encodings (you might try C<LC_CTYPE=C-UTF-8>), so you are likely limited
1006to 8-bit encodings. 1207to 8-bit encodings.
1007 1208
1008=head1 RXVT-UNICODE TECHNICAL REFERENCE 1209=head1 RXVT-UNICODE TECHNICAL REFERENCE
1009 1210
1010=head1 DESCRIPTION
1011
1012The rest of this document describes various technical aspects of 1211The rest of this document describes various technical aspects of
1013B<rxvt-unicode>. First the description of supported command sequences, 1212B<rxvt-unicode>. First the description of supported command sequences,
1014followed by pixmap support and last by a description of all features 1213followed by pixmap support and last by a description of all features
1015selectable at C<configure> time. 1214selectable at C<configure> time.
1016 1215
1017=head1 Definitions 1216=head2 Definitions
1018 1217
1019=over 4 1218=over 4
1020 1219
1021=item B<< C<c> >> 1220=item B<< C<c> >>
1022 1221
1040 1239
1041A text parameter composed of printable characters. 1240A text parameter composed of printable characters.
1042 1241
1043=back 1242=back
1044 1243
1045=head1 Values 1244=head2 Values
1046 1245
1047=over 4 1246=over 4
1048 1247
1049=item B<< C<ENQ> >> 1248=item B<< C<ENQ> >>
1050 1249
1093 1292
1094Space Character 1293Space Character
1095 1294
1096=back 1295=back
1097 1296
1098=head1 Escape Sequences 1297=head2 Escape Sequences
1099 1298
1100=over 4 1299=over 4
1101 1300
1102=item B<< C<ESC # 8> >> 1301=item B<< C<ESC # 8> >>
1103 1302
1201 1400
1202=back 1401=back
1203 1402
1204X<CSI> 1403X<CSI>
1205 1404
1206=head1 CSI (Command Sequence Introducer) Sequences 1405=head2 CSI (Command Sequence Introducer) Sequences
1207 1406
1208=over 4 1407=over 4
1209 1408
1210=item B<< C<ESC [ Ps @> >> 1409=item B<< C<ESC [ Ps @> >>
1211 1410
1481 1680
1482=back 1681=back
1483 1682
1484X<PrivateModes> 1683X<PrivateModes>
1485 1684
1486=head1 DEC Private Modes 1685=head2 DEC Private Modes
1487 1686
1488=over 4 1687=over 4
1489 1688
1490=item B<< C<ESC [ ? Pm h> >> 1689=item B<< C<ESC [ ? Pm h> >>
1491 1690
1755 1954
1756=back 1955=back
1757 1956
1758X<XTerm> 1957X<XTerm>
1759 1958
1760=head1 XTerm Operating System Commands 1959=head2 XTerm Operating System Commands
1761 1960
1762=over 4 1961=over 4
1763 1962
1764=item B<< C<ESC ] Ps;Pt ST> >> 1963=item B<< C<ESC ] Ps;Pt ST> >>
1765 1964
1802 B<< C<Ps = 777> >> Call the perl extension with the given string, which should be of the form C<extension:parameters> (Compile perl). 2001 B<< C<Ps = 777> >> Call the perl extension with the given string, which should be of the form C<extension:parameters> (Compile perl).
1803 2002
1804=end table 2003=end table
1805 2004
1806=back 2005=back
1807
1808X<XPM>
1809 2006
1810=head1 XPM 2007=head1 XPM
1811 2008
1812For the XPM XTerm escape sequence B<< C<ESC ] 20 ; Pt ST> >> then value 2009For the XPM XTerm escape sequence B<< C<ESC ] 20 ; Pt ST> >> then value
1813of B<< C<Pt> >> can be the name of the background pixmap followed by a 2010of B<< C<Pt> >> can be the name of the background pixmap followed by a
2249Remove support for mouse selection style like that of xterm. 2446Remove support for mouse selection style like that of xterm.
2250 2447
2251=item --enable-dmalloc (default: off) 2448=item --enable-dmalloc (default: off)
2252 2449
2253Use Gray Watson's malloc - which is good for debugging See 2450Use Gray Watson's malloc - which is good for debugging See
2254http://www.letters.com/dmalloc/ for details If you use either this or the 2451L<http://www.letters.com/dmalloc/> for details If you use either this or the
2255next option, you may need to edit src/Makefile after compiling to point 2452next option, you may need to edit src/Makefile after compiling to point
2256DINCLUDE and DLIB to the right places. 2453DINCLUDE and DLIB to the right places.
2257 2454
2258You can only use either this option and the following (should 2455You can only use either this option and the following (should
2259you use either) . 2456you use either) .

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines