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.113 by root, Thu Feb 2 18:04:45 2006 UTC vs.
Revision 1.146 by root, Mon Sep 10 13:05:51 2007 UTC

17 17
18This document contains the FAQ, the RXVT TECHNICAL REFERENCE documenting 18This document contains the FAQ, the RXVT TECHNICAL REFERENCE documenting
19all escape sequences, and other background information. 19all escape sequences, and other background information.
20 20
21The newest version of this document is also available on the World Wide Web at 21The newest version of this document is also available on the World Wide Web at
22L<http://cvs.schmorp.de/browse/*checkout*/rxvt-unicode/doc/rxvt.7.html>. 22L<http://cvs.schmorp.de/browse/rxvt-unicode/doc/rxvt.7.html>.
23 23
24=head1 RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS 24=head1 RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS
25 25
26 26
27=head2 Meta, Features & Commandline Issues 27=head2 Meta, Features & Commandline Issues
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 77
78=head3 How can I start @@URXVT_NAME@@d automatically when I run URXVT_NAME@@c? 78=head3 How can I start @@URXVT_NAME@@d automatically when I run @@URXVT_NAME@@c?
79 79
80If you want to start @@URXVT_NAME@@d automatically whenever you run 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: 81@@URXVT_NAME@@c and the daemon isn't running yet, use this script:
82 82
83 #!/bin/sh 83 #!/bin/sh
90This tries to create a new terminal, and if fails with exit status 2, 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 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 92re-run the command. Subsequent invocations of the script will re-use the
93existing daemon. 93existing daemon.
94 94
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. 95=head3 How do I distinguish whether I'm running rxvt-unicode or a regular xterm? I need this to decide about setting colors etc.
96 96
97The original rxvt and rxvt-unicode always export the variable "COLORTERM", 97The original rxvt and rxvt-unicode always export the variable "COLORTERM",
98so 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,
99slrn, Midnight Commander automatically check this variable to decide 99slrn, Midnight Commander automatically check this variable to decide
100whether or not to use color. 100whether or not to use color.
125 fi 125 fi
126 126
127=head3 How do I compile the manual pages on my own? 127=head3 How do I compile the manual pages on my own?
128 128
129You need to have a recent version of perl installed as F</usr/bin/perl>, 129You need to have a recent version of perl installed as F</usr/bin/perl>,
130one that comes with F<pod2man>, F<pod2text> and F<pod2html>. Then go to 130one that comes with F<pod2man>, F<pod2text> and F<pod2xhtml> (from
131the doc subdirectory and enter C<make alldoc>. 131F<Pod::Xhtml>). Then go to the doc subdirectory and enter C<make alldoc>.
132 132
133=head3 Isn't rxvt-unicode supposed to be small? Don't all those features bloat? 133=head3 Isn't rxvt-unicode supposed to be small? Don't all those features bloat?
134 134
135I often get asked about this, and I think, no, they didn't cause extra 135I often get asked about this, and I think, no, they didn't cause extra
136bloat. If you compare a minimal rxvt and a minimal urxvt, you can see 136bloat. If you compare a minimal rxvt and a minimal urxvt, you can see
144 98398 1664 24 15695 1824 rxvt --disable-everything 144 98398 1664 24 15695 1824 rxvt --disable-everything
145 188985 9048 66616 18222 1788 urxvt --disable-everything 145 188985 9048 66616 18222 1788 urxvt --disable-everything
146 146
147When you C<--enable-everything> (which I<is> unfair, as this involves xft 147When you C<--enable-everything> (which I<is> unfair, as this involves xft
148and 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
149libc), the two diverge, but not unreasnobaly so. 149libc), the two diverge, but not unreasonably so.
150 150
151 text data bss drs rss filename 151 text data bss drs rss filename
152 163431 2152 24 20123 2060 rxvt --enable-everything 152 163431 2152 24 20123 2060 rxvt --enable-everything
153 1035683 49680 66648 29096 3680 urxvt --enable-everything 153 1035683 49680 66648 29096 3680 urxvt --enable-everything
154 154
241 241
242 @@URXVT_NAME@@ -depth 32 -fg grey90 -bg rgba:0000/0000/4444/cccc 242 @@URXVT_NAME@@ -depth 32 -fg grey90 -bg rgba:0000/0000/4444/cccc
243 243
244This requires XFT support, and the support of your X-server. If that 244This requires XFT support, and the support of your X-server. If that
245doesn't work for you, blame Xorg and Keith Packard. ARGB visuals aren't 245doesn't work for you, blame Xorg and Keith Packard. ARGB visuals aren't
246there yet, no matter what they claim. Rxvt-Unicode contains the neccessary 246there yet, no matter what they claim. Rxvt-Unicode contains the necessary
247bugfixes and workarounds for Xft and Xlib to make it work, but that 247bugfixes and workarounds for Xft and Xlib to make it work, but that
248doesn't mean that your WM has the required kludges in place. 248doesn't mean that your WM has the required kludges in place.
249 249
2504. Use xcompmgr and let it do the job: 2504. Use xcompmgr and let it do the job:
251 251
268however: Xft fonts often draw glyphs larger than their acclaimed bounding 268however: Xft fonts often draw glyphs larger than their acclaimed bounding
269box, and rxvt-unicode has no way of detecting this (the correct way is to 269box, and rxvt-unicode has no way of detecting this (the correct way is to
270ask for the character bounding box, which unfortunately is wrong in these 270ask for the character bounding box, which unfortunately is wrong in these
271cases). 271cases).
272 272
273It's not clear (to me at least), wether this is a bug in Xft, freetype, 273It's not clear (to me at least), whether this is a bug in Xft, freetype,
274or the respective font. If you encounter this problem you might try using 274or the respective font. If you encounter this problem you might try using
275the C<-lsp> option to give the font more height. If that doesn't work, you 275the C<-lsp> option to give the font more height. If that doesn't work, you
276might be forced to use a different font. 276might be forced to use a different font.
277 277
278All of this is not a problem when using X11 core fonts, as their bounding 278All of this is not a problem when using X11 core fonts, as their bounding
302=head3 Can I switch the fonts at runtime? 302=head3 Can I switch the fonts at runtime?
303 303
304Yes, using an escape sequence. Try something like this, which has the same 304Yes, using an escape sequence. Try something like this, which has the same
305effect as using the C<-fn> switch, and takes effect immediately: 305effect as using the C<-fn> switch, and takes effect immediately:
306 306
307 printf '\e]50;%s\007' "9x15bold,xft:Kochi Gothic" 307 printf '\33]50;%s\007' "9x15bold,xft:Kochi Gothic"
308 308
309This is useful if you e.g. work primarily with japanese (and prefer a 309This is useful if you e.g. work primarily with japanese (and prefer a
310japanese font), but you have to switch to chinese temporarily, where 310japanese font), but you have to switch to chinese temporarily, where
311japanese fonts would only be in your way. 311japanese fonts would only be in your way.
312 312
314 314
315=head3 Why do italic characters look as if clipped? 315=head3 Why do italic characters look as if clipped?
316 316
317Many fonts have difficulties with italic characters and hinting. For 317Many fonts have difficulties with italic characters and hinting. For
318example, the otherwise very nicely hinted font C<xft:Bitstream Vera Sans 318example, the otherwise very nicely hinted font C<xft:Bitstream Vera Sans
319Mono> completely fails in it's italic face. A workaround might be to 319Mono> completely fails in its italic face. A workaround might be to
320enable freetype autohinting, i.e. like this: 320enable freetype autohinting, i.e. like this:
321 321
322 URxvt.italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true 322 URxvt.italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true
323 URxvt.boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true 323 URxvt.boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true
324 324
330memory and also speeds up rendering considerably. 330memory and also speeds up rendering considerably.
331 331
332=head3 Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong? 332=head3 Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong?
333 333
334Rxvt-unicode will use whatever you specify as a font. If it needs to 334Rxvt-unicode will use whatever you specify as a font. If it needs to
335fall back to it's default font search list it will prefer X11 core 335fall back to its default font search list it will prefer X11 core
336fonts, because they are small and fast, and then use Xft fonts. It has 336fonts, because they are small and fast, and then use Xft fonts. It has
337antialiasing disabled for most of them, because the author thinks they 337antialiasing disabled for most of them, because the author thinks they
338look best that way. 338look best that way.
339 339
340If you want antialiasing, you have to specify the fonts manually. 340If you want antialiasing, you have to specify the fonts manually.
460has been designed yet). 460has been designed yet).
461 461
462Until then, you might get away with switching fonts at runtime (see L<Can 462Until then, you might get away with switching fonts at runtime (see L<Can
463I switch the fonts at runtime?> later in this document). 463I switch the fonts at runtime?> later in this document).
464 464
465=head3 How can I make mplayer display video correctly?
466
467We are working on it, in the meantime, as a workaround, use something like:
468
469 @@URXVT_NAME@@ -b 600 -geometry 20x1 -e sh -c 'mplayer -wid $WINDOWID file...'
470
471
465=head2 Keyboard, Mouse & User Interaction 472=head2 Keyboard, Mouse & User Interaction
466 473
467=head3 The new selection selects pieces that are too big, how can I select single words? 474=head3 The new selection selects pieces that are too big, how can I select single words?
468 475
469If you want to select e.g. alphanumeric words, you can use the following 476If you want to select e.g. alphanumeric words, you can use the following
512circumstances, it will move your cursor around when you click into the 519circumstances, it will move your cursor around when you click into the
513line that contains it. It tries hard not to do this at the wrong moment, 520line that contains it. It tries hard not to do this at the wrong moment,
514but when running a program that doesn't parse cursor movements or in some 521but when running a program that doesn't parse cursor movements or in some
515cases during rlogin sessions, it fails to detect this properly. 522cases during rlogin sessions, it fails to detect this properly.
516 523
517You can permamently switch this feature off by disabling the C<readline> 524You can permanently switch this feature off by disabling the C<readline>
518extension: 525extension:
519 526
520 URxvt.perl-ext-common: default,-readline 527 URxvt.perl-ext-common: default,-readline
521 528
522=head3 My numerical keypad acts weird and generates differing output? 529=head3 My numerical keypad acts weird and generates differing output?
523 530
524Some Debian GNUL/Linux users seem to have this problem, although no 531Some Debian GNUL/Linux users seem to have this problem, although no
525specific details were reported so far. It is possible that this is caused 532specific details were reported so far. It is possible that this is caused
526by the wrong C<TERM> setting, although the details of wether and how 533by the wrong C<TERM> setting, although the details of whether and how
527this can happen are unknown, as C<TERM=rxvt> should offer a compatible 534this can happen are unknown, as C<TERM=rxvt> should offer a compatible
528keymap. See the answer to the previous question, and please report if that 535keymap. See the answer to the previous question, and please report if that
529helped. 536helped.
530 537
531=head3 My Compose (Multi_key) key is no longer working. 538=head3 My Compose (Multi_key) key is no longer working.
557depressed. 564depressed.
558 565
559=head3 What's with the strange Backspace/Delete key behaviour? 566=head3 What's with the strange Backspace/Delete key behaviour?
560 567
561Assuming that the physical Backspace key corresponds to the 568Assuming that the physical Backspace key corresponds to the
562BackSpace keysym (not likely for Linux ... see the following 569Backspace keysym (not likely for Linux ... see the following
563question) there are two standard values that can be used for 570question) there are two standard values that can be used for
564Backspace: C<^H> and C<^?>. 571Backspace: C<^H> and C<^?>.
565 572
566Historically, either value is correct, but rxvt-unicode adopts the debian 573Historically, either value is correct, but rxvt-unicode adopts the debian
567policy of using C<^?> when unsure, because it's the one only only correct 574policy of using C<^?> when unsure, because it's the one and only correct
568choice :). 575choice :).
569 576
570Rxvt-unicode tries to inherit the current stty settings and uses the value 577Rxvt-unicode tries to inherit the current stty settings and uses the value
571of `erase' to guess the value for backspace. If rxvt-unicode wasn't 578of `erase' to guess the value for backspace. If rxvt-unicode wasn't
572started from a terminal (say, from a menu or by remote shell), then the 579started from a terminal (say, from a menu or by remote shell), then the
655Rather than have rxvt-unicode try to accommodate all the various possible 662Rather than have rxvt-unicode try to accommodate all the various possible
656keyboard mappings, it is better to use `xmodmap' to remap the keys as 663keyboard mappings, it is better to use `xmodmap' to remap the keys as
657required for your particular machine. 664required for your particular machine.
658 665
659 666
660
661=head2 Terminal Configuration 667=head2 Terminal Configuration
668
669=head3 Can I see a typical configuration?
670
671The default configuration tries to be xterm-like, which I don't like that
672much, but it's least surprise to regular users.
673
674As a rxvt or rxvt-unicode user, you are practically supposed to invest
675time into customising your terminal. To get you started, here is the
676author's .Xdefaults entries, with comments on what they do. It's certainly
677not I<typical>, but what's typical...
678
679 URxvt.cutchars: "()*,<>[]{}|'
680 URxvt.print-pipe: cat >/tmp/xxx
681
682These are just for testing stuff.
683
684 URxvt.imLocale: ja_JP.UTF-8
685 URxvt.preeditType: OnTheSpot,None
686
687This tells rxvt-unicode to use a special locale when communicating with
688the X Input Method, and also tells it to only use the OnTheSpot pre-edit
689type, which requires the C<xim-onthespot> perl extension but rewards me
690with correct-looking fonts.
691
692 URxvt.perl-lib: /root/lib/urxvt
693 URxvt.perl-ext-common: default,selection-autotransform,selection-pastebin,xim-onthespot,remote-clipboard
694 URxvt.selection.pattern-0: ( at .*? line \\d+)
695 URxvt.selection.pattern-1: ^(/[^:]+):\
696 URxvt.selection-autotransform.0: s/^([^:[:space:]]+):(\\d+):?$/:e \\Q$1\\E\\x0d:$2\\x0d/
697 URxvt.selection-autotransform.1: s/^ at (.*?) line (\\d+)$/:e \\Q$1\\E\\x0d:$2\\x0d/
698
699This is my perl configuration. The first two set the perl library
700directory and also tells urxvt to use a large number of extensions. I
701develop for myself mostly, so I actually use most of the extensions I
702write.
703
704The selection stuff mainly makes the selection perl-error-message aware
705and tells it to convert perl error messages into vi-commands to load the
706relevant file and go tot he error line number.
707
708 URxvt.scrollstyle: plain
709 URxvt.secondaryScroll: true
710
711As the documentation says: plain is the preferred scrollbar for the
712author. The C<secondaryScroll> configures urxvt to scroll in full-screen
713apps, like screen, so lines scrolled out of screen end up in urxvt's
714scrollback buffer.
715
716 URxvt.background: #000000
717 URxvt.foreground: gray90
718 URxvt.color7: gray90
719 URxvt.colorBD: #ffffff
720 URxvt.cursorColor: #e0e080
721 URxvt.throughColor: #8080f0
722 URxvt.highlightColor: #f0f0f0
723
724Some colours. Not sure which ones are being used or even non-defaults, but
725these are in my .Xdefaults. Most notably, they set foreground/background
726to light gray/black, and also make sure that the colour 7 matches the
727default foreground colour.
728
729 URxvt.underlineColor: yellow
730
731Another colour, makes underline lines look different. Sometimes hurts, but
732is mostly a nice effect.
733
734 URxvt.geometry: 154x36
735 URxvt.loginShell: false
736 URxvt.meta: ignore
737 URxvt.utmpInhibit: true
738
739Uh, well, should be mostly self-explanatory. By specifying some defaults
740manually, I can quickly switch them for testing.
741
742 URxvt.saveLines: 8192
743
744A large scrollback buffer is essential. Really.
745
746 URxvt.mapAlert: true
747
748The only case I use it is for my IRC window, which I like to keep
749iconified till people msg me (which beeps).
750
751 URxvt.visualBell: true
752
753The audible bell is often annoying, especially when in a crowd.
754
755 URxvt.insecure: true
756
757Please don't hack my mutt! Ooops...
758
759 URxvt.pastableTabs: false
760
761I once thought this is a great idea.
762
763 urxvt.font: 9x15bold,\
764 -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso10646-1,\
765 -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1, \
766 [codeset=JISX0208]xft:Kochi Gothic, \
767 xft:Bitstream Vera Sans Mono:autohint=true, \
768 xft:Code2000:antialias=false
769 urxvt.boldFont: -xos4-terminus-bold-r-normal--14-140-72-72-c-80-iso8859-15
770 urxvt.italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true
771 urxvt.boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true
772
773I wrote rxvt-unicode to be able to specify fonts exactly. So don't be
774overwhelmed. A special note: the C<9x15bold> mentioned above is actually
775the version from XFree-3.3, as XFree-4 replaced it by a totally different
776font (different glyphs for C<;> and many other harmless characters),
777while the second font is actually the C<9x15bold> from XFree4/XOrg. The
778bold version has less chars than the medium version, so I use it for rare
779characters, too. When editing sources with vim, I use italic for comments
780and other stuff, which looks quite good with Bitstream Vera anti-aliased.
781
782Terminus is a quite bad font (many very wrong glyphs), but for most of my
783purposes, it works, and gives a different look, as my normal (Non-bold)
784font is already bold, and I want to see a difference between bold and
785normal fonts.
786
787Please note that I used the C<urxvt> instance name and not the C<URxvt>
788class name. Thats because I use different configs for different purposes,
789for example, my IRC window is started with C<-name IRC>, and uses these
790defaults:
791
792 IRC*title: IRC
793 IRC*geometry: 87x12+535+542
794 IRC*saveLines: 0
795 IRC*mapAlert: true
796 IRC*font: suxuseuro
797 IRC*boldFont: suxuseuro
798 IRC*colorBD: white
799 IRC*keysym.M-C-1: command:\033]710;suxuseuro\007\033]711;suxuseuro\007
800 IRC*keysym.M-C-2: command:\033]710;9x15bold\007\033]711;9x15bold\007
801
802C<Alt-Shift-1> and C<Alt-Shift-2> switch between two different font
803sizes. C<suxuseuro> allows me to keep an eye (and actually read)
804stuff while keeping a very small window. If somebody pastes something
805complicated (e.g. japanese), I temporarily switch to a larger font.
806
807The above is all in my C<.Xdefaults> (I don't use C<.Xresources> nor
808C<xrdb>). I also have some resources in a separate C<.Xdefaults-hostname>
809file for different hosts, for example, on ym main desktop, I use:
810
811 URxvt.keysym.C-M-q: command:\033[3;5;5t
812 URxvt.keysym.C-M-y: command:\033[3;5;606t
813 URxvt.keysym.C-M-e: command:\033[3;1605;5t
814 URxvt.keysym.C-M-c: command:\033[3;1605;606t
815 URxvt.keysym.C-M-p: perl:test
816
817The first for keysym definitions allow me to quickly bring some windows
818in the layout I like most. Ion users might start laughing but will stop
819immediately when I tell them that I use my own Fvwm2 module for much the
820same effect as Ion provides, and I only very rarely use the above key
821combinations :->
662 822
663=head3 Why doesn't rxvt-unicode read my resources? 823=head3 Why doesn't rxvt-unicode read my resources?
664 824
665Well, why, indeed? It does, in a way very similar to other X 825Well, why, indeed? It does, in a way very similar to other X
666applications. Most importantly, this means that if you or your OS loads 826applications. Most importantly, this means that if you or your OS loads
675Also consider the form resources have to use: 835Also consider the form resources have to use:
676 836
677 URxvt.resource: value 837 URxvt.resource: value
678 838
679If you want to use another form (there are lots of different ways of 839If you want to use another form (there are lots of different ways of
680specifying resources), make sure you understand wether and why it 840specifying resources), make sure you understand whether and why it
681works. If unsure, use the form above. 841works. If unsure, use the form above.
682 842
683=head3 When I log-in to another system it tells me about missing terminfo data? 843=head3 When I log-in to another system it tells me about missing terminfo data?
684 844
685The terminal description used by rxvt-unicode is not as widely available 845The terminal description used by rxvt-unicode is not as widely available
686as that for xterm, or even rxvt (for which the same problem often arises). 846as that for xterm, or even rxvt (for which the same problem often arises).
687 847
688The correct solution for this problem is to install the terminfo, this can 848The correct solution for this problem is to install the terminfo, this can
689be done like this (with ncurses' infocmp): 849be done like this (with ncurses' infocmp and works as user and admin):
690 850
691 REMOTE=remotesystem.domain 851 REMOTE=remotesystem.domain
692 infocmp rxvt-unicode | ssh $REMOTE "cat >/tmp/ti && tic /tmp/ti" 852 infocmp rxvt-unicode | ssh $REMOTE "mkdir -p .terminfo && cat >/tmp/ti && tic /tmp/ti"
693 853
694... or by installing rxvt-unicode normally on the remote system, 854... or by installing rxvt-unicode normally on the remote system,
855
856One some systems you might need to set C<$TERMINFO> to the full path of
857F<$HOME/.terminfo> for this to work.
695 858
696If you cannot or do not want to do this, then you can simply set 859If you cannot or do not want to do this, then you can simply set
697C<TERM=rxvt> or even C<TERM=xterm>, and live with the small number of 860C<TERM=rxvt> or even C<TERM=xterm>, and live with the small number of
698problems arising, which includes wrong keymapping, less and different 861problems arising, which includes wrong keymapping, less and different
699colours and some refresh errors in fullscreen applications. It's a nice 862colours and some refresh errors in fullscreen applications. It's a nice
722One reason you might want this is that some distributions or operating 885One reason you might want this is that some distributions or operating
723systems still compile some programs using the long-obsoleted termcap 886systems still compile some programs using the long-obsoleted termcap
724library (Fedora Core's bash is one example) and rely on a termcap entry 887library (Fedora Core's bash is one example) and rely on a termcap entry
725for C<rxvt-unicode>. 888for C<rxvt-unicode>.
726 889
727You could use rxvt's termcap entry with resonable results in many cases. 890You could use rxvt's termcap entry with reasonable results in many cases.
728You can also create a termcap entry by using terminfo's infocmp program 891You can also create a termcap entry by using terminfo's infocmp program
729like this: 892like this:
730 893
731 infocmp -C rxvt-unicode 894 infocmp -C rxvt-unicode
732 895
754 :vs=\E[?25h: 917 :vs=\E[?25h:
755 918
756=head3 Why does C<ls> no longer have coloured output? 919=head3 Why does C<ls> no longer have coloured output?
757 920
758The C<ls> in the GNU coreutils unfortunately doesn't use terminfo to 921The C<ls> in the GNU coreutils unfortunately doesn't use terminfo to
759decide wether a terminal has colour, but uses it's own configuration 922decide whether a terminal has colour, but uses its own configuration
760file. Needless to say, C<rxvt-unicode> is not in it's default file (among 923file. Needless to say, C<rxvt-unicode> is not in its default file (among
761with most other terminals supporting colour). Either add: 924with most other terminals supporting colour). Either add:
762 925
763 TERM rxvt-unicode 926 TERM rxvt-unicode
764 927
765to C</etc/DIR_COLORS> or simply add: 928to C</etc/DIR_COLORS> or simply add:
799If you encounter strange problems like typing an accented character but 962If you encounter strange problems like typing an accented character but
800getting two unrelated other characters or similar, or if program output is 963getting two unrelated other characters or similar, or if program output is
801subtly garbled, then you should check your locale settings. 964subtly garbled, then you should check your locale settings.
802 965
803Rxvt-unicode must be started with the same C<LC_CTYPE> setting as the 966Rxvt-unicode must be started with the same C<LC_CTYPE> setting as the
804programs. Often rxvt-unicode is started in the C<C> locale, while the 967programs running in it. Often rxvt-unicode is started in the C<C> locale,
805login script running within the rxvt-unicode window changes the locale to 968while the login script running within the rxvt-unicode window changes the
806something else, e.g. C<en_GB.UTF-8>. Needless to say, this is not going to work. 969locale to something else, e.g. C<en_GB.UTF-8>. Needless to say, this is
970not going to work, and is the most common cause for problems.
807 971
808The best thing is to fix your startup environment, as you will likely run 972The best thing is to fix your startup environment, as you will likely run
809into other problems. If nothing works you can try this in your .profile. 973into other problems. If nothing works you can try this in your .profile.
810 974
811 printf '\e]701;%s\007' "$LC_CTYPE" 975 printf '\33]701;%s\007' "$LC_CTYPE" # $LANG or $LC_ALL are worth a try, too
812 976
813If this doesn't work, then maybe you use a C<LC_CTYPE> specification not 977If this doesn't work, then maybe you use a C<LC_CTYPE> specification not
814supported on your systems. Some systems have a C<locale> command which 978supported on your systems. Some systems have a C<locale> command which
815displays this (also, C<perl -e0> can be used to check locale settings, as 979displays this (also, C<perl -e0> can be used to check locale settings, as
816it will complain loudly if it cannot set the locale). If it displays something 980it will complain loudly if it cannot set the locale). If it displays something
837The reasons is that there exists a perfectly fine mechanism for selecting 1001The reasons is that there exists a perfectly fine mechanism for selecting
838the encoding, doing I/O and (most important) communicating this to all 1002the encoding, doing I/O and (most important) communicating this to all
839applications so everybody agrees on character properties such as width 1003applications so everybody agrees on character properties such as width
840and code number. This mechanism is the I<locale>. Applications not using 1004and code number. This mechanism is the I<locale>. Applications not using
841that info will have problems (for example, C<xterm> gets the width of 1005that info will have problems (for example, C<xterm> gets the width of
842characters wrong as it uses it's own, locale-independent table under all 1006characters wrong as it uses its own, locale-independent table under all
843locales). 1007locales).
844 1008
845Rxvt-unicode uses the C<LC_CTYPE> locale category to select encoding. All 1009Rxvt-unicode uses the C<LC_CTYPE> locale category to select encoding. All
846programs doing the same (that is, most) will automatically agree in the 1010programs doing the same (that is, most) will automatically agree in the
847interpretation of characters. 1011interpretation of characters.
866=head3 Can I switch locales at runtime? 1030=head3 Can I switch locales at runtime?
867 1031
868Yes, using an escape sequence. Try something like this, which sets 1032Yes, using an escape sequence. Try something like this, which sets
869rxvt-unicode's idea of C<LC_CTYPE>. 1033rxvt-unicode's idea of C<LC_CTYPE>.
870 1034
871 printf '\e]701;%s\007' ja_JP.SJIS 1035 printf '\33]701;%s\007' ja_JP.SJIS
872 1036
873See also the previous answer. 1037See also the previous answer.
874 1038
875Sometimes this capability is rather handy when you want to work in 1039Sometimes this capability is rather handy when you want to work in
876one locale (e.g. C<de_DE.UTF-8>) but some programs don't support it 1040one locale (e.g. C<de_DE.UTF-8>) but some programs don't support it
877(e.g. UTF-8). For example, I use this script to start C<xjdic>, which 1041(e.g. UTF-8). For example, I use this script to start C<xjdic>, which
878first switches to a locale supported by xjdic and back later: 1042first switches to a locale supported by xjdic and back later:
879 1043
880 printf '\e]701;%s\007' ja_JP.SJIS 1044 printf '\33]701;%s\007' ja_JP.SJIS
881 xjdic -js 1045 xjdic -js
882 printf '\e]701;%s\007' de_DE.UTF-8 1046 printf '\33]701;%s\007' de_DE.UTF-8
883 1047
884You can also use xterm's C<luit> program, which usually works fine, except 1048You can also use xterm's C<luit> program, which usually works fine, except
885for some locales where character width differs between program- and 1049for some locales where character width differs between program- and
886rxvt-unicode-locales. 1050rxvt-unicode-locales.
887 1051
905=item - Make sure your XIM server is actually running. 1069=item - Make sure your XIM server is actually running.
906 1070
907=item - Make sure the C<XMODIFIERS> environment variable is set correctly when I<starting> rxvt-unicode. 1071=item - Make sure the C<XMODIFIERS> environment variable is set correctly when I<starting> rxvt-unicode.
908 1072
909When you want to use e.g. B<kinput2>, it must be set to 1073When you want to use e.g. B<kinput2>, it must be set to
910C<@im=kinput2>. For B<scim>, use C<@im=SCIM>. Youc an see what input 1074C<@im=kinput2>. For B<scim>, use C<@im=SCIM>. You can see what input
911method servers are running with this command: 1075method servers are running with this command:
912 1076
913 xprop -root XIM_SERVERS 1077 xprop -root XIM_SERVERS
914 1078
915=item 1079=item
960 1124
961=head3 I am maintaining rxvt-unicode for distribution/OS XXX, any recommendation? 1125=head3 I am maintaining rxvt-unicode for distribution/OS XXX, any recommendation?
962 1126
963You should build one binary with the default options. F<configure> 1127You should build one binary with the default options. F<configure>
964now enables most useful options, and the trend goes to making them 1128now enables most useful options, and the trend goes to making them
965runtime-switchable, too, so there is usually no drawback to enbaling them, 1129runtime-switchable, too, so there is usually no drawback to enabling them,
966except higher disk and possibly memory usage. The perl interpreter should 1130except higher disk and possibly memory usage. The perl interpreter should
967be enabled, as important functionality (menus, selection, likely more in 1131be enabled, as important functionality (menus, selection, likely more in
968the future) depends on it. 1132the future) depends on it.
969 1133
970You should not overwrite the C<perl-ext-common> snd C<perl-ext> resources 1134You should not overwrite the C<perl-ext-common> snd C<perl-ext> resources
993This forking is done as the very first within main(), which is very early 1157This forking is done as the very first within main(), which is very early
994and reduces possible bugs to initialisation code run before main(), or 1158and reduces possible bugs to initialisation code run before main(), or
995things like the dynamic loader of your system, which should result in very 1159things like the dynamic loader of your system, which should result in very
996little risk. 1160little risk.
997 1161
998=head3 On Solaris 9, many line-drawing characters are too wide.
999
1000Seems to be a known bug, read
1001L<http://nixdoc.net/files/forum/about34198.html>. Some people use the
1002following ugly workaround to get non-double-wide-characters working:
1003
1004 #define wcwidth(x) wcwidth(x) > 1 ? 1 : wcwidth(x)
1005
1006=head3 I am on FreeBSD and rxvt-unicode does not seem to work at all. 1162=head3 I am on FreeBSD and rxvt-unicode does not seem to work at all.
1007 1163
1008Rxvt-unicode requires the symbol C<__STDC_ISO_10646__> to be defined 1164Rxvt-unicode requires the symbol C<__STDC_ISO_10646__> to be defined
1009in your compile environment, or an implementation that implements it, 1165in your compile environment, or an implementation that implements it,
1010wether it defines the symbol or not. C<__STDC_ISO_10646__> requires that 1166whether it defines the symbol or not. C<__STDC_ISO_10646__> requires that
1011B<wchar_t> is represented as unicode. 1167B<wchar_t> is represented as unicode.
1012 1168
1013As you might have guessed, FreeBSD does neither define this symobl nor 1169As you might have guessed, FreeBSD does neither define this symbol nor
1014does it support it. Instead, it uses it's own internal representation of 1170does it support it. Instead, it uses its own internal representation of
1015B<wchar_t>. This is, of course, completely fine with respect to standards. 1171B<wchar_t>. This is, of course, completely fine with respect to standards.
1016 1172
1017However, that means rxvt-unicode only works in C<POSIX>, C<ISO-8859-1> and 1173However, that means rxvt-unicode only works in C<POSIX>, C<ISO-8859-1> and
1018C<UTF-8> locales under FreeBSD (which all use Unicode as B<wchar_t>. 1174C<UTF-8> locales under FreeBSD (which all use Unicode as B<wchar_t>.
1019 1175
1033 1189
1034The rxvt-unicode author insists that the right way to fix this is in the 1190The rxvt-unicode author insists that the right way to fix this is in the
1035system libraries once and for all, instead of forcing every app to carry 1191system libraries once and for all, instead of forcing every app to carry
1036complete replacements for them :) 1192complete replacements for them :)
1037 1193
1038=head3 I use Solaris 9 and it doesn't compile/work/etc.
1039
1040Try the diff in F<doc/solaris9.patch> as a base. It fixes the worst
1041problems with C<wcwidth> and a compile problem.
1042
1043=head3 How can I use rxvt-unicode under cygwin? 1194=head3 How can I use rxvt-unicode under cygwin?
1044 1195
1045rxvt-unicode should compile and run out of the box on cygwin, using 1196rxvt-unicode should compile and run out of the box on cygwin, using
1046the X11 libraries that come with cygwin. libW11 emulation is no 1197the X11 libraries that come with cygwin. libW11 emulation is no
1047longer supported (and makes no sense, either, as it only supported a 1198longer supported (and makes no sense, either, as it only supported a
1050old libW11 emulation. 1201old libW11 emulation.
1051 1202
1052At the time of this writing, cygwin didn't seem to support any multi-byte 1203At the time of this writing, cygwin didn't seem to support any multi-byte
1053encodings (you might try C<LC_CTYPE=C-UTF-8>), so you are likely limited 1204encodings (you might try C<LC_CTYPE=C-UTF-8>), so you are likely limited
1054to 8-bit encodings. 1205to 8-bit encodings.
1206
1207=head3 Character widths are not correct.
1208
1209urxvt uses the system wcwidth function to know the information about
1210the width of characters, so on systems with incorrect locale data you
1211will likely get bad results. Two notorious examples are Solaris 9,
1212where single-width characters like U+2514 are reported as double-width,
1213and Darwin 8, where combining chars are reported having width 1.
1214
1215The solution is to upgrade your system or switch to a better one. A
1216possibly working workaround is to use a wcwidth implementation like
1217
1218http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c
1055 1219
1056=head1 RXVT-UNICODE TECHNICAL REFERENCE 1220=head1 RXVT-UNICODE TECHNICAL REFERENCE
1057 1221
1058The rest of this document describes various technical aspects of 1222The rest of this document describes various technical aspects of
1059B<rxvt-unicode>. First the description of supported command sequences, 1223B<rxvt-unicode>. First the description of supported command sequences,
1553 1717
1554Toggle DEC Private Mode Values (rxvt extension). I<where> 1718Toggle DEC Private Mode Values (rxvt extension). I<where>
1555 1719
1556=over 4 1720=over 4
1557 1721
1558=item B<< C<Ps = 1> >> (DECCKM) 1722=item B<< C<Pm = 1> >> (DECCKM)
1559 1723
1560=begin table 1724=begin table
1561 1725
1562 B<< C<h> >> Application Cursor Keys 1726 B<< C<h> >> Application Cursor Keys
1563 B<< C<l> >> Normal Cursor Keys 1727 B<< C<l> >> Normal Cursor Keys
1564 1728
1565=end table 1729=end table
1566 1730
1567=item B<< C<Ps = 2> >> (ANSI/VT52 mode) 1731=item B<< C<Pm = 2> >> (ANSI/VT52 mode)
1568 1732
1569=begin table 1733=begin table
1570 1734
1571 B<< C<h> >> Enter VT52 mode 1735 B<< C<h> >> Enter VT52 mode
1572 B<< C<l> >> Enter VT52 mode 1736 B<< C<l> >> Enter VT52 mode
1573 1737
1574=end table 1738=end table
1575 1739
1576=item B<< C<Ps = 3> >> 1740=item B<< C<Pm = 3> >>
1577 1741
1578=begin table 1742=begin table
1579 1743
1580 B<< C<h> >> 132 Column Mode (DECCOLM) 1744 B<< C<h> >> 132 Column Mode (DECCOLM)
1581 B<< C<l> >> 80 Column Mode (DECCOLM) 1745 B<< C<l> >> 80 Column Mode (DECCOLM)
1582 1746
1583=end table 1747=end table
1584 1748
1585=item B<< C<Ps = 4> >> 1749=item B<< C<Pm = 4> >>
1586 1750
1587=begin table 1751=begin table
1588 1752
1589 B<< C<h> >> Smooth (Slow) Scroll (DECSCLM) 1753 B<< C<h> >> Smooth (Slow) Scroll (DECSCLM)
1590 B<< C<l> >> Jump (Fast) Scroll (DECSCLM) 1754 B<< C<l> >> Jump (Fast) Scroll (DECSCLM)
1591 1755
1592=end table 1756=end table
1593 1757
1594=item B<< C<Ps = 5> >> 1758=item B<< C<Pm = 5> >>
1595 1759
1596=begin table 1760=begin table
1597 1761
1598 B<< C<h> >> Reverse Video (DECSCNM) 1762 B<< C<h> >> Reverse Video (DECSCNM)
1599 B<< C<l> >> Normal Video (DECSCNM) 1763 B<< C<l> >> Normal Video (DECSCNM)
1600 1764
1601=end table 1765=end table
1602 1766
1603=item B<< C<Ps = 6> >> 1767=item B<< C<Pm = 6> >>
1604 1768
1605=begin table 1769=begin table
1606 1770
1607 B<< C<h> >> Origin Mode (DECOM) 1771 B<< C<h> >> Origin Mode (DECOM)
1608 B<< C<l> >> Normal Cursor Mode (DECOM) 1772 B<< C<l> >> Normal Cursor Mode (DECOM)
1609 1773
1610=end table 1774=end table
1611 1775
1612=item B<< C<Ps = 7> >> 1776=item B<< C<Pm = 7> >>
1613 1777
1614=begin table 1778=begin table
1615 1779
1616 B<< C<h> >> Wraparound Mode (DECAWM) 1780 B<< C<h> >> Wraparound Mode (DECAWM)
1617 B<< C<l> >> No Wraparound Mode (DECAWM) 1781 B<< C<l> >> No Wraparound Mode (DECAWM)
1618 1782
1619=end table 1783=end table
1620 1784
1621=item B<< C<Ps = 8> >> I<unimplemented> 1785=item B<< C<Pm = 8> >> I<unimplemented>
1622 1786
1623=begin table 1787=begin table
1624 1788
1625 B<< C<h> >> Auto-repeat Keys (DECARM) 1789 B<< C<h> >> Auto-repeat Keys (DECARM)
1626 B<< C<l> >> No Auto-repeat Keys (DECARM) 1790 B<< C<l> >> No Auto-repeat Keys (DECARM)
1627 1791
1628=end table 1792=end table
1629 1793
1630=item B<< C<Ps = 9> >> X10 XTerm 1794=item B<< C<Pm = 9> >> X10 XTerm
1631 1795
1632=begin table 1796=begin table
1633 1797
1634 B<< C<h> >> Send Mouse X & Y on button press. 1798 B<< C<h> >> Send Mouse X & Y on button press.
1635 B<< C<l> >> No mouse reporting. 1799 B<< C<l> >> No mouse reporting.
1636 1800
1637=end table 1801=end table
1638 1802
1639=item B<< C<Ps = 25> >> 1803=item B<< C<Pm = 25> >>
1640 1804
1641=begin table 1805=begin table
1642 1806
1643 B<< C<h> >> Visible cursor {cnorm/cvvis} 1807 B<< C<h> >> Visible cursor {cnorm/cvvis}
1644 B<< C<l> >> Invisible cursor {civis} 1808 B<< C<l> >> Invisible cursor {civis}
1645 1809
1646=end table 1810=end table
1647 1811
1648=item B<< C<Ps = 30> >> 1812=item B<< C<Pm = 30> >>
1649 1813
1650=begin table 1814=begin table
1651 1815
1652 B<< C<h> >> scrollBar visisble 1816 B<< C<h> >> scrollBar visisble
1653 B<< C<l> >> scrollBar invisisble 1817 B<< C<l> >> scrollBar invisisble
1654 1818
1655=end table 1819=end table
1656 1820
1657=item B<< C<Ps = 35> >> (B<rxvt>) 1821=item B<< C<Pm = 35> >> (B<rxvt>)
1658 1822
1659=begin table 1823=begin table
1660 1824
1661 B<< C<h> >> Allow XTerm Shift+key sequences 1825 B<< C<h> >> Allow XTerm Shift+key sequences
1662 B<< C<l> >> Disallow XTerm Shift+key sequences 1826 B<< C<l> >> Disallow XTerm Shift+key sequences
1663 1827
1664=end table 1828=end table
1665 1829
1666=item B<< C<Ps = 38> >> I<unimplemented> 1830=item B<< C<Pm = 38> >> I<unimplemented>
1667 1831
1668Enter Tektronix Mode (DECTEK) 1832Enter Tektronix Mode (DECTEK)
1669 1833
1670=item B<< C<Ps = 40> >> 1834=item B<< C<Pm = 40> >>
1671 1835
1672=begin table 1836=begin table
1673 1837
1674 B<< C<h> >> Allow 80/132 Mode 1838 B<< C<h> >> Allow 80/132 Mode
1675 B<< C<l> >> Disallow 80/132 Mode 1839 B<< C<l> >> Disallow 80/132 Mode
1676 1840
1677=end table 1841=end table
1678 1842
1679=item B<< C<Ps = 44> >> I<unimplemented> 1843=item B<< C<Pm = 44> >> I<unimplemented>
1680 1844
1681=begin table 1845=begin table
1682 1846
1683 B<< C<h> >> Turn On Margin Bell 1847 B<< C<h> >> Turn On Margin Bell
1684 B<< C<l> >> Turn Off Margin Bell 1848 B<< C<l> >> Turn Off Margin Bell
1685 1849
1686=end table 1850=end table
1687 1851
1688=item B<< C<Ps = 45> >> I<unimplemented> 1852=item B<< C<Pm = 45> >> I<unimplemented>
1689 1853
1690=begin table 1854=begin table
1691 1855
1692 B<< C<h> >> Reverse-wraparound Mode 1856 B<< C<h> >> Reverse-wraparound Mode
1693 B<< C<l> >> No Reverse-wraparound Mode 1857 B<< C<l> >> No Reverse-wraparound Mode
1694 1858
1695=end table 1859=end table
1696 1860
1697=item B<< C<Ps = 46> >> I<unimplemented> 1861=item B<< C<Pm = 46> >> I<unimplemented>
1698 1862
1699=item B<< C<Ps = 47> >> 1863=item B<< C<Pm = 47> >>
1700 1864
1701=begin table 1865=begin table
1702 1866
1703 B<< C<h> >> Use Alternate Screen Buffer 1867 B<< C<h> >> Use Alternate Screen Buffer
1704 B<< C<l> >> Use Normal Screen Buffer 1868 B<< C<l> >> Use Normal Screen Buffer
1705 1869
1706=end table 1870=end table
1707 1871
1708X<Priv66> 1872X<Priv66>
1709 1873
1710=item B<< C<Ps = 66> >> 1874=item B<< C<Pm = 66> >>
1711 1875
1712=begin table 1876=begin table
1713 1877
1714 B<< C<h> >> Application Keypad (DECPAM) == C<ESC => 1878 B<< C<h> >> Application Keypad (DECPAM) == C<ESC =>
1715 B<< C<l> >> Normal Keypad (DECPNM) == C<< ESC > >> 1879 B<< C<l> >> Normal Keypad (DECPNM) == C<< ESC > >>
1716 1880
1717=end table 1881=end table
1718 1882
1719=item B<< C<Ps = 67> >> 1883=item B<< C<Pm = 67> >>
1720 1884
1721=begin table 1885=begin table
1722 1886
1723 B<< C<h> >> Backspace key sends B<< C<BS> (DECBKM) >> 1887 B<< C<h> >> Backspace key sends B<< C<BS> (DECBKM) >>
1724 B<< C<l> >> Backspace key sends B<< C<DEL> >> 1888 B<< C<l> >> Backspace key sends B<< C<DEL> >>
1725 1889
1726=end table 1890=end table
1727 1891
1728=item B<< C<Ps = 1000> >> (X11 XTerm) 1892=item B<< C<Pm = 1000> >> (X11 XTerm)
1729 1893
1730=begin table 1894=begin table
1731 1895
1732 B<< C<h> >> Send Mouse X & Y on button press and release. 1896 B<< C<h> >> Send Mouse X & Y on button press and release.
1733 B<< C<l> >> No mouse reporting. 1897 B<< C<l> >> No mouse reporting.
1734 1898
1735=end table 1899=end table
1736 1900
1737=item B<< C<Ps = 1001> >> (X11 XTerm) I<unimplemented> 1901=item B<< C<Pm = 1001> >> (X11 XTerm) I<unimplemented>
1738 1902
1739=begin table 1903=begin table
1740 1904
1741 B<< C<h> >> Use Hilite Mouse Tracking. 1905 B<< C<h> >> Use Hilite Mouse Tracking.
1742 B<< C<l> >> No mouse reporting. 1906 B<< C<l> >> No mouse reporting.
1743 1907
1744=end table 1908=end table
1745 1909
1746=item B<< C<Ps = 1010> >> (B<rxvt>) 1910=item B<< C<Pm = 1010> >> (B<rxvt>)
1747 1911
1748=begin table 1912=begin table
1749 1913
1750 B<< C<h> >> Don't scroll to bottom on TTY output 1914 B<< C<h> >> Don't scroll to bottom on TTY output
1751 B<< C<l> >> Scroll to bottom on TTY output 1915 B<< C<l> >> Scroll to bottom on TTY output
1752 1916
1753=end table 1917=end table
1754 1918
1755=item B<< C<Ps = 1011> >> (B<rxvt>) 1919=item B<< C<Pm = 1011> >> (B<rxvt>)
1756 1920
1757=begin table 1921=begin table
1758 1922
1759 B<< C<h> >> Scroll to bottom when a key is pressed 1923 B<< C<h> >> Scroll to bottom when a key is pressed
1760 B<< C<l> >> Don't scroll to bottom when a key is pressed 1924 B<< C<l> >> Don't scroll to bottom when a key is pressed
1761 1925
1762=end table 1926=end table
1763 1927
1764=item B<< C<Ps = 1021> >> (B<rxvt>) 1928=item B<< C<Pm = 1021> >> (B<rxvt>)
1765 1929
1766=begin table 1930=begin table
1767 1931
1768 B<< C<h> >> Bold/italic implies high intensity (see option B<-is>) 1932 B<< C<h> >> Bold/italic implies high intensity (see option B<-is>)
1769 B<< C<l> >> Font styles have no effect on intensity (Compile styles) 1933 B<< C<l> >> Font styles have no effect on intensity (Compile styles)
1770 1934
1771=end table 1935=end table
1772 1936
1773=item B<< C<Ps = 1047> >> 1937=item B<< C<Pm = 1047> >>
1774 1938
1775=begin table 1939=begin table
1776 1940
1777 B<< C<h> >> Use Alternate Screen Buffer 1941 B<< C<h> >> Use Alternate Screen Buffer
1778 B<< C<l> >> Use Normal Screen Buffer - clear Alternate Screen Buffer if returning from it 1942 B<< C<l> >> Use Normal Screen Buffer - clear Alternate Screen Buffer if returning from it
1779 1943
1780=end table 1944=end table
1781 1945
1782=item B<< C<Ps = 1048> >> 1946=item B<< C<Pm = 1048> >>
1783 1947
1784=begin table 1948=begin table
1785 1949
1786 B<< C<h> >> Save cursor position 1950 B<< C<h> >> Save cursor position
1787 B<< C<l> >> Restore cursor position 1951 B<< C<l> >> Restore cursor position
1788 1952
1789=end table 1953=end table
1790 1954
1791=item B<< C<Ps = 1049> >> 1955=item B<< C<Pm = 1049> >>
1792 1956
1793=begin table 1957=begin table
1794 1958
1795 B<< C<h> >> Use Alternate Screen Buffer - clear Alternate Screen Buffer if switching to it 1959 B<< C<h> >> Use Alternate Screen Buffer - clear Alternate Screen Buffer if switching to it
1796 B<< C<l> >> Use Normal Screen Buffer 1960 B<< C<l> >> Use Normal Screen Buffer
2043 2207
2044=head1 CONFIGURE OPTIONS 2208=head1 CONFIGURE OPTIONS
2045 2209
2046General hint: if you get compile errors, then likely your configuration 2210General hint: if you get compile errors, then likely your configuration
2047hasn't been tested well. Either try with C<--enable-everything> or use 2211hasn't been tested well. Either try with C<--enable-everything> or use
2048the F<./reconf> script as a base for experiments. F<./reconf> is used by 2212the default configuration (i.e. no C<--enable-xxx> or C<--disable-xxx>
2049myself, so it should generally be a working config. Of course, you should 2213switches). Of course, you should always report when a combination doesn't
2050always report when a combination doesn't work, so it can be fixed. Marc 2214work, so it can be fixed. Marc Lehmann <rxvt@schmorp.de>.
2051Lehmann <rxvt@schmorp.de>.
2052 2215
2053All 2216All
2054 2217
2055=over 4 2218=over 4
2056 2219
2088 2251
2089=begin table 2252=begin table
2090 2253
2091 all all available codeset groups 2254 all all available codeset groups
2092 zh common chinese encodings 2255 zh common chinese encodings
2093 zh_ext rarely used but very big chinese encodigs 2256 zh_ext rarely used but very big chinese encodings
2094 jp common japanese encodings 2257 jp common japanese encodings
2095 jp_ext rarely used but big japanese encodings 2258 jp_ext rarely used but big japanese encodings
2096 kr korean encodings 2259 kr korean encodings
2097 2260
2098=end table 2261=end table
2112requirements per character from 2 to 4 bytes. X11 fonts do not yet 2275requirements per character from 2 to 4 bytes. X11 fonts do not yet
2113support these extra characters, but Xft does. 2276support these extra characters, but Xft does.
2114 2277
2115Please note that rxvt-unicode can store unicode code points >65535 2278Please note that rxvt-unicode can store unicode code points >65535
2116even without this flag, but the number of such characters is 2279even without this flag, but the number of such characters is
2117limited to a view thousand (shared with combining characters, 2280limited to a few thousand (shared with combining characters,
2118see next switch), and right now rxvt-unicode cannot display them 2281see next switch), and right now rxvt-unicode cannot display them
2119(input/output and cut&paste still work, though). 2282(input/output and cut&paste still work, though).
2120 2283
2121=item --enable-combining (default: on) 2284=item --enable-combining (default: on)
2122 2285
2168 2331
2169Write user and tty to lastlog file (used by programs like 2332Write user and tty to lastlog file (used by programs like
2170F<lastlogin>) at start of rxvt execution. This option requires 2333F<lastlogin>) at start of rxvt execution. This option requires
2171--enable-utmp to also be specified. 2334--enable-utmp to also be specified.
2172 2335
2173=item --enable-xpm-background (default: on) 2336=item --enable-afterimage (default: on)
2174 2337
2175Add support for XPM background pixmaps. 2338Add support for libAfterImage to be used for transparency and background
2339images. It adds support for many file formats including JPG, PNG,
2340SVG, TIFF, GIF, XPM, BMP, ICO, XCF, TGA and AfterStep image XML
2341(L<http://www.afterstep.org/visualdoc.php?show=asimagexml>).
2342
2343This option also adds such eye candy as blending an image over the root
2344background, as well as dynamic scaling and bluring of background images.
2345
2346Note that with this option enabled, @@RXVT_NAME@@'s memory footprint might
2347increase by a few megabytes even if no extra features are used (mostly due
2348to third-party libraries used by libAI). Memory footprint may somewhat be
2349lowered if libAfterImage is configured without support for SVG.
2176 2350
2177=item --enable-transparency (default: on) 2351=item --enable-transparency (default: on)
2178 2352
2179Add support for inheriting parent backgrounds thus giving a fake 2353Add support for inheriting parent backgrounds thus giving a fake
2180transparency to the term. 2354transparency to the term.
2181 2355
2182=item --enable-fading (default: on) 2356=item --enable-fading (default: on)
2183 2357
2184Add support for fading the text when focus is lost (requires C<--enable-transparency>). 2358Add support for fading the text when focus is lost.
2185
2186=item --enable-tinting (default: on)
2187
2188Add support for tinting of transparent backgrounds (requires C<--enable-transparency>).
2189 2359
2190=item --enable-rxvt-scroll (default: on) 2360=item --enable-rxvt-scroll (default: on)
2191 2361
2192Add support for the original rxvt scrollbar. 2362Add support for the original rxvt scrollbar.
2193 2363
2236A non-exhaustive list of features enabled by C<--enable-frills> (possibly 2406A non-exhaustive list of features enabled by C<--enable-frills> (possibly
2237in combination with other switches) is: 2407in combination with other switches) is:
2238 2408
2239 MWM-hints 2409 MWM-hints
2240 EWMH-hints (pid, utf8 names) and protocols (ping) 2410 EWMH-hints (pid, utf8 names) and protocols (ping)
2411 urgency hint
2241 seperate underline colour (-underlineColor) 2412 seperate underline colour (-underlineColor)
2242 settable border widths and borderless switch (-w, -b, -bl) 2413 settable border widths and borderless switch (-w, -b, -bl)
2243 visual depth selection (-depth) 2414 visual depth selection (-depth)
2244 settable extra linespacing /-lsp) 2415 settable extra linespacing /-lsp)
2245 iso-14755-2 and -3, and visual feedback 2416 iso-14755 5.1 (basic) support
2246 tripleclickwords (-tcw) 2417 tripleclickwords (-tcw)
2247 settable insecure mode (-insecure) 2418 settable insecure mode (-insecure)
2248 keysym remapping support 2419 keysym remapping support
2249 cursor blinking and underline cursor (-cb, -uc) 2420 cursor blinking and underline cursor (-cb, -uc)
2250 XEmbed support (-embed) 2421 XEmbed support (-embed)
2251 user-pty (-pty-fd) 2422 user-pty (-pty-fd)
2252 hold on exit (-hold) 2423 hold on exit (-hold)
2253 skip builtin block graphics (-sbg) 2424 skip builtin block graphics (-sbg)
2425 separate highlightcolor support (-hc)
2254 2426
2255It also enabled some non-essential features otherwise disabled, such as: 2427It also enables some non-essential features otherwise disabled, such as:
2256 2428
2257 some round-trip time optimisations 2429 some round-trip time optimisations
2258 nearest color allocation on pseudocolor screens 2430 nearest color allocation on pseudocolor screens
2259 UTF8_STRING supporr for selection 2431 UTF8_STRING support for selection
2260 sgr modes 90..97 and 100..107 2432 sgr modes 90..97 and 100..107
2261 backindex and forwardindex escape sequences 2433 backindex and forwardindex escape sequences
2262 view change/zero scorllback esacpe sequences 2434 view change/zero scrollback escape sequences
2263 locale switching escape sequence 2435 locale switching escape sequence
2264 window op and some xterm/OSC escape sequences 2436 window op and some xterm/OSC escape sequences
2265 rectangular selections 2437 rectangular selections
2266 trailing space removal for selections 2438 trailing space removal for selections
2267 verbose X error handling 2439 verbose X error handling
2276=item --enable-keepscrolling (default: on) 2448=item --enable-keepscrolling (default: on)
2277 2449
2278Add support for continual scrolling of the display when you hold 2450Add support for continual scrolling of the display when you hold
2279the mouse button down on a scrollbar arrow. 2451the mouse button down on a scrollbar arrow.
2280 2452
2453=item --enable-selectionscrolling (default: on)
2454
2455Add support for scrolling when the selection moves to the top or
2456bottom of the screen.
2457
2281=item --enable-mousewheel (default: on) 2458=item --enable-mousewheel (default: on)
2282 2459
2283Add support for scrolling via mouse wheel or buttons 4 & 5. 2460Add support for scrolling via mouse wheel or buttons 4 & 5.
2284 2461
2285=item --enable-slipwheeling (default: on) 2462=item --enable-slipwheeling (default: on)
2286 2463
2287Add support for continual scrolling (using the mouse wheel as an 2464Add support for continual scrolling (using the mouse wheel as an
2288accelerator) while the control key is held down. This option 2465accelerator) while the control key is held down. This option
2289requires --enable-mousewheel to also be specified. 2466requires --enable-mousewheel to also be specified.
2290 2467
2291=item --disable-new-selection
2292
2293Remove support for mouse selection style like that of xterm.
2294
2295=item --enable-dmalloc (default: off)
2296
2297Use Gray Watson's malloc - which is good for debugging See
2298L<http://www.letters.com/dmalloc/> for details If you use either this or the
2299next option, you may need to edit src/Makefile after compiling to point
2300DINCLUDE and DLIB to the right places.
2301
2302You can only use either this option and the following (should
2303you use either) .
2304
2305=item --enable-dlmalloc (default: off)
2306
2307Use Doug Lea's malloc - which is good for a production version
2308See L<http://g.oswego.edu/dl/html/malloc.html> for details.
2309
2310=item --enable-smart-resize (default: on) 2468=item --enable-smart-resize (default: off)
2311 2469
2312Add smart growth/shrink behaviour when changing font size via hot 2470Add smart growth/shrink behaviour when resizing.
2313keys. This should keep the window corner which is closest to a corner of 2471This should keep the window corner which is closest to a corner of
2314the screen in a fixed position. 2472the screen in a fixed position.
2315 2473
2316=item --enable-pointer-blank (default: on) 2474=item --enable-pointer-blank (default: on)
2317 2475
2318Add support to have the pointer disappear when typing or inactive. 2476Add support to have the pointer disappear when typing or inactive.
2319 2477
2320=item --enable-perl (default: on) 2478=item --enable-perl (default: on)
2321 2479
2322Enable an embedded perl interpreter. See the B<@@RXVT_NAME@@perl(3)> 2480Enable an embedded perl interpreter. See the B<@@RXVT_NAME@@perl(3)>
2323manpage (F<doc/rxvtperl.txt>) for more info on this feature, or the files 2481manpage (F<doc/rxvtperl.txt>) for more info on this feature, or the
2324in F<src/perl-ext/> for the extensions that are installed by default. The 2482files in F<src/perl-ext/> for the extensions that are installed by
2325perl interpreter that is used can be specified via the C<PERL> environment 2483default. The perl interpreter that is used can be specified via the
2326variable when running configure. 2484C<PERL> environment variable when running configure. Even when compiled
2485in, perl will I<not> be initialised when all extensions have been disabled
2486C<-pe "" --perl-ext-common "">, so it should be safe to enable from a
2487resource standpoint.
2488
2489=item --with-afterimage-config=DIR
2490
2491Look for the libAfterImage config script in DIR.
2327 2492
2328=item --with-name=NAME (default: urxvt) 2493=item --with-name=NAME (default: urxvt)
2329 2494
2330Set the basename for the installed binaries, resulting 2495Set the basename for the installed binaries, resulting
2331in C<urxvt>, C<urxvtd> etc.). Specify C<--with-name=rxvt> to replace with 2496in C<urxvt>, C<urxvtd> etc.). Specify C<--with-name=rxvt> to replace with
2341PATH. 2506PATH.
2342 2507
2343=item --with-x 2508=item --with-x
2344 2509
2345Use the X Window System (pretty much default, eh?). 2510Use the X Window System (pretty much default, eh?).
2346
2347=item --with-xpm-includes=DIR
2348
2349Look for the XPM includes in DIR.
2350
2351=item --with-xpm-library=DIR
2352
2353Look for the XPM library in DIR.
2354
2355=item --with-xpm
2356
2357Not needed - define via --enable-xpm-background.
2358 2511
2359=back 2512=back
2360 2513
2361=head1 AUTHORS 2514=head1 AUTHORS
2362 2515

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines