--- rxvt-unicode/doc/rxvt.7.pod 2004/08/12 21:30:14 1.2 +++ rxvt-unicode/doc/rxvt.7.pod 2004/11/08 22:16:51 1.27 @@ -1,3 +1,600 @@ +=head1 NAME + +RXVT REFERENCE - FAQ, command sequences and other background information + +=head1 FREQUENTLY ASKED QUESTIONS + +=over 4 + +=item How do I know which rxvt-unicode version I'm using? + +The version number is displayed with the usage (-h). Also the escape +sequence C sets the window title to the version number. + +=item When I log-in to another system it tells me about missing terminfo data? + +The terminal description used by rxvt-unicode is not as widely available +as that for xterm, or even rxvt (for which the same problem often arises). + +The correct solution for this problem is to install the terminfo, this can +be done like this (with ncurses' infocmp): + + REMOTE=remotesystem.domain + infocmp rxvt-unicode | ssh $REMOTE "cat >/tmp/ti && tic /tmp/ti" + +... or by installing rxvt-unicode normally on the remote system, + +If you cannot or do not want to do this, then you can simply set +C or even C, and live with the small number of +problems arising, which includes wrong keymapping, less and different +colours and some refresh errors in fullscreen applications. It's a nice +quick-and-dirty workaround for rare cases, though. + +If you always want to do this you can either recompile rxvt-unicode with +the desired TERM value or use a resource to set it: + + URxvt.termName: rxvt + +If you don't plan to use B (quite common...) you could also replace +the rxvt terminfo file with the rxvt-unicode one. + +=item I need a termcap file entry. + +You could use rxvt's termcap entry with resonable results in many cases. +You can also create a termcap entry by using terminfo's infocmp program +like this: + + infocmp -C rxvt-unicode + +OR you could this termcap entry: + + rxvt-unicode|rxvt-unicode terminal (X Window System):\ + :am:bw:eo:km:mi:ms:xn:xo:\ + :co#80:it#8:li#24:\ + :AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:\ + :K1=\EOw:K2=\EOu:K3=\EOy:K4=\EOq:K5=\EOs:LE=\E[%dD:\ + :RI=\E[%dC:SF=\E[%dS:SR=\E[%dT:UP=\E[%dA:ae=^O:al=\E[L:\ + :as=^N:bl=^G:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:\ + :cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:\ + :ec=\E[%dX:ei=\E[4l:ho=\E[H:i1=\E[?47l\E=\E[?1l:ic=\E[@:\ + :im=\E[4h:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l:\ + :k0=\E[21~:k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~:\ + :k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:\ + :kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kb=\177:kd=\EOB:\ + :ke=\E[?1l\E>:kh=\E[7~:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:\ + :ku=\EOA:le=^H:mb=\E[5m:md=\E[1m:me=\E[m\017:mr=\E[7m:\ + :nd=\E[C:rc=\E8:sc=\E7:se=\E[27m:sf=^J:so=\E[7m:sr=\EM:\ + :st=\EH:ta=^I:te=\E[r\E[?1049l:ti=\E[?1049h:ue=\E[24m:\ + :up=\E[A:us=\E[4m:vb=\E[?5h\E[?5l:ve=\E[?25h:vi=\E[?25l:\ + :vs=\E[?25h: + +=item How can I configure rxvt-unicode so that it looks similar to the original rxvt? + +Felix von Leitner says that these two lines, in your F<.Xdefaults>, will make rxvt-unicode +behave similar to the original rxvt: + + URxvt.font: -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1 + URxvt.boldFont: -misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-1 + +=item Rxvt-unicode does not seem to understand the selected encoding? + +=item Unicode does not seem to work? + +If you encounter strange problems like typing an accented character but +getting two unrelated other characters or similar, or if program output is +subtly garbled, then you should check your locale settings. + +Rxvt-unicode must be started with the same C setting as the +programs. Often rxvt-unicode is started in the C locale, while the +login script running within the rxvt-unicode window changes the locale to +sth. else, e.h. C. Needless to say, this is not going to work. + +The best thing is to fix your startup environment, as you will likely run +into other problems. If nothing works you can try this in your .profile. + + printf '\e]701;%s\007' "$LC_CTYPE" + +If this doesn't work, then maybe you use a C specification not +supported on your systems. Some systems have a C command which +displays this. If it displays sth. like: + + locale: Cannot set LC_CTYPE to default locale: ... + +Then the locale you specified is not supported on your system. + +If nothing works and you are sure that everything is set correctly then +you will need to remember a little known fact: Some programs just don't +support locales :( + +=item Why do some characters look so much different than others? + +=item How does rxvt-unicode choose fonts? + +Most fonts do not contain the full range of Unicode, which is +fine. Chances are that the font you (or the admin/package maintainer of +your system/os) have specified does not cover all the characters you want +to display. + +B makes a best-effort try at finding a replacement +font. Often the result is fine, but sometimes the chosen font looks +bad. Many fonts have totally strange characters that don't resemble the +correct glyph at all, and rxvt-unicode lacks the artificial intelligence +to detect that a specific glyph is wrong: it has to believe the font that +the characters it contains indeed look correct. + +In that case, select a font of your taste and add it to the font list, +e.g.: + + @@RXVT_NAME@@ -fn basefont,font2,font3... + +When rxvt-unicode sees a character, it will first look at the base +font. If the base font does not contain the character, it will go to the +next font, and so on. Specifying your own fonts will also speed up this +search and use less resources within rxvt-unicode and the X-server. + +The only limitation is that all the fonts must not be larger than the base +font, as the base font defines the principal cell size, which must be the +same due to the way terminals work. + +=item Why do some chinese characters look so different than others? + +This is because there is a difference between script and language -- +rxvt-unicode does not know which language the text that is output +is, as it only knows the unicode character codes. If rxvt-unicode +first sees a japanese character, it might choose a japanese font for +it. Subsequent japanese characters will take that font. Now, many chinese +characters aren't represented in japanese fonts, so when the first +non-japanese character comes up, rxvt-unicode will look for a chinese font +-- unfortunately at this point, it will still use the japanese font for +japanese characters that are also chinese. + +The workaround is easy: just tag a chinese font at the end of your font +list (see the previous question). The key is to view the font list as +a preference list: If you expect more japanese, list a japanese font +first. If you expect more chinese, put a chinese font first. + +In the future it might be possible to switch preferences at runtime (the +internal data structure has no problem with using different fonts for +the same character at the same time, but no interface for this has been +designed yet). + +=item Why does rxvt-unicode sometimes leave pixel droppings? + +Most fonts were not designed for terminal use, which means that character +size varies a lot. A font that is otherwise fine for terminal use might +contain some characters that are simply too wide. Rxvt-unicode will avoid +these characters. For characters that are just "a bit" too wide a special +"careful" rendering mode is used that redraws adjacent characters. + +All of this requires that fonts do not lie about character sizes, +however: Xft fonts often draw glyphs larger than their acclaimed bounding +box, and rxvt-unicode has no way of detecting this (the correct way is to +ask for the character bounding box, which unfortunately is wrong in these +cases). + +It's not clear (to me at least), wether this is a bug in Xft, freetype, or +the respective font. If you encounter this problem there is no way to work +around this except by using a different font. + +All of this is not a problem when using X11 core fonts, as their bounding +box data is correct. + +=item My Compose (Multi_key) key is no longer working. + +The most common causes for this are that either your locale is not set +correctly, or you specified a B that is not supported by +your input method. For example, if you specified B and +your input method (e.g. the default input method handling Compose keys) +does not support this (for instance because it is not visual), then +rxvt-unicode will continue without an input method. + +In this case either do not specify a B or specify more than +one pre-edit style, such as B. + +=item How can I keep rxvt-unicode from using reverse video so much? + +First of all, make sure you are running with the right terminfo +(C), which will get rid of most of these effects. Then make sure +you have specified colours for italic and bold, as otherwise rxvt-unicode +might use reverse video to simulate the effect: + + URxvt*colorBD: white + URxvt*colorIT: green + +=item Some programs assume totally weird colours (red instead of blue), how can I fix that? + +For some unexplainable reason, some programs (i.e. irssi) assume a very +weird colour palette when confronted with a terminal with more than the +standard 8 colours (rxvt-unicode supports 88). The right fix is, of +course, to fix these programs not to assume non-ISO colours without very +good reasons. + +In the meantime, you can either edit your C terminfo definition to +only claim 8 colour support or use C, which will fix colours +but keep you from using other rxvt-unicode features. + +=item I am on FreeBSD and rxvt-unicode does not seem to work at all. + +Rxvt-unicode requires the symbol C<__STDC_ISO_10646__> to be defined +in your compile environment, or an implementation that implements it, +wether it defines the symbol or not. C<__STDC_ISO_10646__> requires that +B is represented as unicode. + +As you might have guessed, FreeBSD does neither define this symobl nor +does it support it. Instead, it uses it's own internal representation of +B. This is, of course, completely legal. + +However, C<__STDC_ISO_10646__> is the only sane way to support +multi-language apps in an OS, as using a locale-dependent (and +non-standardized) representation of B makes it impossible to +convert between B (as used by X11 and your applications) and any +other encoding without implementing OS-specific-wrappers for each and +every locale. There simply are no APIs to convert B into anything +except the current locale encoding. + +Some applications (such as the formidable B) work around this +by carrying their own replacement functions for character set handling +with them, and either implementing OS-dependent hacks or doing multiple +conversions (which is slow and unreliable in case the OS implements +encodings slightly different than the terminal emulator). + +The rxvt-unicode author insists that the right way to fix this is in the +system libraries once and for all, instead of forcing every app to carry +complete replacements. + +=item How does rxvt-unicode determine the encoding to use? + +=item Is there an option to switch encodings? + +Unlike some other terminals, rxvt-unicode has no encoding switch, and no +specific "utf-8" mode, such as xterm. In fact, it doesn't even know about +UTF-8 or any other encodings with respect to terminal I/O. + +The reasons is that there exists a perfectly fine mechanism for selecting +the encoding, doing I/O and (most important) communicating this to all +applications so everybody agrees on character properties such as width and +code number. This mechanism is the I. + +Rxvt-unicode uses the C locale category to select encoding. All +programs doing the same (that is, most) will automatically agree in the +interpretation of characters. + +Unfortunately, there is no system-independent way to select locales, nor +is there a standard on how locale specifiers will look like. + +On most systems, the content of the C environment variable +contains an arbitrary string which corresponds to an already-installed +locale. Common names for locales are C, C, +C, i.e. C, but other forms +(i.e. C or C) are also common. + +Rxvt-unicode ignores all other locale categories, and except for +the encoding, ignores country or language-specific settings, +i.e. C and C are the same for rxvt-unicode. + +If you want to use a specific encoding you have to make sure you start +rxvt-unicode with the correct C category. + +=item Can I switch locales at runtime? + +Yes, using an escape sequence. Try sth. like this, which sets +rxvt-unicode's idea of C. + + printf '\e]701;%s\007' ja_JP.SJIS + +See also the previous question. + +Sometimes this capability is rather handy when you want to work in one +locale (e.g. C) but some programs don't support UTF-8. For +example, I use this script to start C, which first switches to a +locale supported by xjdic and back later: + + printf '\e]701;%s\007' ja_JP.SJIS + xjdic -js + printf '\e]701;%s\007' de_DE.UTF-8 + +=item Can I switch the fonts at runtime? + +Yes, using an escape sequence. Try sth. like this, which has the same +effect as using the C<-fn> switch, and takes effect immediately: + + printf '\e]50;%s\007' "9x15bold,xft:Kochi Gothic" + +This is useful if you e.g. work primarily with japanese (and prefer a +japanese font), but you have to switch to chinese temporarily, where +japanese fonts would only be in your way. + +You can think of this as a kind of manual ISO-2022 switching. + +=item Why do italic characters look as if clipped? + +Many fonts have difficulties with italic characters and hinting. For +example, the otherwise very nicely hinted font C completely fails in it's italic face. A workaround is to enable +freetype autohinting, i.e. like this: + + URxvt*italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true + URxvt*boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true + +=item My input method wants but I want UTF-8, what can I do? + +You can specify separate locales for the input method and the rest of the +terminal, using the resource C: + + URxvt*imlocale: ja_JP.EUC-JP + +Now you can start your terminal with C and still +use your input method. Please note, however, that you will not be able to +input characters outside C in a normal way then, as your input +method limits you. + +=item Rxvt-unicode uses gobs of memory, how can I reduce that? + +Rxvt-unicode tries to obey the rule of not charging you for sth. you +don't use. One thing you should try is to configure out all settings that +you don't need, for example, Xft support is a resource hog by design, +when used. Compiling it out ensures that no Xft font will be loaded +accidentally when rxvt-unicode tries to find a font for your characters. + +Also, many people (me included) like large windows and even larger +scrollback buffers: Without C<--enable-unicode3>, rxvt-unicode will use +6 bytes per screen cell. For a 160x?? window this amounts to almost a +kilobyte per line. A scrollback buffer of 10000 lines will then (if full) +use 10 Megabytes of memory. With C<--enable-unicode3> it gets worse, as +rxvt-unicode then uses 8 bytes per screen cell. + +=item Can I speed up Xft rendering somehow? + +Yes, the most obvious way to speed it up is to avoid Xft entirely, as +it is simply slow. If you still want Xft fonts you might try to disable +antialiasing (by appending C<:antialiasing=false>), which saves lots of +memory and also speeds up rendering considerably. + +=item Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong? + +Rxvt-unicode will use whatever you specify as a font. If it needs to +fall back to it's default font search list it will prefer X11 core +fonts, because they are small and fast, and then use Xft fonts. It has +antialiasing disabled for most of them, because the author thinks they +look best that way. + +If you want antialiasing, you have to specify the fonts manually. + +=item Mouse cut/paste suddenly no longer works. + +Make sure that mouse reporting is actually turned off since killing +some editors prematurely may leave the mouse in mouse report mode. I've +heard that tcsh may use mouse reporting unless it otherwise specified. A +quick check is to see if cut/paste works when the Alt or Shift keys are +depressed. See @@RXVT_NAME@@(7) + +=item What's with this bold/blink stuff? + +If no bold colour is set via C, bold will invert text using the +standard foreground colour. + +For the standard background colour, blinking will actually make the +text blink when compiled with C<--enable-blinking>. with standard +colours. Without C<--enable-blinking>, the blink attribute will be +ignored. + +On ANSI colours, bold/blink attributes are used to set high-intensity +foreground/background colors. + +color0-7 are the low-intensity colors. + +color8-15 are the corresponding high-intensity colors. + +=item I don't like the screen colors. How do I change them? + +You can change the screen colors at run-time using F<~/.Xdefaults> +resources (or as long-options). + +Here are values that are supposed to resemble a VGA screen, +including the murky brown that passes for low-intensity yellow: + + Rxvt*color0: #000000 + Rxvt*color1: #A80000 + Rxvt*color2: #00A800 + Rxvt*color3: #A8A800 + Rxvt*color4: #0000A8 + Rxvt*color5: #A800A8 + Rxvt*color6: #00A8A8 + Rxvt*color7: #A8A8A8 + + Rxvt*color8: #000054 + Rxvt*color9: #FF0054 + Rxvt*color10: #00FF54 + Rxvt*color11: #FFFF54 + Rxvt*color12: #0000FF + Rxvt*color13: #FF00FF + Rxvt*color14: #00FFFF + Rxvt*color15: #FFFFFF + +=item What's with the strange Backspace/Delete key behaviour? + +Assuming that the physical Backspace key corresponds to the +BackSpace keysym (not likely for Linux ... see the following +question) there are two standard values that can be used for +Backspace: C<^H> and C<^?>. + +Historically, either value is correct, but rxvt-unicode adopts the debian +policy of using C<^?> when unsure, because it's the one only only correct +choice :). + +Rxvt-unicode tries to inherit the current stty settings and uses the value +of `erase' to guess the value for backspace. If rxvt-unicode wasn't +started from a terminal (say, from a menu or by remote shell), then the +system value of `erase', which corresponds to CERASE in , will +be used (which may not be the same as your stty setting). + +For starting a new rxvt-unicode: + + # use Backspace = ^H + $ stty erase ^H + $ @@RXVT_NAME@@ + + # use Backspace = ^? + $ stty erase ^? + $ @@RXVT_NAME@@ + +Toggle with "ESC[36h" / "ESC[36l" as documented in @@RXVT_NAME@@(7). + +For an existing rxvt-unicode: + + # use Backspace = ^H + $ stty erase ^H + $ echo -n "^[[36h" + + # use Backspace = ^? + $ stty erase ^? + $ echo -n "^[[36l" + +This helps satisfy some of the Backspace discrepancies that occur, but +if you use Backspace = C<^H>, make sure that the termcap/terminfo value +properly reflects that. + +The Delete key is a another casualty of the ill-defined Backspace problem. +To avoid confusion between the Backspace and Delete keys, the Delete +key has been assigned an escape sequence to match the vt100 for Execute +(ESC[3~) and is in the supplied termcap/terminfo. + +Some other Backspace problems: + +some editors use termcap/terminfo, +some editors (vim I'm told) expect Backspace = ^H, +GNU Emacs (and Emacs-like editors) use ^H for help. + +Perhaps someday this will all be resolved in a consistent manner. + +=item I don't like the key-bindings. How do I change them? + +There are some compile-time selections available via configure. Unless +you have run "configure" with the C<--disable-resources> option you can +use the `keysym' resource to alter the keystrings associated with keysym +0xFF00 - 0xFFFF (function, cursor keys, etc). + +Here's an example for a tn3270 session started using `@@RXVT_NAME@@ -name tn3270' + + !# ----- special uses ------: + ! tn3270 login, remap function and arrow keys. + tn3270*font: *clean-bold-*-*--15-* + + ! keysym - used by rxvt only + ! Delete - ^D + tn3270*keysym.0xFFFF: \004 + + ! Home - ^A + tn3270*keysym.0xFF50: \001 + ! Left - ^B + tn3270*keysym.0xFF51: \002 + ! Up - ^P + tn3270*keysym.0xFF52: \020 + ! Right - ^F + tn3270*keysym.0xFF53: \006 + ! Down - ^N + tn3270*keysym.0xFF54: \016 + ! End - ^E + tn3270*keysym.0xFF57: \005 + + ! F1 - F12 + tn3270*keysym.0xFFBE: \e1 + tn3270*keysym.0xFFBF: \e2 + tn3270*keysym.0xFFC0: \e3 + tn3270*keysym.0xFFC1: \e4 + tn3270*keysym.0xFFC2: \e5 + tn3270*keysym.0xFFC3: \e6 + tn3270*keysym.0xFFC4: \e7 + tn3270*keysym.0xFFC5: \e8 + tn3270*keysym.0xFFC6: \e9 + tn3270*keysym.0xFFC7: \e0 + tn3270*keysym.0xFFC8: \e- + tn3270*keysym.0xFFC9: \e= + + ! map Prior/Next to F7/F8 + tn3270*keysym.0xFF55: \e7 + tn3270*keysym.0xFF56: \e8 + +=item I'm using keyboard model XXX that has extra Prior/Next/Insert keys. +How do I make use of them? For example, the Sun Keyboard type 4 +has the following mappings that rxvt-unicode doesn't recognize. + + KP_Insert == Insert + F22 == Print + F27 == Home + F29 == Prior + F33 == End + F35 == Next + +Rather than have rxvt-unicode try to accommodate all the various possible keyboard +mappings, it is better to use `xmodmap' to remap the keys as required for +your particular machine. + +=item How do I distinguish if I'm running rxvt-unicode or a regular xterm? +I need this to decide about setting colors etc. + +rxvt and rxvt-unicode always export the variable "COLORTERM", so you can +check and see if that is set. Note that several programs, JED, slrn, +Midnight Commander automatically check this variable to decide whether or +not to use color. + +=item How do I set the correct, full IP address for the DISPLAY variable? + +If you've compiled rxvt-unicode with DISPLAY_IS_IP and have enabled +insecure mode then it is possible to use the following shell script +snippets to correctly set the display. If your version of rxvt-unicode +wasn't also compiled with ESCZ_ANSWER (as assumed in these snippets) then +the COLORTERM variable can be used to distinguish rxvt-unicode from a +regular xterm. + +Courtesy of Chuck Blake with the following shell script +snippets: + + # Bourne/Korn/POSIX family of shells: + [ ${TERM:-foo} = foo ] && TERM=xterm # assume an xterm if we don't know + if [ ${TERM:-foo} = xterm ]; then + stty -icanon -echo min 0 time 15 # see if enhanced rxvt or not + echo -n '^[Z' + read term_id + stty icanon echo + if [ ""${term_id} = '^[[?1;2C' -a ${DISPLAY:-foo} = foo ]; then + echo -n '^[[7n' # query the rxvt we are in for the DISPLAY string + read DISPLAY # set it in our local shell + fi + fi + +=item How do I compile the manual pages for myself? + +You need to have a recent version of perl installed as F, +one that comes with F, F and F. Then go to +the doc subdirectory and enter C. + +=item My question isn't answered here, can I ask a human? + +Before sending me mail, you could go to IRC: C, +channel C<#rxvt-unicode> has some rxvt-unicode enthusiasts that might be +interested in learning about new and exciting problems (but not FAQs :). + +=back + +=head1 SYNOPSIS + + # set a new font set + printf '\33]50;%s\007' 9x15,xft:Kochi" Mincho" + + # change the locale and tell rxvt-unicode about it + export LC_CTYPE=ja_JP.EUC-JP; printf "\33]701;$LC_CTYPE\007" + + # set window title + printf '\33]2;%s\007' "new window title" + +=head1 DESCRIPTION + +The rest of this document describes various technical aspects of +B. First the description of supported command sequences, +followed by menu and pixmap support and last by a description of all +features selectable at C time. + =head1 RXVT TECHNICAL REFERENCE =head1 Definitions @@ -137,7 +734,7 @@ =item B<< C >> -Obsolete form of returns: B<< C >> I +Obsolete form of returns: B<< C >> I =item B<< C >> @@ -151,11 +748,11 @@ Invoke the G3 Character Set (LS3) -=item B<< C(C >> +=item B<< C ( C> >> Designate G0 Character Set (ISO 2022), see below for values of C. -=item B<< C)C >> +=item B<< C ) C> >> Designate G1 Character Set (ISO 2022), see below for values of C. @@ -189,7 +786,7 @@ X -=head1 CSI (Code Sequence Introducer) Sequences +=head1 CSI (Command Sequence Introducer) Sequences =over 4 @@ -332,21 +929,22 @@ =end table +=item B<< C >> + +Set Mode (SM). See B<< C >> sequence for description of C. + =item B<< C >> -Printing +Printing. See also the C resource. =begin table + B<< C >> print screen (MC0) B<< C >> disable transparent print mode (MC4) - B<< C >> enable transparent print mode (MC5) I + B<< C >> enable transparent print mode (MC5) =end table -=item B<< C >> - -Set Mode (SM). See next sequence for description of C. - =item B<< C >> Reset Mode (RM) @@ -362,12 +960,12 @@ =end table -=item B<< C >> I +=item B<< C >> (partially implemented) =begin table B<< C >> Automatic Newline (LNM) - B<< C >> Normal Linefeed (LNM) + B<< C >> Normal Linefeed (LNM) =end table @@ -380,10 +978,13 @@ =begin table B<< C >> Normal (default) - B<< C >> On / Off Bold (bright fg) + B<< C >> On / Off Bold (bright fg) + B<< C >> On / Off Italic B<< C >> On / Off Underline - B<< C >> On / Off Blink (bright bg) + B<< C >> On / Off Slow Blink (bright bg) + B<< C >> On / Off Rapid Blink (bright bg) B<< C >> On / Off Inverse + B<< C >> On / Off Invisible (NYI) B<< C >> fg/bg Black B<< C >> fg/bg Red B<< C >> fg/bg Green @@ -391,8 +992,18 @@ B<< C >> fg/bg Blue B<< C >> fg/bg Magenta B<< C >> fg/bg Cyan + B<< C >> set fg/bg to color #m (ISO 8613-6) B<< C >> fg/bg White B<< C >> fg/bg Default + B<< C >> fg/bg Bright Black + B<< C >> fg/bg Bright Red + B<< C >> fg/bg Bright Green + B<< C >> fg/bg Bright Yellow + B<< C >> fg/bg Bright Blue + B<< C >> fg/bg Bright Magenta + B<< C >> fg/bg Bright Cyan + B<< C >> fg/bg Bright White + B<< C >> fg/bg Bright Default =end table @@ -537,14 +1148,12 @@ =end table -)X - =item B<< C >> (B) =begin table - B<< C >> visible - B<< C >> invisible + B<< C >> menuBar visible + B<< C >> menuBar invisible =end table @@ -655,7 +1264,7 @@ =end table -=item B<< C >> +=item B<< C >> (B) =begin table @@ -664,7 +1273,7 @@ =end table -=item B<< C >> +=item B<< C >> (B) =begin table @@ -691,6 +1300,15 @@ =end table +=item B<< C >> + +=begin table + + B<< C >> Use Alternate Screen Buffer - clear Alternate Screen Buffer if switching to it + B<< C >> Use Normal Screen Buffer + +=end table + =back =back @@ -728,8 +1346,13 @@ B<< C >> Set fontset to B<< C >>, with the following special values of B<< C >> (B) B<< C<#+n> >> change up B<< C >> B<< C<#-n> >> change down B<< C >> if B<< C >> is missing of 0, a value of 1 is used I change to font0 B<< C >> change to font B<< C >> B<< C >> Log all scrollback buffer and all of screen to B<< C >> B<< C >> Change current locale to B<< C >>, or, if B<< C >> is B<< C >>, return the current locale (@@RXVT_NAME@@ extension) - B<< C >> find font for character, used for debugging (@@RXVT_NAME@@ extension) - B<< C >> command B<< C >> I (@@RXVT_NAME@@ extension) + B<< C >> Menubar command B<< C >> I (rxvt-unicode extension) + B<< C >> Change colour of italic characters to B<< C >> + B<< C >> Change background pixmap tint colour to B<< C >> + B<< C >> Set normal fontset to B<< C >>. Same as C. + B<< C >> Set bold fontset to B<< C >>. Similar to C. + B<< C >> Set italic fontset to B<< C >>. Similar to C. + B<< C >> Set bold-italic fontset to B<< C >>. Similar to C. =end table @@ -1392,9 +2015,307 @@ =end table +=head1 CONFIGURE OPTIONS + +General hint: if you get compile errors, then likely your configuration +hasn't been tested well. Either try with --enable-everything or use the +./reconf script as a base for experiments. ./reconf is used by myself, +so it should generally be a working config. Of course, you should always +report when a combination doesn't work, so it can be fixed. Marc Lehmann +. + +=over 4 + +=item --enable-everything + +Add support for all non-multichoice options listed in "./configure +--help". Note that unlike other enable options this is order dependant. +You can specify this and then disable options which this enables by +I this with the appropriate commands. + +=item --enable-xft + +Add support for Xft (anti-aliases, among others) fonts. Xft fonts are +slower and require lots of memory, but as long as you don't use them, you +don't pay for them. + +=item --enable-font-styles + +Add support for B, I and B<< I >> font +styles. The fonts can be set manually or automatically. + +=item --with-codesets=NAME,... + +Compile in support for additional codeset (encoding) groups (eu, vn are +always compiled in, which includes most 8-bit character sets). These +codeset tables are currently only used for driving X11 core fonts, they +are not required for Xft fonts. Compiling them in will make your binary +bigger (together about 700kB), but it doesn't increase memory usage unless +you use an X11 font requiring one of these encodings. + +=begin table + + all all available codeset groups + zh common chinese encodings + zh_ext rarely used but very big chinese encodigs + jp common japanese encodings + jp_ext rarely used but big japanese encodings + kr korean encodings + +=end table + +=item --enable-xim + +Add support for XIM (X Input Method) protocol. This allows using +alternative input methods (e.g. kinput2) and will also correctly +set up the input for people using dead keys or compose keys. + +=item --enable-unicode3 + +Enable direct support for displaying unicode codepoints above +65535 (the basic multilingual page). This increases storage +requirements per character from 2 to 4 bytes. X11 fonts do not yet +support these extra characters, but Xft does. + +Please note that rxvt-unicode can store unicode code points >65535 +even without this flag, but the number of such characters is +limited to a view thousand (shared with combining characters, +see next switch), and right now rxvt-unicode cannot display them +(input/output and cut&paste still work, though). + +=item --enable-combining + +Enable automatic composition of combining characters into +composite characters. This is required for proper viewing of text +where accents are encoded as seperate unicode characters. This is +done by using precomposited characters when available or creating +new pseudo-characters when no precomposed form exists. + +Without --enable-unicode3, the number of additional precomposed +characters is rather limited (2048, if this is full, rxvt will use the +private use area, extending the number of combinations to 8448). With +--enable-unicode3, no practical limit exists. This will also enable +storage of characters >65535. + +The combining table also contains entries for arabic presentation forms, +but these are not currently used. Bug me if you want these to be used. + +=item --enable-fallback(=CLASS) + +When reading resource settings, also read settings for class CLASS +(default: Rxvt). To disable resource fallback use --disable-fallback. + +=item --with-res-name=NAME + +Use the given name (default: urxvt) as default application name when +reading resources. Specify --with-res-name=rxvt to replace rxvt. + +=item --with-res-class=CLASS + +Use the given class (default: URxvt) as default application class +when reading resources. Specify --with-res-class=Rxvt to replace +rxvt. + +=item --enable-utmp + +Write user and tty to utmp file (used by programs like F) at +start of rxvt execution and delete information when rxvt exits. + +=item --enable-wtmp + +Write user and tty to wtmp file (used by programs like F) at +start of rxvt execution and write logout when rxvt exits. This +option requires --enable-utmp to also be specified. + +=item --enable-lastlog + +Write user and tty to lastlog file (used by programs like +F) at start of rxvt execution. This option requires +--enable-utmp to also be specified. + +=item --enable-xpm-background + +Add support for XPM background pixmaps. + +=item --enable-transparency + +Add support for inheriting parent backgrounds thus giving a fake +transparency to the term. + +=item --enable-fading + +Add support for fading the text when focus is lost. + +=item --enable-tinting + +Add support for tinting of transparent backgrounds. + +=item --enable-menubar + +Add support for our menu bar system (this interacts badly with +dynamic locale switching currently). + +=item --enable-rxvt-scroll + +Add support for the original rxvt scrollbar. + +=item --enable-next-scroll + +Add support for a NeXT-like scrollbar. + +=item --enable-xterm-scroll + +Add support for an Xterm-like scrollbar. + +=item --enable-plain-scroll + +Add support for a very unobtrusive, plain-looking scrollbar that +is the favourite of the rxvt-unicode author, having used it for +many years. + +=item --enable-half-shadow + +Make shadows on the scrollbar only half the normal width & height. +only applicable to rxvt scrollbars. + +=item --enable-ttygid + +Change tty device setting to group "tty" - only use this if +your system uses this type of security. + +=item --disable-backspace-key + +Disable any handling of the backspace key by us - let the X server +do it. + +=item --disable-delete-key + +Disable any handling of the delete key by us - let the X server +do it. + +=item --disable-resources + +Remove all resources checking. + +=item --enable-xgetdefault + +Make resources checking via XGetDefault() instead of our small +version which only checks ~/.Xdefaults, or if that doesn't exist +then ~/.Xresources. + +=item --enable-strings + +Add support for our possibly faster memset() function and other +various routines, overriding your system's versions which may +have been hand-crafted in assembly or may require extra libraries +to link in. (this breaks ANSI-C rules and has problems on many +GNU/Linux systems). + +=item --disable-swapscreen + +Remove support for swap screen. + +=item --enable-frills + +Add support for many small features that are not essential but nice to +have. Normally you want this, but for very small binaries you may want to +disable this. + +=item --enable-iso14755 + +Enable extended ISO 14755 support (see @@RXVT_NAME@@(1), or +F). Basic support (section 5.1) is enabled by +C<--enable-frills>, while support for 5.2, 5.3 and 5.4 is enabled with +this switch. + +=item --enable-linespace + +Add support to provide user specified line spacing between text rows. + +=item --enable-keepscrolling + +Add support for continual scrolling of the display when you hold +the mouse button down on a scrollbar arrow. + +=item --enable-mousewheel + +Add support for scrolling via mouse wheel or buttons 4 & 5. + +=item --enable-slipwheeling + +Add support for continual scrolling (using the mouse wheel as an +accelerator) while the control key is held down. This option +requires --enable-mousewheel to also be specified. + +=item --disable-new-selection + +Remove support for mouse selection style like that of xterm. + +=item --enable-dmalloc + +Use Gray Watson's malloc - which is good for debugging See +http://www.letters.com/dmalloc/ for details If you use either this or the +next option, you may need to edit src/Makefile after compiling to point +DINCLUDE and DLIB to the right places. + +You can only use either this option and the following (should +you use either) . + +=item --enable-dlmalloc + +Use Doug Lea's malloc - which is good for a production version +See L for details. + +=item --enable-smart-resize + +Add smart growth/shrink behaviour when changing font size via from hot +keys. This should keep in a fixed position the rxvt corner which is +closest to a corner of the screen. + +=item --enable-cursor-blink + +Add support for a blinking cursor. + +=item --enable-pointer-blank + +Add support to have the pointer disappear when typing or inactive. + +=item --with-name=NAME + +Set the basename for the installed binaries (default: urxvt, resulting in +urxvt, urxvtd etc.). Specify --with-name=rxvt to replace rxvt. + +=item --with-term=NAME + +Change the environmental variable for the terminal to NAME (default +"rxvt") + +=item --with-terminfo=PATH + +Change the environmental variable for the path to the terminfo tree to +PATH. + +=item --with-x + +Use the X Window System (pretty much default, eh?). + +=item --with-xpm-includes=DIR + +Look for the XPM includes in DIR. + +=item --with-xpm-library=DIR + +Look for the XPM library in DIR. + +=item --with-xpm + +Not needed - define via --enable-xpm-background. + +=back + =head1 AUTHORS -Marc Lehmann , converted this document to pod and +Marc Lehmann converted this document to pod and reworked it from the original Rxvt documentation, which was done by Geoff Wing , who in turn used the XTerm documentation and other sources.