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.108 by root, Tue Jan 31 21:04:56 2006 UTC vs.
Revision 1.115 by root, Tue Feb 21 01:01:33 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,
236 -set _NET_WM_WINDOW_OPACITY 0xc0000000 253 -set _NET_WM_WINDOW_OPACITY 0xc0000000
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
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 258
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
409 URxvt.color6: #73f7ff 401 URxvt.color6: #73f7ff
410 URxvt.color14: #73f7ff 402 URxvt.color14: #73f7ff
411 URxvt.color7: #e1dddd 403 URxvt.color7: #e1dddd
412 URxvt.color15: #e1dddd 404 URxvt.color15: #e1dddd
413 405
414(They were described (not by me) as "pretty girly"). 406They have been described (not by me) as "pretty girly".
407
408=head3 Why do some characters look so much different than others?
409
410See next entry.
415 411
416=head3 How does rxvt-unicode choose fonts? 412=head3 How does rxvt-unicode choose fonts?
417 413
418Most fonts do not contain the full range of Unicode, which is 414Most fonts do not contain the full range of Unicode, which is
419fine. 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
420your 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
421to display. 417to display.
422 418
423B<rxvt-unicode> makes a best-effort try at finding a replacement 419B<rxvt-unicode> makes a best-effort try at finding a replacement
424font. Often the result is fine, but sometimes the chosen font looks 420font. Often the result is fine, but sometimes the chosen font looks
425bad/ugly/wrong. Some fonts have totally strange characters that don't 421bad/ugly/wrong. Some fonts have totally strange characters that don't
426resemble the correct glyph at all, and rxvt-unicode lacks the artificial 422resemble the correct glyph at all, and rxvt-unicode lacks the artificial
427intelligence 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
428the font that the characters it claims to contain indeed look correct. 424the font that the characters it claims to contain indeed look correct.
429 425
430In 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,
431e.g.: 427e.g.:
432 428
433 @@URXVT_NAME@@ -fn basefont,font2,font3... 429 @@URXVT_NAME@@ -fn basefont,font2,font3...
434 430
435When 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
436font. 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
437next 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
438search and use less resources within rxvt-unicode and the X-server. 434search and use less resources within rxvt-unicode and the X-server.
439 435
440The 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
441font, as the base font defines the terminal character cell size, which 437font, as the base font defines the terminal character cell size, which
442must be the same due to the way terminals work. 438must be the same due to the way terminals work.
443 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).
444 464
445=head2 Keyboard, Mouse & User Interaction 465=head2 Keyboard, Mouse & User Interaction
446 466
447=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?
448 468
638 658
639 659
640 660
641=head2 Terminal Configuration 661=head2 Terminal Configuration
642 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. It's certainly
671not I<typical>, but what's typical...
672
673 URxvt.cutchars: "()*,<>[]{}|'
674 URxvt.print-pipe: cat >/tmp/xxx
675
676These are just for testing stuff.
677
678 URxvt.imLocale: ja_JP.UTF-8
679 URxvt.preeditType: OnTheSpot,None
680
681This tells rxvt-unicode to use a special locale when communicating with
682the X Input Method, and also tells it to only use the OnTheSpot pre-edit
683type, which requires the C<xim-onthespot> perl extension but rewards me
684with correct-looking fonts.
685
686 URxvt.perl-lib: /root/lib/urxvt
687 URxvt.perl-ext-common: default,selection-autotransform,selection-pastebin,xim-onthespot,remote-clipboard
688 URxvt.selection.pattern-0: ( at .*? line \\d+)
689 URxvt.selection.pattern-1: ^(/[^:]+):\
690 URxvt.selection-autotransform.0: s/^([^:[:space:]]+):(\\d+):?$/:e \\Q$1\\E\\x0d:$2\\x0d/
691 URxvt.selection-autotransform.1: s/^ at (.*?) line (\\d+)$/:e \\Q$1\\E\\x0d:$2\\x0d/
692
693This is my perl configuration. The first two set the perl library
694directory and also tells urxvt to use a large number of extensions. I
695develop for myself mostly, so I actually use most of the extensions I
696write.
697
698The selection stuff mainly makes the selection perl-error-message aware
699and tells it to convert pelr error mssages into vi-commands to load the
700relevant file and go tot he error line number.
701
702 URxvt.scrollstyle: plain
703 URxvt.secondaryScroll: true
704
705As the documentation says: plain is the preferred scrollbar for the
706author. The C<secondaryScroll> confgiures urxvt to scroll in full-screen
707apps, like screen, so lines scorlled out of screen end up in urxvt's
708scrollback buffer.
709
710 URxvt.background: #000000
711 URxvt.foreground: gray90
712 URxvt.color7: gray90
713 URxvt.colorBD: #ffffff
714 URxvt.cursorColor: #e0e080
715 URxvt.throughColor: #8080f0
716 URxvt.highlightColor: #f0f0f0
717
718Some colours. Not sure which ones are being used or even non-defaults, but
719these are in my .Xdefaults. Most notably, they set foreground/background
720to light gray/black, and also make sure that the colour 7 matches the
721default foreground colour.
722
723 URxvt.underlineColor: yellow
724
725Another colour, makes underline lines look different. Sometimes hurts, but
726is mostly a nice effect.
727
728 URxvt.geometry: 154x36
729 URxvt.loginShell: false
730 URxvt.meta: ignore
731 URxvt.utmpInhibit: true
732
733Uh, well, should be mostly self-explanatory. By specifying some defaults
734manually, I can quickly switch them for testing.
735
736 URxvt.saveLines: 8192
737
738A large scrollback buffer is essential. Really.
739
740 URxvt.mapAlert: true
741
742The only case I use it is for my IRC window, which I like to keep
743iconified till people msg me (which beeps).
744
745 URxvt.visualBell: true
746
747The audible bell is often annoying, especially when in a crowd.
748
749 URxvt.insecure: true
750
751Please don't hack my mutt! Ooops...
752
753 URxvt.pastableTabs: false
754
755I once thought this is a great idea.
756
757 urxvt.font: 9x15bold,\
758 -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso10646-1,\
759 -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1, \
760 [codeset=JISX0208]xft:Kochi Gothic, \
761 xft:Bitstream Vera Sans Mono:autohint=true, \
762 xft:Code2000:antialias=false
763 urxvt.boldFont: -xos4-terminus-bold-r-normal--14-140-72-72-c-80-iso8859-15
764 urxvt.italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true
765 urxvt.boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true
766
767I wrote rxvt-unicode to be able to specify fonts exactly. So don't be
768overwhelmed. A special note: the C<9x15bold> mentioend above is actually
769the version from XFree-3.3, as XFree-4 replaced it by a totally different
770font (different glyphs for C<;> and many other harmless characters),
771while the second font is actually the C<9x15bold> from XFree4/XOrg. The
772bold version has less chars than the medium version, so I use it for rare
773characters, too. Whene ditign sources with vim, I use italic for comments
774and other stuff, which looks quite good with Bitstream Vera anti-aliased.
775
776Terminus is a quite bad font (many very wrong glyphs), but for most of my
777purposes, it works, and gives a different look, as my normal (Non-bold)
778font is already bold, and I want to see a difference between bold and
779normal fonts.
780
781Please note that I used the C<urxvt> instance name and not the C<URxvt>
782class name. Thats because I use different configs for different purposes,
783for example, my IRC window is started with C<-name IRC>, and uses these
784defaults:
785
786 IRC*title: IRC
787 IRC*geometry: 87x12+535+542
788 IRC*saveLines: 0
789 IRC*mapAlert: true
790 IRC*font: suxuseuro
791 IRC*boldFont: suxuseuro
792 IRC*colorBD: white
793 IRC*keysym.M-C-1: command:\033]710;suxuseuro\007\033]711;suxuseuro\007
794 IRC*keysym.M-C-2: command:\033]710;9x15bold\007\033]711;9x15bold\007
795
796C<Alt-Shift-1> and C<Alt-Shift-2> switch between two different font
797sizes. C<suxuseuro> allows me to keep an eye (and actually read)
798stuff while keeping a very small window. If somebody pastes something
799complicated (e.g. japanese), I temporarily switch to a larger font.
800
801The above is all in my C<.Xdefaults> (I don't use C<.Xresources> nor
802C<xrdb>). I also have some resources in a separate C<.Xdefaults-hostname>
803file for different hosts, for example, on ym main desktop, I use:
804
805 URxvt.keysym.C-M-q: command:\033[3;5;5t
806 URxvt.keysym.C-M-y: command:\033[3;5;606t
807 URxvt.keysym.C-M-e: command:\033[3;1605;5t
808 URxvt.keysym.C-M-c: command:\033[3;1605;606t
809 URxvt.keysym.C-M-p: perl:test
810
811The first for keysym definitions allow me to quickly bring some windows
812in the layout I like most. Ion users might start laughing but will stop
813immediately when I tell them that I use my own Fvwm2 module for much the
814same effect as Ion provides, and I only very rarely use the above key
815combinations :->
816
643=head3 Why doesn't rxvt-unicode read my resources? 817=head3 Why doesn't rxvt-unicode read my resources?
644 818
645Well, why, indeed? It does, in a way very similar to other X 819Well, why, indeed? It does, in a way very similar to other X
646applications. Most importantly, this means that if you or your OS loads 820applications. Most importantly, this means that if you or your OS loads
647resources into the X display (the right way to do it), rxvt-unicode will 821resources into the X display (the right way to do it), rxvt-unicode will
863 1037
864You can also use xterm's C<luit> program, which usually works fine, except 1038You can also use xterm's C<luit> program, which usually works fine, except
865for some locales where character width differs between program- and 1039for some locales where character width differs between program- and
866rxvt-unicode-locales. 1040rxvt-unicode-locales.
867 1041
1042=head3 I have problems getting my input method working.
1043
1044Try a search engine, as this is slightly different for every input method server.
1045
1046Here is a checklist:
1047
1048=over 4
1049
1050=item - Make sure your locale I<and> the imLocale are supported on your OS.
1051
1052Try C<locale -a> or check the documentation for your OS.
1053
1054=item - Make sure your locale or imLocale matches a locale supported by your XIM.
1055
1056For example, B<kinput2> does not support UTF-8 locales, you should use
1057C<ja_JP.EUC-JP> or equivalent.
1058
1059=item - Make sure your XIM server is actually running.
1060
1061=item - Make sure the C<XMODIFIERS> environment variable is set correctly when I<starting> rxvt-unicode.
1062
1063When you want to use e.g. B<kinput2>, it must be set to
1064C<@im=kinput2>. For B<scim>, use C<@im=SCIM>. Youc an see what input
1065method servers are running with this command:
1066
1067 xprop -root XIM_SERVERS
1068
1069=item
1070
1071=back
1072
868=head3 My input method wants <some encoding> but I want UTF-8, what can I do? 1073=head3 My input method wants <some encoding> but I want UTF-8, what can I do?
869 1074
870You can specify separate locales for the input method and the rest of the 1075You can specify separate locales for the input method and the rest of the
871terminal, using the resource C<imlocale>: 1076terminal, using the resource C<imlocale>:
872 1077
873 URxvt.imlocale: ja_JP.EUC-JP 1078 URxvt.imlocale: ja_JP.EUC-JP
874 1079
875Now you can start your terminal with C<LC_CTYPE=ja_JP.UTF-8> and still 1080Now you can start your terminal with C<LC_CTYPE=ja_JP.UTF-8> and still
876use your input method. Please note, however, that you will not be able to 1081use your input method. Please note, however, that, depending on your Xlib
877input characters outside C<EUC-JP> in a normal way then, as your input 1082version, you may not be able to input characters outside C<EUC-JP> in a
878method limits you. 1083normal way then, as your input method limits you.
879 1084
880=head3 Rxvt-unicode crashes when the X Input Method changes or exits. 1085=head3 Rxvt-unicode crashes when the X Input Method changes or exits.
881 1086
882Unfortunately, this is unavoidable, as the XIM protocol is racy by 1087Unfortunately, this is unavoidable, as the XIM protocol is racy by
883design. Applications can avoid some crashes at the expense of memory 1088design. Applications can avoid some crashes at the expense of memory
1002encodings (you might try C<LC_CTYPE=C-UTF-8>), so you are likely limited 1207encodings (you might try C<LC_CTYPE=C-UTF-8>), so you are likely limited
1003to 8-bit encodings. 1208to 8-bit encodings.
1004 1209
1005=head1 RXVT-UNICODE TECHNICAL REFERENCE 1210=head1 RXVT-UNICODE TECHNICAL REFERENCE
1006 1211
1007=head1 DESCRIPTION
1008
1009The rest of this document describes various technical aspects of 1212The rest of this document describes various technical aspects of
1010B<rxvt-unicode>. First the description of supported command sequences, 1213B<rxvt-unicode>. First the description of supported command sequences,
1011followed by pixmap support and last by a description of all features 1214followed by pixmap support and last by a description of all features
1012selectable at C<configure> time. 1215selectable at C<configure> time.
1013 1216
1014=head1 Definitions 1217=head2 Definitions
1015 1218
1016=over 4 1219=over 4
1017 1220
1018=item B<< C<c> >> 1221=item B<< C<c> >>
1019 1222
1037 1240
1038A text parameter composed of printable characters. 1241A text parameter composed of printable characters.
1039 1242
1040=back 1243=back
1041 1244
1042=head1 Values 1245=head2 Values
1043 1246
1044=over 4 1247=over 4
1045 1248
1046=item B<< C<ENQ> >> 1249=item B<< C<ENQ> >>
1047 1250
1090 1293
1091Space Character 1294Space Character
1092 1295
1093=back 1296=back
1094 1297
1095=head1 Escape Sequences 1298=head2 Escape Sequences
1096 1299
1097=over 4 1300=over 4
1098 1301
1099=item B<< C<ESC # 8> >> 1302=item B<< C<ESC # 8> >>
1100 1303
1198 1401
1199=back 1402=back
1200 1403
1201X<CSI> 1404X<CSI>
1202 1405
1203=head1 CSI (Command Sequence Introducer) Sequences 1406=head2 CSI (Command Sequence Introducer) Sequences
1204 1407
1205=over 4 1408=over 4
1206 1409
1207=item B<< C<ESC [ Ps @> >> 1410=item B<< C<ESC [ Ps @> >>
1208 1411
1478 1681
1479=back 1682=back
1480 1683
1481X<PrivateModes> 1684X<PrivateModes>
1482 1685
1483=head1 DEC Private Modes 1686=head2 DEC Private Modes
1484 1687
1485=over 4 1688=over 4
1486 1689
1487=item B<< C<ESC [ ? Pm h> >> 1690=item B<< C<ESC [ ? Pm h> >>
1488 1691
1752 1955
1753=back 1956=back
1754 1957
1755X<XTerm> 1958X<XTerm>
1756 1959
1757=head1 XTerm Operating System Commands 1960=head2 XTerm Operating System Commands
1758 1961
1759=over 4 1962=over 4
1760 1963
1761=item B<< C<ESC ] Ps;Pt ST> >> 1964=item B<< C<ESC ] Ps;Pt ST> >>
1762 1965
1799 B<< C<Ps = 777> >> Call the perl extension with the given string, which should be of the form C<extension:parameters> (Compile perl). 2002 B<< C<Ps = 777> >> Call the perl extension with the given string, which should be of the form C<extension:parameters> (Compile perl).
1800 2003
1801=end table 2004=end table
1802 2005
1803=back 2006=back
1804
1805X<XPM>
1806 2007
1807=head1 XPM 2008=head1 XPM
1808 2009
1809For the XPM XTerm escape sequence B<< C<ESC ] 20 ; Pt ST> >> then value 2010For the XPM XTerm escape sequence B<< C<ESC ] 20 ; Pt ST> >> then value
1810of B<< C<Pt> >> can be the name of the background pixmap followed by a 2011of B<< C<Pt> >> can be the name of the background pixmap followed by a
2246Remove support for mouse selection style like that of xterm. 2447Remove support for mouse selection style like that of xterm.
2247 2448
2248=item --enable-dmalloc (default: off) 2449=item --enable-dmalloc (default: off)
2249 2450
2250Use Gray Watson's malloc - which is good for debugging See 2451Use Gray Watson's malloc - which is good for debugging See
2251http://www.letters.com/dmalloc/ for details If you use either this or the 2452L<http://www.letters.com/dmalloc/> for details If you use either this or the
2252next option, you may need to edit src/Makefile after compiling to point 2453next option, you may need to edit src/Makefile after compiling to point
2253DINCLUDE and DLIB to the right places. 2454DINCLUDE and DLIB to the right places.
2254 2455
2255You can only use either this option and the following (should 2456You can only use either this option and the following (should
2256you use either) . 2457you use either) .

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines