From: root Date: Tue, 11 Jan 2005 02:24:59 +0000 (+0000) Subject: *** empty log message *** X-Git-Url: http://git.openbox.org/?a=commitdiff_plain;h=6a878369ef252f0b567bb2035eea1f197149a9e8;p=dana%2Furxvt.git *** empty log message *** --- diff --git a/README.FAQ b/README.FAQ new file mode 100644 index 00000000..41fb7290 --- /dev/null +++ b/README.FAQ @@ -0,0 +1,605 @@ +FREQUENTLY ASKED QUESTIONS + How do I know which rxvt-unicode version I'm using? + The version number is displayed with the usage (-h). Also the escape + sequence "ESC[8n" sets the window title to the version number. + + 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 + "TERM=rxvt" or even "TERM=xterm", 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 rxvt (quite common...) you could also + replace the rxvt terminfo file with the rxvt-unicode one. + + 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: + + Why does "ls" no longer have coloured output? + The "ls" in the GNU coreutils unfortunately doesn't use terminfo to + decide wether a terminal has colour, but uses it's own configuration + file. Needless to say, "rxvt-unicode" is not in it's default file + (among with most other terminals supporting colour). Either add: + + TERM rxvt-unicode + + to "/etc/DIR_COLORS" or simply add: + + alias ls='ls --color=auto' + + to your ".profile" or ".bashrc". + + Why doesn't vim/emacs etc. use the 88 colour mode? + Why doesn't vim/emacs etc. make use of italic? + Why are the secondary screen-related options not working properly? + Make sure you are using "TERM=rxvt-unicode". Some pre-packaged + distributions (most notably Debian GNU/Linux) break rxvt-unicode by + setting "TERM" to "rxvt", which doesn't have these extra features. + Unfortunately, some of these (most notably, again, Debian GNU/Linux) + furthermore fail to even install the "rxvt-unicode" terminfo file, + so you will need to install it on your own (See the question When I + log-in to another system it tells me about missing terminfo data? on + how to do this). + + Rxvt-unicode does not seem to understand the selected encoding? + 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 "LC_CTYPE" 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. "en_GB.UTF-8". 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 "LC_CTYPE" specification + not supported on your systems. Some systems have a "locale" 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 :( + + Why do some characters look so much different than others? + 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. + + rxvt-unicode 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 -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. + + 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). + + 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 you + might try using the "-lsp" option to give the font more height. If + that doesn't work, you might be forced to use a different font. + + All of this is not a problem when using X11 core fonts, as their + bounding box data is correct. + + 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 preeditStyle that is not supported + by your input method. For example, if you specified OverTheSpot 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 preeditStyle or specify more + than one pre-edit style, such as OverTheSpot,Root,None. + + I cannot type "Ctrl-Shift-2" to get an ASCII NUL character due to ISO + 14755 + Either try "Ctrl-2" alone (it often is mapped to ASCII NUL even on + international keyboards) or simply use ISO 14755 support to your + advantage, typing to get a ASCII NUL. This works for + other codes, too, such as "Ctrl-Shift-1-d" to type the default + telnet escape character and so on. + + How can I keep rxvt-unicode from using reverse video so much? + First of all, make sure you are running with the right terminfo + ("urxvt"), 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 + + 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 "urxvt" terminfo + definition to only claim 8 colour support or use "TERM=rxvt", which + will fix colours but keep you from using other rxvt-unicode + features. + + I am on FreeBSD and rxvt-unicode does not seem to work at all. + Rxvt-unicode requires the symbol "__STDC_ISO_10646__" to be defined + in your compile environment, or an implementation that implements + it, wether it defines the symbol or not. "__STDC_ISO_10646__" + requires that wchar_t 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 wchar_t. This is, of course, completely legal. + + However, "__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 wchar_t makes it impossible to + convert between wchar_t (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 wchar_t + into anything except the current locale encoding. + + Some applications (such as the formidable mlterm) 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. + + How does rxvt-unicode determine the encoding to use? + 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 *locale*. + + Rxvt-unicode uses the "LC_CTYPE" 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 "LC_CTYPE" environment variable + contains an arbitrary string which corresponds to an + already-installed locale. Common names for locales are + "en_US.UTF-8", "de_DE.ISO-8859-15", "ja_JP.EUC-JP", i.e. + "language_country.encoding", but other forms (i.e. "de" or "german") + are also common. + + Rxvt-unicode ignores all other locale categories, and except for the + encoding, ignores country or language-specific settings, i.e. + "de_DE.UTF-8" and "ja_JP.UTF-8" 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 "LC_CTYPE" category. + + Can I switch locales at runtime? + Yes, using an escape sequence. Try sth. like this, which sets + rxvt-unicode's idea of "LC_CTYPE". + + 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. "de_DE.UTF-8") but some programs don't support + UTF-8. For example, I use this script to start "xjdic", 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 + + Can I switch the fonts at runtime? + Yes, using an escape sequence. Try sth. like this, which has the + same effect as using the "-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. + + 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 "xft:Bitstream Vera + Sans Mono" 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 + + 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 "imlocale": + + URxvt*imlocale: ja_JP.EUC-JP + + Now you can start your terminal with "LC_CTYPE=ja_JP.UTF-8" and + still use your input method. Please note, however, that you will not + be able to input characters outside "EUC-JP" in a normal way then, + as your input method limits you. + + 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 "--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 "--enable-unicode3" + it gets worse, as rxvt-unicode then uses 8 bytes per screen cell. + + 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 ":antialiasing=false"), which + saves lots of memory and also speeds up rendering considerably. + + 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. + + 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(7) + + What's with this bold/blink stuff? + If no bold colour is set via "colorBD:", bold will invert text using + the standard foreground colour. + + For the standard background colour, blinking will actually make the + text blink when compiled with "--enable-blinking". with standard + colours. Without "--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. + + I don't like the screen colors. How do I change them? + You can change the screen colors at run-time using ~/.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: + + URxvt*color0: #000000 + URxvt*color1: #A80000 + URxvt*color2: #00A800 + URxvt*color3: #A8A800 + URxvt*color4: #0000A8 + URxvt*color5: #A800A8 + URxvt*color6: #00A8A8 + URxvt*color7: #A8A8A8 + + URxvt*color8: #000054 + URxvt*color9: #FF0054 + URxvt*color10: #00FF54 + URxvt*color11: #FFFF54 + URxvt*color12: #0000FF + URxvt*color13: #FF00FF + URxvt*color14: #00FFFF + URxvt*color15: #FFFFFF + + And here is a more complete set of non-standard colors described as + "pretty girly": + + URxvt.cursorColor: #dc74d1 + URxvt.pointerColor: #dc74d1 + URxvt.background: #0e0e0e + URxvt.foreground: #4ad5e1 + URxvt.color0: #000000 + URxvt.color8: #8b8f93 + URxvt.color1: #dc74d1 + URxvt.color9: #dc74d1 + URxvt.color2: #0eb8c7 + URxvt.color10: #0eb8c7 + URxvt.color3: #dfe37e + URxvt.color11: #dfe37e + URxvt.color5: #9e88f0 + URxvt.color13: #9e88f0 + URxvt.color6: #73f7ff + URxvt.color14: #73f7ff + URxvt.color7: #e1dddd + URxvt.color15: #e1dddd + + 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: "^H" and "^?". + + Historically, either value is correct, but rxvt-unicode adopts the + debian policy of using "^?" 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 + + # use Backspace = ^? + $ stty erase ^? + $ rxvt + + Toggle with "ESC[36h" / "ESC[36l" as documented in rxvt(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 = "^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. + + 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 "--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 + 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 + + 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. + + 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. + + 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 + + How do I compile the manual pages for myself? + You need to have a recent version of perl installed as + /usr/bin/perl, one that comes with pod2man, pod2text and pod2html. + Then go to the doc subdirectory and enter "make alldoc". + + My question isn't answered here, can I ask a human? + Before sending me mail, you could go to IRC: "irc.freenode.net", + channel "#rxvt-unicode" has some rxvt-unicode enthusiasts that might + be interested in learning about new and exciting problems (but not + FAQs :). + diff --git a/README.configure b/README.configure new file mode 100644 index 00000000..ba48d364 --- /dev/null +++ b/README.configure @@ -0,0 +1,240 @@ +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 + . + + --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 *following* this with the appropriate commands. + + --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. + + --enable-font-styles + Add support for bold, *italic* and *bold italic* font styles. The + fonts can be set manually or automatically. + + --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. + + 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 + + --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. + + --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). + + --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. + + --enable-fallback(=CLASS) + When reading resource settings, also read settings for class CLASS + (default: Rxvt). To disable resource fallback use + --disable-fallback. + + --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. + + --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. + + --enable-utmp + Write user and tty to utmp file (used by programs like w) at start + of rxvt execution and delete information when rxvt exits. + + --enable-wtmp + Write user and tty to wtmp file (used by programs like last) at + start of rxvt execution and write logout when rxvt exits. This + option requires --enable-utmp to also be specified. + + --enable-lastlog + Write user and tty to lastlog file (used by programs like lastlogin) + at start of rxvt execution. This option requires --enable-utmp to + also be specified. + + --enable-xpm-background + Add support for XPM background pixmaps. + + --enable-transparency + Add support for inheriting parent backgrounds thus giving a fake + transparency to the term. + + --enable-fading + Add support for fading the text when focus is lost. + + --enable-tinting + Add support for tinting of transparent backgrounds. + + --enable-menubar + Add support for our menu bar system (this interacts badly with + dynamic locale switching currently). + + --enable-rxvt-scroll + Add support for the original rxvt scrollbar. + + --enable-next-scroll + Add support for a NeXT-like scrollbar. + + --enable-xterm-scroll + Add support for an Xterm-like scrollbar. + + --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. + + --enable-half-shadow + Make shadows on the scrollbar only half the normal width & height. + only applicable to rxvt scrollbars. + + --enable-ttygid + Change tty device setting to group "tty" - only use this if your + system uses this type of security. + + --disable-backspace-key + Disable any handling of the backspace key by us - let the X server + do it. + + --disable-delete-key + Disable any handling of the delete key by us - let the X server do + it. + + --disable-resources + Remove all resources checking. + + --enable-xgetdefault + Make resources checking via XGetDefault() instead of our small + version which only checks ~/.Xdefaults, or if that doesn't exist + then ~/.Xresources. + + --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). + + --disable-swapscreen + Remove support for swap screen. + + --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. + + --enable-iso14755 + Enable extended ISO 14755 support (see rxvt(1), or doc/rxvt.1.txt). + Basic support (section 5.1) is enabled by "--enable-frills", while + support for 5.2, 5.3 and 5.4 is enabled with this switch. + + --enable-keepscrolling + Add support for continual scrolling of the display when you hold the + mouse button down on a scrollbar arrow. + + --enable-mousewheel + Add support for scrolling via mouse wheel or buttons 4 & 5. + + --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. + + --disable-new-selection + Remove support for mouse selection style like that of xterm. + + --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) . + + --enable-dlmalloc + Use Doug Lea's malloc - which is good for a production version See + for details. + + --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. + + --enable-cursor-blink + Add support for a blinking cursor. + + --enable-pointer-blank + Add support to have the pointer disappear when typing or inactive. + + --with-name=NAME + Set the basename for the installed binaries (default: urxvt, + resulting in urxvt, urxvtd etc.). Specify --with-name=rxvt to + replace rxvt. + + --with-term=NAME + Change the environmental variable for the terminal to NAME (default + "rxvt") + + --with-terminfo=PATH + Change the environmental variable for the path to the terminfo tree + to PATH. + + --with-x + Use the X Window System (pretty much default, eh?). + + --with-xpm-includes=DIR + Look for the XPM includes in DIR. + + --with-xpm-library=DIR + Look for the XPM library in DIR. + + --with-xpm + Not needed - define via --enable-xpm-background. + diff --git a/doc/rxvt.1.html b/doc/rxvt.1.html new file mode 100644 index 00000000..97df44a1 --- /dev/null +++ b/doc/rxvt.1.html @@ -0,0 +1,1407 @@ + + + +unicode) - + + + + + +

+ + + + + +
+

+

+

NAME

+

rxvt-unicode (ouR XVT, unicode) - (a VT102 emulator for the X window system)

+

+

+
+

SYNOPSIS

+

rxvt [options] [-e command [ args ]]

+

+

+
+

DESCRIPTION

+

rxvt-unicode, version 4.8, is a colour vt102 terminal +emulator intended as an xterm(1) replacement for users who do not +require features such as Tektronix 4014 emulation and toolkit-style +configurability. As a result, rxvt-unicode uses much less swap space -- +a significant advantage on a machine serving many X sessions.

+

+

+
+

FREQUENTLY ASKED QUESTIONS

+

See rxvt(7) (try man 7 rxvt) for a list of frequently +asked questions and answer to them and some common problems.

+

+

+
+

RXVT-UNICODE VS. RXVT

+

Unlike the original rxvt, rxvt-unicode stores all text in Unicode +internally. That means it can store and display most scripts in the +world. Being a terminal emulator, however, some things are very difficult, +especially cursive scripts such as arabic, vertically written scripts +like mongolian or scripts requiring extremely complex combining rules, +like tibetan or devenagari. Don't expect pretty output when using these +scripts. Most other scripts, latin, cyrillic, kanji, thai etc. should work +fine, though. A somewhat difficult case are left-to-right scripts, such +as hebrew: rxvt-unicode adopts the view that bidirectional algorithms +belong into the application, not the terminal emulator (too many things -- +such as cursor-movement while editing -- break otherwise), but that might +change.

+

If you are looking for a terminal that supports more exotic scripts, let +me recommend mlterm, which is a very userfriendly, lean and clean +terminal emulator. In fact, the reason rxvt-unicode was born was solely +because the author couldn't get mlterm to use one font for latin1 and +another for japanese.

+

Therefore another design rationale was the use of multiple fonts to +display characters: The idea of a single unicode font which many other +programs force onto it's users never made sense to me: You should be able +to choose any font for any script freely.

+

Apart from that, rxvt-unicode is also much better internationalised than +it's predecessor, supports things such as XFT and ISO 14755 that are handy +in i18n-environments, is faster, and has a lot less bugs than the original +rxvt. This all in addition to dozens of other small improvements.

+

It is still faithfully following the original rxvt idea of being lean +and nice on resources: for example, you can still configure rxvt-unicode +without most of it's features to get a lean binary. It also comes with +a client/daemon pair that lets you open any number of terminal windows +from within a single process, which makes startup time very fast and +drastically reduces memory usage. See rxvtd(1) (daemon) and +rxvtc(1) (client).

+

It also makes technical information about escape sequences (which have +been extended) easier accessible: see rxvt(7) for technical +reference documentation (escape sequences etc.).

+

+

+
+

OPTIONS

+

The rxvt options (mostly a subset of xterm's) are listed +below. In keeping with the smaller-is-better philosophy, options may be +eliminated or default values chosen at compile-time, so options and +defaults listed may not accurately reflect the version installed on +your system. `rxvt -h' gives a list of major compile-time options on +the Options line. Option descriptions may be prefixed with which +compile option each is dependent upon. e.g. `Compile XIM:' requires +XIM on the Options line. Note: `rxvt -help' gives a list of all +command-line options compiled into your version.

+

Note that rxvt permits the resource name to be used as a +long-option (--/++ option) so the potential command-line options are +far greater than those listed. For example: `rxvt --loginShell --color1 +Orange'.

+

The following options are available:

+
+
-help, --help
+
+
+Print out a message describing available options. +
+

+
-display displayname
+
+
+Attempt to open a window on the named X display (-d still +respected). In the absence of this option, the display specified by the +DISPLAY environment variable is used. +
+

+
-geometry geom
+
+
+Window geometry (-g still respected); resource geometry. +
+

+
-rv|+rv
+
+
+Turn on/off simulated reverse video; resource reverseVideo. +
+

+
-j|+j
+
+
+Turn on/off jump scrolling; resource jumpScroll. +
+

+
-ip|+ip
+
+
+Turn on/off inheriting parent window's pixmap. Alternative form is +-tr; resource inheritPixmap. +
+

+
-fade number
+
+
+Fade the text by the given percentage when focus is lost. resource fading. +
+

+
-tint colour
+
+
+Tint the transparent background pixmap with the given colour when +transparency is enabled with -tr or -ip. See also the -sh +option that can be used to brighten or darken the image in addition to +tinting it. +
+

+
-sh
+
+
+number Darken (0 .. 100) or lighten (-1 .. -100) the transparent +background image in addition to tinting it (i.e. -tint must be +specified, too, e.g. -tint white). +
+

+
-bg colour
+
+
+Window background colour; resource background. +
+

+
-fg colour
+
+
+Window foreground colour; resource foreground. +
+

+
-pixmap file[;geom]
+
+
+Compile XPM: Specify XPM file for the background and also optionally +specify its scaling with a geometry string. Note you may need to add +quotes to avoid special shell interpretation of the `;' in the +command-line; resource backgroundPixmap. +
+

+
-cr colour
+
+
+The cursor colour; resource cursorColor. +
+

+
-pr colour
+
+
+The mouse pointer foreground colour; resource pointerColor. +
+

+
-pr2 colour
+
+
+The mouse pointer background colour; resource pointerColor2. +
+

+
-bd colour
+
+
+The colour of the border around the text area and between the scrollbar and the text; +resource borderColor. +
+

+
-fn fontlist
+
+
+Select the fonts to be used. This is a comma separated list of font names +that are used in turn when trying to display Unicode characters. The +first font defines the cell size for characters; other fonts might be +smaller, but not (in general) larger. A (hopefully) reasonable default +font list is always appended to it. See resource font for more details. +
+
+

In short, to specify an X11 core font, just specify it's name or prefix it +with x:. To specify an XFT-font, you need to prefix it with xft:, +e.g.:

+
+
+
+   rxvt -fn "xft:Bitstream Vera Sans Mono:pixelsize=15"
+   rxvt -fn "9x15bold,xft:Bitstream Vera Sans Mono"
+
+
+

See also the question ``How does rxvt-unicode choose fonts?'' in the FAQ +section of rxvt(7).

+
+

+
-fb fontlist
+
+
+Compile font-styles: The bold font list to use when bold characters are to +be printed. See resource boldFont for details. +
+

+
-fi fontlist
+
+
+Compile font-styles: The italic font list to use when bold characters are to +be printed. See resource italicFont for details. +
+

+
-fbi fontlist
+
+
+Compile font-styles: The bold italic font list to use when bold characters are to +be printed. See resource boldItalicFont for details. +
+

+
-name name
+
+
+Specify the application name under which resources are to be obtained, +rather than the default executable file name. Name should not contain +`.' or `*' characters. Also sets the icon and title name. +
+

+
-ls|+ls
+
+
+Start as a login-shell/sub-shell; resource loginShell. +
+

+
-ut|+ut
+
+
+Compile utmp: Inhibit/enable writing a utmp entry; resource +utmpInhibit. +
+

+
-vb|+vb
+
+
+Turn on/off visual bell on receipt of a bell character; resource +visualBell. +
+

+
-sb|+sb
+
+
+Turn on/off scrollbar; resource scrollBar. +
+

+
-si|+si
+
+
+Turn on/off scroll-to-bottom on TTY output inhibit; resource +scrollTtyOutput has opposite effect. +
+

+
-sk|+sk
+
+
+Turn on/off scroll-to-bottom on keypress; resource +scrollTtyKeypress. +
+

+
-sw|+sw
+
+
+Turn on/off scrolling with the scrollback buffer as new lines appear. +This only takes effect if -si is also given; resource +scrollWithBuffer. +
+

+
-sr|+sr
+
+
+Put scrollbar on right/left; resource scrollBar_right. +
+

+
-st|+st
+
+
+Display normal (non XTerm/NeXT) scrollbar without/with a trough; +resource scrollBar_floating. +
+

+
-ptab|+ptab
+
+
+If enabled (default), ``Horizontal Tab'' characters are being stored as +actual wide characters in the screen buffer, which makes it possible to +select and paste them. Since a horizontal tab is a cursor movement and +not an actual glyph, this can sometimes be visually annoying as the cursor +on a tab character is displayed as a wide cursor; resource pastableTabs. +
+

+
-bc|+bc
+
+
+Blink the cursor; resource cursorBlink. +
+

+
-iconic
+
+
+Start iconified, if the window manager supports that option. +Alternative form is -ic. +
+

+
-sl number
+
+
+Save number lines in the scrollback buffer. See resource entry for +limits; resource saveLines. +
+

+
-b number
+
+
+Compile frills: Internal border of number pixels. See resource +entry for limits; resource internalBorder. +
+

+
-w number
+
+
+Compile frills: External border of number pixels. Also, -bw +and -borderwidth. See resource entry for limits; resource +externalBorder. +
+

+
-bl
+
+
+Compile frills: Set MWM hints to request a borderless window, i.e. +if honoured by the WM, the rxvt-unicode window will not have window +decorations; resource borderLess. +
+

+
-lsp number
+
+
+Compile frills: Lines (pixel height) to insert between each row of +the display. Useful to work around font rendering problems; resource +linespace. +
+

+
-tn termname
+
+
+This option specifies the name of the terminal type to be set in the +TERM environment variable. This terminal type must exist in the +termcap(5) database and should have li# and co# entries; +resource termName. +
+

+
-e command [arguments]
+
+
+Run the command with its command-line arguments in the rxvt +window; also sets the window title and icon name to be the basename of +the program being executed if neither -title (-T) nor -n are +given on the command line. If this option is used, it must be the last +on the command-line. If there is no -e option then the default is to +run the program specified by the SHELL environment variable or, +failing that, sh(1). +
+

+
-title text
+
+
+Window title (-T still respected); the default title is the basename +of the program specified after the -e option, if any, otherwise the +application name; resource title. +
+

+
-n text
+
+
+Icon name; the default name is the basename of the program specified +after the -e option, if any, otherwise the application name; +resource iconName. +
+

+
-C
+
+
+Capture system console messages. +
+

+
-pt style
+
+
+Compile XIM: input style for input method; OverTheSpot, +OffTheSpot, Root; resource preeditType. +
+

+
-im text
+
+
+Compile XIM: input method name. resource inputMethod. +
+

+
-imlocale string
+
+
+The locale to use for opening the IM. You can use an LC_CTYPE of e.g. +de_DE.UTF-8 for normal text processing but ja_JP.EUC-JP for the input +extension to be able to input japanese characters while staying in +another locale. +
+

+
-insecure
+
+
+Enable ``insecure'' mode, which currently enables most of the escape +sequences that echo strings. See the resource insecure for more +info. +
+

+
-mod modifier
+
+
+Override detection of Meta modifier with specified key: alt, +meta, hyper, super, mod1, mod2, mod3, mod4, +mod5; resource modifier. +
+

+
-ssc|+ssc
+
+
+Turn on/off secondary screen (default enabled); resource +secondaryScreen. +
+

+
-ssr|+ssr
+
+
+Turn on/off secondary screen scroll (default enabled); resource +secondaryScroll. +
+

+
-xrm resourcestring
+
+
+No effect on rxvt-unicode. Simply passes through an argument to be made +available in the instance's argument list. Appears in WM_COMMAND in +some window managers. +
+

+

+

+
+

RESOURCES (available also as long-options)

+

Note: `rxvt --help' gives a list of all resources (long +options) compiled into your version.

+

There are two different methods that rxvt can use to get the +Xresource data: using the X libraries (Xrm*-functions) or internal +Xresources reader (~/.Xdefaults). For the first method (ie. +rxvt -h lists XGetDefaults), you can set and change the +resources using X11 tools like xset. Many distribution do also load +settings from the ~/.Xresources file when X starts.

+

If compiled with internal Xresources support (i.e. rxvt -h +lists .Xdefaults) then rxvt accepts application defaults +set in XAPPLOADDIR/URxvt (compile-time defined: usually +/usr/lib/X11/app-defaults/URxvt) and resources set in +~/.Xdefaults, or ~/.Xresources if ~/.Xdefaults does not exist. +Note that when reading X resources, rxvt recognizes two +class names: XTerm and URxvt. The class name Rxvt allows +resources common to both rxvt and the original rxvt to be +easily configured, while the class name URxvt allows resources +unique to rxvt, notably colours and key-handling, to be +shared between different rxvt configurations. If no +resources are specified, suitable defaults will be used. Command-line +arguments can be used to override resource settings. The following +resources are allowed:

+
+
geometry: geom
+
+
+Create the window with the specified X window geometry [default 80x24]; +option -geometry. +
+

+
background: colour
+
+
+Use the specified colour as the window's background colour [default +White]; option -bg. +
+

+
foreground: colour
+
+
+Use the specified colour as the window's foreground colour [default +Black]; option -fg. +
+

+
colorn: colour
+
+
+Use the specified colour for the colour value n, where 0-7 +corresponds to low-intensity (normal) colours and 8-15 corresponds to +high-intensity (bold = bright foreground, blink = bright background) +colours. The canonical names are as follows: 0=black, 1=red, 2=green, +3=yellow, 4=blue, 5=magenta, 6=cyan, 7=white, but the actual colour +names used are listed in the COLORS AND GRAPHICS section. +
+
+

Colours higher than 15 cannot be set using resources (yet), but can be +changed using an escape command (see rxvt(7)).

+
+
+

Colours 16-79 form a standard 4x4x4 colour cube (the same as xterm with +88 colour support). Colours 80-87 are evenly spaces grey steps.

+
+

+
colorBD: colour
+
+
colorIT: colour
+
+
+Use the specified colour to display bold or italic characters when the +foreground colour is the default. If font styles are not available +(Compile styles) and this option is unset, reverse video is used instead. +
+

+
colorUL: colour
+
+
+Use the specified colour to display underlined characters when the +foreground colour is the default. +
+

+
colorRV: colour
+
+
+Use the specified colour as the background for reverse video +characters. +
+

+
underlineColor: colour
+
+
+If set, use the specified colour as the colour for the underline +itself. If unset, use the foreground colour. +
+

+
cursorColor: colour
+
+
+Use the specified colour for the cursor. The default is to use the +foreground colour; option -cr. +
+

+
cursorColor2: colour
+
+
+Use the specified colour for the colour of the cursor text. For this to +take effect, cursorColor must also be specified. The default is to +use the background colour. +
+

+
reverseVideo: boolean
+
+
+True: simulate reverse video by foreground and background colours; +option -rv. False: regular screen colours [default]; option ++rv. See note in COLORS AND GRAPHICS section. +
+

+
jumpScroll: boolean
+
+
+True: specify that jump scrolling should be used. When scrolling +quickly, fewer screen updates are performed [default]; option -j. +False: specify that smooth scrolling should be used; option +j. +
+

+
inheritPixmap: boolean
+
+
+True: make the background inherit the parent windows' pixmap, giving +artificial transparency. False: do not inherit the parent windows' +pixmap. +
+

+
fading: number
+
+
+Fade the text by the given percentage when focus is lost. +
+

+
tintColor: colour
+
+
+Tint the transparent background pixmap with the given colour. +
+

+
shading: number
+
+
+Darken (0 .. 100) or lighten (-1 .. -100) the transparent background +image in addition to tinting it. +
+

+
scrollColor: colour
+
+
+Use the specified colour for the scrollbar [default #B2B2B2]. +
+

+
troughColor: colour
+
+
+Use the specified colour for the scrollbar's trough area [default +#969696]. Only relevant for normal (non XTerm/NeXT) scrollbar. +
+

+
borderColor: colour
+
+
+The colour of the border around the text area and between the scrollbar +and the text. +
+

+
backgroundPixmap: file[;geom]
+
+
+Use the specified XPM file (note the `.xpm' extension is optional) for +the background and also optionally specify its scaling with a geometry +string WxH+X+Y, in which ``W'' / ``H'' specify the +horizontal/vertical scale (percent) and ``X'' / ``Y'' locate the image +centre (percent). A scale of 0 displays the image with tiling. A scale +of 1 displays the image without any scaling. A scale of 2 to 9 +specifies an integer number of images in that direction. No image will +be magnified beyond 10 times its original size. The maximum permitted +scale is 1000. [default 0x0+50+50] +
+

+
menu: file[;tag]
+
+
+Read in the specified menu file (note the `.menu' extension is +optional) and also optionally specify a starting tag to find. See the +reference documentation for details on the syntax for the menuBar. +
+

+
path: path
+
+
+Specify the colon-delimited search path for finding files (XPM and +menus), in addition to the paths specified by the RXVTPATH and +PATH environment variables. +
+

+
font: fontlist
+
+
+Select the fonts to be used. This is a comma separated list of font +names that are used in turn when trying to display Unicode characters. +The first font defines the cell size for characters; other fonts might +be smaller, but not larger. A reasonable default font list is always +appended to it. option -fn. +
+
+

Each font can either be a standard X11 core font (XLFD) name, with +optional prefix x: or a Xft font (Compile xft), prefixed with xft:.

+
+
+

In addition, each font can be prefixed with additional hints and +specifications enclosed in square brackets ([]). The only available +hint currently is codeset=codeset-name, and this is only used for Xft +fonts.

+
+
+

For example, this font resource

+
+
+
+   URxvt*font: 9x15bold,\
+               -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso10646-1,\
+               -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1, \
+               [codeset=JISX0208]xft:Kochi Gothic:antialias=false, \
+               xft:Code2000:antialias=false
+
+
+

specifies five fonts to be used. The first one is 9x15bold (actually +the iso8859-1 version of the second font), which is the base font (because +it is named first) and thus defines the character cell grid to be 9 pixels +wide and 15 pixels high.

+
+
+

The second font is just used to add additional unicode characters not in +the base font, likewise the third, which is unfortunately non-bold, but +the bold version of the font does contain less characters, so this is a +useful supplement.

+
+
+

The third font is an Xft font with aliasing turned off, and the characters +are limited to the JIS 0208 codeset (i.e. japanese kanji). The font +contains other characters, but we are not interested in them.

+
+
+

The last font is a useful catch-all font that supplies most of the +remaining unicode characters.

+
+

+
boldFont: fontlist
+
+
italicFont: fontlist
+
+
boldItalicFont: fontlist
+
+
+The font list to use for displaying bold, italic or bold +italic > characters, respectively. +
+
+

If specified and non-empty, then the syntax is the same as for the +font-resource, and the given font list will be used as is, which makes +it possible to substitute completely different font styles for bold and +italic.

+
+
+

If unset (the default), a suitable font list will be synthesized by +``morphing'' the normal text font list into the desired shape. If that is +not possible, replacement fonts of the desired shape will be tried.

+
+
+

If set, but empty, then this specific style is disabled and the normal +text font will being used for the given style.

+
+

+
selectstyle: mode
+
+
+Set mouse selection style to old which is 2.20, oldword which is +xterm style with 2.20 old word selection, or anything else which gives +xterm style selection. +
+

+
scrollstyle: mode
+
+
+Set scrollbar style to rxvt, plain, next or xterm. plain is +the author's favourite.. +
+

+
title: string
+
+
+Set window title string, the default title is the command-line +specified after the -e option, if any, otherwise the application +name; option -title. +
+

+
iconName: string
+
+
+Set the name used to label the window's icon or displayed in an icon +manager window, it also sets the window's title unless it is explicitly +set; option -n. +
+

+
mapAlert: boolean
+
+
+True: de-iconify (map) on receipt of a bell character. False: no +de-iconify (map) on receipt of a bell character [default]. +
+

+
visualBell: boolean
+
+
+True: use visual bell on receipt of a bell character; option -vb. +False: no visual bell [default]; option +vb. +
+

+
loginShell: boolean
+
+
+True: start as a login shell by prepending a `-' to argv[0] of +the shell; option -ls. False: start as a normal sub-shell +[default]; option +ls. +
+

+
utmpInhibit: boolean
+
+
+True: inhibit writing record into the system log file utmp; +option -ut. False: write record into the system log file utmp +[default]; option +ut. +
+

+
print-pipe: string
+
+
+Specify a command pipe for vt100 printer [default lpr(1)]. Use +Print to initiate a screen dump to the printer and Ctrl-Print or +Shift-Print to include the scrollback as well. +
+

+
scrollBar: boolean
+
+
+True: enable the scrollbar [default]; option -sb. False: +disable the scrollbar; option +sb. +
+

+
scrollBar_right: boolean
+
+
+True: place the scrollbar on the right of the window; option -sr. +False: place the scrollbar on the left of the window; option +sr. +
+

+
scrollBar_floating: boolean
+
+
+True: display an rxvt scrollbar without a trough; option -st. +False: display an rxvt scrollbar with a trough; option +st. +
+

+
scrollBar_align: mode
+
+
+Align the top, bottom or centre [default] of the scrollbar +thumb with the pointer on middle button press/drag. +
+

+
scrollTtyOutput: boolean
+
+
+True: scroll to bottom when tty receives output; option -si. +False: do not scroll to bottom when tty receives output; option ++si. +
+

+
scrollWithBuffer: boolean
+
+
+True: scroll with scrollback buffer when tty receives new lines (and +scrollTtyOutput is False); option +sw. False: do not scroll +with scrollback buffer when tty recieves new lines; option -sw. +
+

+
scrollTtyKeypress: boolean
+
+
+True: scroll to bottom when a non-special key is pressed. Special keys +are those which are intercepted by rxvt-unicode for special handling and +are not passed onto the shell; option -sk. False: do not scroll to +bottom when a non-special key is pressed; option +sk. +
+

+
saveLines: number
+
+
+Save number lines in the scrollback buffer [default 64]. This +resource is limited on most machines to 65535; option -sl. +
+

+
internalBorder: number
+
+
+Internal border of number pixels. This resource is limited to 100; +option -b. +
+

+
externalBorder: number
+
+
+External border of number pixels. This resource is limited to 100; +option -w, -bw, -borderwidth. +
+

+
borderLess: boolean
+
+
+Set MWM hints to request a borderless window, i.e. if honoured by the +WM, the rxvt-unicode window will not have window decorations; option -bl. +
+

+
termName: termname
+
+
+Specifies the terminal type name to be set in the TERM environment +variable; option -tn. +
+

+
linespace: number
+
+
+Specifies number of lines (pixel height) to insert between each row of +the display [default 0]; option -lsp. +
+

+
meta8: boolean
+
+
+True: handle Meta (Alt) + keypress to set the 8th bit. False: +handle Meta (Alt) + keypress as an escape prefix [default]. +
+

+
mouseWheelScrollPage: boolean
+
+
+True: the mouse wheel scrolls a page full. False: the mouse wheel +scrolls five lines [default]. +
+

+
pastableTabs: boolean
+
+
+True: store tabs as wide characters. False: interpret tabs as cursor +movement only; option -ptab. +
+

+
cursorBlink: boolean
+
+
+True: blink the cursor. False: do not blink the cursor [default]; +option -bc. +
+

+
pointerBlank: boolean
+
+
+True: blank the pointer when a key is pressed or after a set number +of seconds of inactivity. False: the pointer is always visible +[default]. +
+

+
pointerColor: colour
+
+
+Mouse pointer foreground colour. +
+

+
pointerColor2: colour
+
+
+Mouse pointer background colour. +
+

+
pointerBlankDelay: number
+
+
+Specifies number of seconds before blanking the pointer [default 2]. +
+

+
backspacekey: string
+
+
+The string to send when the backspace key is pressed. If set to DEC +or unset it will send Delete (code 127) or, if shifted, Backspace +(code 8) - which can be reversed with the appropriate DEC private mode +escape sequence. +
+

+
deletekey: string
+
+
+The string to send when the delete key (not the keypad delete key) is +pressed. If unset it will send the sequence traditionally associated +with the Execute key. +
+

+
cutchars: string
+
+
+The characters used as delimiters for double-click word selection. The +built-in default: +
+
+

BACKSLASH ```'&()*,;<=?@[]{|} >>

+
+

+
preeditType: style
+
+
+OverTheSpot, OffTheSpot, Root; option -pt. +
+

+
inputMethod: name
+
+
+name of inputMethod to use; option -im. +
+

+
imLocale: name
+
+
+The locale to use for opening the IM. You can use an LC_CTYPE of e.g. +de_DE.UTF-8 for normal text processing but ja_JP.EUC-JP for the input +extension to be able to input japanese characters while staying in +another locale. option -imlocale. +
+

+
insecure: boolean
+
+
+Enables ``insecure'' mode. Rxvt-unicode offers some escape sequences that +echo arbitrary strings like the icon name or the locale. This could be +abused if somebody gets 8-bit-clean access to your display, whether +throuh a mail client displaying mail bodies unfiltered or though +write(1). Therefore, these sequences are disabled by default. (Note +that other terminals, including xterm, have these sequences +enabled by default). You can enable them by setting this boolean +resource or specifying -insecure as an option. At the moment, this +enabled display-answer, locale, findfont, icon label and window title +requests as well as dynamic menubar dispatch. +
+

+
modifier: modifier
+
+
+Set the key to be interpreted as the Meta key to: alt, meta, +hyper, super, mod1, mod2, mod3, mod4, mod5; option +-mod. +
+

+
answerbackString: string
+
+
+Specify the reply rxvt-unicode sends to the shell when an ENQ (control-E) +character is passed through. It may contain escape values as described +in the entry on keysym following. +
+

+
secondaryScreen: bool
+
+
+Turn on/off secondary screen (default enabled). +
+

+
secondaryScroll: bool
+
+
+Turn on/off secondary screen scroll (default enabled). If the this +option is enabled, scrolls on the secondary screen will change the +scrollback buffer and switching to/from the secondary screen will +instead scroll the screen up. +
+

+
keysym.sym: string
+
+
+Associate string with keysym sym (0xFF00 - 0xFFFF). It may +contain escape values (\a: bell, \b: backspace, \e, \E: escape, \n: +newline, \r: return, \t: +tab, \000: octal number) or control characters (^?: delete, ^@: null, +^A ...) and may enclosed with double quotes so that it can start or end +with whitespace. The intervening resource name keysym. cannot be +omitted. This resource is only available when compiled with +KEYSYM_RESOURCE. +
+

+

+

+
+

THE SCROLLBAR

+

Lines of text that scroll off the top of the rxvt window +(resource: saveLines) and can be scrolled back using the scrollbar +or by keystrokes. The normal rxvt scrollbar has arrows and +its behaviour is fairly intuitive. The xterm-scrollbar is without +arrows and its behaviour mimics that of xterm

+

Scroll down with Button1 (xterm-scrollbar) or Shift-Next. +Scroll up with Button3 (xterm-scrollbar) or Shift-Prior. +Continuous scroll with Button2.

+

+

+
+

MOUSE REPORTING

+

To temporarily override mouse reporting, for either the scrollbar or +the normal text selection/insertion, hold either the Shift or the Meta +(Alt) key while performing the desired mouse action.

+

If mouse reporting mode is active, the normal scrollbar actions are +disabled -- on the assumption that we are using a fullscreen +application. Instead, pressing Button1 and Button3 sends ESC[6~ +(Next) and ESC[5~ (Prior), respectively. Similarly, clicking on the +up and down arrows sends ESC[A (Up) and ESC[B (Down), +respectively.

+

+

+
+

TEXT SELECTION AND INSERTION

+

The behaviour of text selection and insertion mechanism is similar to +xterm(1).

+
+
Selection:
+
+
+Left click at the beginning of the region, drag to the end of the +region and release; Right click to extend the marked region; Left +double-click to select a word; Left triple-click to select the entire +line. +
+
+

Starting a selection while pressing the Meta key (or Meta+Ctrl keys) +(Compile: frills) will create a rectangular selection instead of a normal +one.

+
+

+
Insertion:
+
+
+Pressing and releasing the Middle mouse button (or Shift-Insert) in +an rxvt window causes the current text selection to be +inserted as if it had been typed on the keyboard. +
+

+

+

+
+

CHANGING FONTS

+

Changing fonts (or font sizes, respectively) via the keypad is not yet +supported in rxvt-unicode. Bug me if you need this.

+

You can, however, switch fonts at runtime using escape sequences (and +therefore using the menubar), e.g.:

+
+   printf '\e]701;%s\007' "9x15bold,xft:Kochi Gothic"
+

rxvt-unicode will automatically re-apply these fonts to the output so far.

+

+

+
+

ISO 14755 SUPPORT

+

ISO 14755 is a standard for entering and viewing unicode characters +and character codes using the keyboard. It consists of 4 parts. The +first part is available rxvt-unicode has been compiled with +--enable-frills, the rest is available when rxvt-unicode was compiled +with --enable-iso14755.

+
    +
  1. 1: Basic method
    +
  2. +This allows you to enter unicode characters using their hexcode. +

    Start by pressing and holding both Control and Shift, then enter +hex-digits (between one and six). Releasing Control and Shift will +commit the character as if it were typed directly. While holding down +Control and Shift you can also enter multiple characters by pressing +Space, which will commit the current character and lets you start a new +one.

    +

    As an example of use, imagine a business card with a japanese e-mail +address, which you cannot type. Fortunately, the card has the e-mail +address printed as hexcodes, e.g. 671d 65e5. You can enter this easily +by pressing Control and Shift, followed by 6-7-1-D-SPACE-6-5-E-5, +followed by releasing the modifier keys.

    +

    +
  3. 2: Keyboard symbols entry method
    +
  4. +This mode lets you input characters representing the keycap symbols of +your keyboard, if representable in the current locale encoding. +

    Start by pressing Control and Shift together, then releasing +them. The next special key (cursor keys, home etc.) you enter will not +invoke it's usual function but instead will insert the corresponding +keycap symbol. The symbol will only be entered when the key has been +released, otherwise pressing e.g. Shift would enter the symbol for +ISO Level 2 Switch, although your intention might have been to enter a +reverse tab (Shift-Tab).

    +

    +
  5. 3: Screen-selection entry method
    +
  6. +While this is implemented already (it's basically the selection +mechanism), it could be extended by displaying a unicode character map. +

    +
  7. 4: Feedback method for identifying displayed characters for later input
    +
  8. +This method lets you display the unicode character code associated with +characters already displayed. +

    You enter this mode by holding down Control and Shift together, then +pressing and holding the left mouse button and moving around. The unicode +hex code(s) (it might be a combining character) of the character under the +pointer is displayed until you release Control and Shift.

    +

    In addition to the hex codes it will display the font used to draw this +character - due to implementation reasons, characters combined with +combining characters, line drawing characters and unknown characters will +always be drawn using the built-in support font.

    +

+

With respect to conformance, rxvt-unicode is supposed to be compliant to +both scenario A and B of ISO 14755, including part 5.2.

+

+

+
+

LOGIN STAMP

+

rxvt tries to write an entry into the utmp(5) file so +that it can be seen via the who(1) command, and can accept messages. +To allow this feature, rxvt must be installed setuid root on +some systems.

+

+

+
+

COLORS AND GRAPHICS

+

In addition to the default foreground and background colours, +rxvt can display up to 16 colours (8 ANSI colours plus +high-intensity bold/blink versions of the same). Here is a list of the +colours with their rgb.txt names.

+ + + + + + + + + + + + + + + + + + + +
color0(black)= Black
color1(red)= Red3
color2(green)= Green3
color3(yellow)= Yellow3
color4(blue)= Blue3
color5(magenta)= Magenta3
color6(cyan)= Cyan3
color7(white)= AntiqueWhite
color8(bright black)= Grey25
color9(bright red)= Red
color10(bright green)= Green
color11(bright yellow)= Yellow
color12(bright blue)= Blue
color13(bright magenta)= Magenta
color14(bright cyan)= Cyan
color15(bright white)= White
foreground= Black
background= White

It is also possible to specify the colour values of foreground, +background, cursorColor, cursorColor2, colorBD, colorUL as +a number 0-15, as a convenient shorthand to reference the colour name of +color0-color15.

+

Note that -rv (``reverseVideo: True'') simulates reverse video by +always swapping the foreground/background colours. This is in contrast to +xterm(1) where the colours are only swapped if they have not otherwise +been specified. For example,

+
+
rxvt -fg Black -bg White -rv
+
+
+would yield White on Black, while on xterm(1) it would yield Black +on White. +
+

+

+

+
+

ENVIRONMENT

+

rxvt sets the environment variables TERM, COLORTERM +and COLORFGBG. The environment variable WINDOWID is set to the X +window id number of the rxvt window and it also uses and +sets the environment variable DISPLAY to specify which display +terminal to use. rxvt uses the environment variables +RXVTPATH and PATH to find XPM files.

+

+

+
+

FILES

+
+
/etc/utmp
+
+
+System file for login records. +
+

+
/usr/lib/X11/rgb.txt
+
+
+Color names. +
+

+

+

+
+

SEE ALSO

+

rxvt(7), xterm(1), sh(1), resize(1), X(1), pty(4), tty(4), utmp(5)

+

+

+
+

BUGS

+

Check the BUGS file for an up-to-date list.

+

Cursor change support is not yet implemented.

+

Click-and-drag doesn't work with X11 mouse report overriding.

+

+

+
+

CURRENT PROJECT COORDINATOR

+
+
Project Coordinator
+
+
+Marc A. Lehmann rxvt@schmorp.de +
+

+
Web page maintainter
+
+
+Marc A. Lehmann rxvt@schmorp.de +
+
+

http://software.schmorp.de/

+
+

+

+

+
+

AUTHORS

+
+
John Bovey
+
+
+University of Kent, 1992, wrote the original Xvt. +
+

+
Rob Nation >
+
+
+very heavily modified Xvt and came up with Rxvt +
+

+
Angelo Haritsis >
+
+
+wrote the Greek Keyboard Input (no longer in code) +
+

+
mj olesen >
+
+
+Wrote the menu system. +
+
+

Project Coordinator (changes.txt 2.11 to 2.21)

+
+

+
Oezguer Kesim >
+
+
+Project Coordinator (changes.txt 2.21a to 2.4.5) +
+

+
Geoff Wing >
+
+
+Rewrote screen display and text selection routines. Project Coordinator +(changes.txt 2.4.6 - rxvt-unicode) +
+

+
Marc Alexander Lehmann >
+
+
+Forked rxvt-unicode, rewrote most of the display code and internal +character handling to store text in unicode, improve xterm +compatibility and apply numerous other bugfixes and extensions. +
+
+

Project Coordinator (Changes 1.0 -)

+
+

+ + + + diff --git a/doc/rxvt.1.man.in b/doc/rxvt.1.man.in new file mode 100644 index 00000000..45afbf65 --- /dev/null +++ b/doc/rxvt.1.man.in @@ -0,0 +1,1065 @@ +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sh \" Subsection heading +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. | will give a +.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to +.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' +.\" expand to `' in nroff, nothing in troff, for use with C<>. +.tr \(*W-|\(bv\*(Tr +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` +. ds C' +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.\" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.hy 0 +.if n .na +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "rxvt 1" +.TH rxvt 1 "2005-01-11" "4.8" "RXVT-UNICODE" +.SH "NAME" +rxvt\-unicode (ouR XVT, unicode) \- (a VT102 emulator for the X window system) +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fB@@RXVT_NAME@@\fR [options] [\-e command [ args ]] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +\&\fBrxvt-unicode\fR, version \fB@@RXVT_VERSION@@\fR, is a colour vt102 terminal +emulator intended as an \fIxterm\fR(1) replacement for users who do not +require features such as Tektronix 4014 emulation and toolkit-style +configurability. As a result, \fBrxvt-unicode\fR uses much less swap space \*(-- +a significant advantage on a machine serving many X sessions. +.SH "FREQUENTLY ASKED QUESTIONS" +.IX Header "FREQUENTLY ASKED QUESTIONS" +See @@RXVT_NAME@@(7) (try \f(CW\*(C`man 7 @@RXVT_NAME@@\*(C'\fR) for a list of frequently +asked questions and answer to them and some common problems. +.SH "RXVT-UNICODE VS. RXVT" +.IX Header "RXVT-UNICODE VS. RXVT" +Unlike the original rxvt, \fBrxvt-unicode\fR stores all text in Unicode +internally. That means it can store and display most scripts in the +world. Being a terminal emulator, however, some things are very difficult, +especially cursive scripts such as arabic, vertically written scripts +like mongolian or scripts requiring extremely complex combining rules, +like tibetan or devenagari. Don't expect pretty output when using these +scripts. Most other scripts, latin, cyrillic, kanji, thai etc. should work +fine, though. A somewhat difficult case are left-to-right scripts, such +as hebrew: \fBrxvt-unicode\fR adopts the view that bidirectional algorithms +belong into the application, not the terminal emulator (too many things \*(-- +such as cursor-movement while editing \*(-- break otherwise), but that might +change. +.PP +If you are looking for a terminal that supports more exotic scripts, let +me recommend \f(CW\*(C`mlterm\*(C'\fR, which is a very userfriendly, lean and clean +terminal emulator. In fact, the reason rxvt-unicode was born was solely +because the author couldn't get \f(CW\*(C`mlterm\*(C'\fR to use one font for latin1 and +another for japanese. +.PP +Therefore another design rationale was the use of multiple fonts to +display characters: The idea of a single unicode font which many other +programs force onto it's users never made sense to me: You should be able +to choose any font for any script freely. +.PP +Apart from that, rxvt-unicode is also much better internationalised than +it's predecessor, supports things such as \s-1XFT\s0 and \s-1ISO\s0 14755 that are handy +in i18n\-environments, is faster, and has a lot less bugs than the original +rxvt. This all in addition to dozens of other small improvements. +.PP +It is still faithfully following the original rxvt idea of being lean +and nice on resources: for example, you can still configure rxvt-unicode +without most of it's features to get a lean binary. It also comes with +a client/daemon pair that lets you open any number of terminal windows +from within a single process, which makes startup time very fast and +drastically reduces memory usage. See @@RXVT_NAME@@d(1) (daemon) and +@@RXVT_NAME@@c(1) (client). +.PP +It also makes technical information about escape sequences (which have +been extended) easier accessible: see @@RXVT_NAME@@(7) for technical +reference documentation (escape sequences etc.). +.SH "OPTIONS" +.IX Header "OPTIONS" +The \fB@@RXVT_NAME@@\fR options (mostly a subset of \fIxterm\fR's) are listed +below. In keeping with the smaller-is-better philosophy, options may be +eliminated or default values chosen at compile\-time, so options and +defaults listed may not accurately reflect the version installed on +your system. `@@RXVT_NAME@@ \-h' gives a list of major compile-time options on +the \fIOptions\fR line. Option descriptions may be prefixed with which +compile option each is dependent upon. e.g. `Compile \fI\s-1XIM\s0\fR:' requires +\&\fI\s-1XIM\s0\fR on the \fIOptions\fR line. Note: `@@RXVT_NAME@@ \-help' gives a list of all +command-line options compiled into your version. +.PP +Note that \fB@@RXVT_NAME@@\fR permits the resource name to be used as a +long-option (\-\-/++ option) so the potential command-line options are +far greater than those listed. For example: `@@RXVT_NAME@@ \-\-loginShell \-\-color1 +Orange'. +.PP +The following options are available: +.IP "\fB\-help\fR, \fB\-\-help\fR" 4 +.IX Item "-help, --help" +Print out a message describing available options. +.IP "\fB\-display\fR \fIdisplayname\fR" 4 +.IX Item "-display displayname" +Attempt to open a window on the named X display (\fB\-d\fR still +respected). In the absence of this option, the display specified by the +\&\fB\s-1DISPLAY\s0\fR environment variable is used. +.IP "\fB\-geometry\fR \fIgeom\fR" 4 +.IX Item "-geometry geom" +Window geometry (\fB\-g\fR still respected); resource \fBgeometry\fR. +.IP "\fB\-rv\fR|\fB+rv\fR" 4 +.IX Item "-rv|+rv" +Turn on/off simulated reverse video; resource \fBreverseVideo\fR. +.IP "\fB\-j\fR|\fB+j\fR" 4 +.IX Item "-j|+j" +Turn on/off jump scrolling; resource \fBjumpScroll\fR. +.IP "\fB\-ip\fR|\fB+ip\fR" 4 +.IX Item "-ip|+ip" +Turn on/off inheriting parent window's pixmap. Alternative form is +\&\fB\-tr\fR; resource \fBinheritPixmap\fR. +.IP "\fB\-fade\fR \fInumber\fR" 4 +.IX Item "-fade number" +Fade the text by the given percentage when focus is lost. resource \fBfading\fR. +.IP "\fB\-tint\fR \fIcolour\fR" 4 +.IX Item "-tint colour" +Tint the transparent background pixmap with the given colour when +transparency is enabled with \fB\-tr\fR or \fB\-ip\fR. See also the \fB\-sh\fR +option that can be used to brighten or darken the image in addition to +tinting it. +.IP "\fB\-sh\fR" 4 +.IX Item "-sh" +\&\fInumber\fR Darken (0 .. 100) or lighten (\-1 .. \-100) the transparent +background image in addition to tinting it (i.e. \fB\-tint\fR must be +specified, too, e.g. \f(CW\*(C`\-tint white\*(C'\fR). +.IP "\fB\-bg\fR \fIcolour\fR" 4 +.IX Item "-bg colour" +Window background colour; resource \fBbackground\fR. +.IP "\fB\-fg\fR \fIcolour\fR" 4 +.IX Item "-fg colour" +Window foreground colour; resource \fBforeground\fR. +.IP "\fB\-pixmap\fR \fIfile[;geom]\fR" 4 +.IX Item "-pixmap file[;geom]" +Compile \fI\s-1XPM\s0\fR: Specify \s-1XPM\s0 file for the background and also optionally +specify its scaling with a geometry string. Note you may need to add +quotes to avoid special shell interpretation of the `;' in the +command\-line; resource \fBbackgroundPixmap\fR. +.IP "\fB\-cr\fR \fIcolour\fR" 4 +.IX Item "-cr colour" +The cursor colour; resource \fBcursorColor\fR. +.IP "\fB\-pr\fR \fIcolour\fR" 4 +.IX Item "-pr colour" +The mouse pointer foreground colour; resource \fBpointerColor\fR. +.IP "\fB\-pr2\fR \fIcolour\fR" 4 +.IX Item "-pr2 colour" +The mouse pointer background colour; resource \fBpointerColor2\fR. +.IP "\fB\-bd\fR \fIcolour\fR" 4 +.IX Item "-bd colour" +The colour of the border around the text area and between the scrollbar and the text; +resource \fBborderColor\fR. +.IP "\fB\-fn\fR \fIfontlist\fR" 4 +.IX Item "-fn fontlist" +Select the fonts to be used. This is a comma separated list of font names +that are used in turn when trying to display Unicode characters. The +first font defines the cell size for characters; other fonts might be +smaller, but not (in general) larger. A (hopefully) reasonable default +font list is always appended to it. See resource \fBfont\fR for more details. +.Sp +In short, to specify an X11 core font, just specify it's name or prefix it +with \f(CW\*(C`x:\*(C'\fR. To specify an XFT\-font, you need to prefix it with \f(CW\*(C`xft:\*(C'\fR, +e.g.: +.Sp +.Vb 2 +\& @@RXVT_NAME@@ -fn "xft:Bitstream Vera Sans Mono:pixelsize=15" +\& @@RXVT_NAME@@ -fn "9x15bold,xft:Bitstream Vera Sans Mono" +.Ve +.Sp +See also the question \*(L"How does rxvt-unicode choose fonts?\*(R" in the \s-1FAQ\s0 +section of @@RXVT_NAME@@(7). +.IP "\fB\-fb\fR \fIfontlist\fR" 4 +.IX Item "-fb fontlist" +Compile font\-styles: The bold font list to use when bold characters are to +be printed. See resource \fBboldFont\fR for details. +.IP "\fB\-fi\fR \fIfontlist\fR" 4 +.IX Item "-fi fontlist" +Compile font\-styles: The italic font list to use when bold characters are to +be printed. See resource \fBitalicFont\fR for details. +.IP "\fB\-fbi\fR \fIfontlist\fR" 4 +.IX Item "-fbi fontlist" +Compile font\-styles: The bold italic font list to use when bold characters are to +be printed. See resource \fBboldItalicFont\fR for details. +.IP "\fB\-name\fR \fIname\fR" 4 +.IX Item "-name name" +Specify the application name under which resources are to be obtained, +rather than the default executable file name. Name should not contain +`.' or `*' characters. Also sets the icon and title name. +.IP "\fB\-ls\fR|\fB+ls\fR" 4 +.IX Item "-ls|+ls" +Start as a login\-shell/sub\-shell; resource \fBloginShell\fR. +.IP "\fB\-ut\fR|\fB+ut\fR" 4 +.IX Item "-ut|+ut" +Compile \fIutmp\fR: Inhibit/enable writing a utmp entry; resource +\&\fButmpInhibit\fR. +.IP "\fB\-vb\fR|\fB+vb\fR" 4 +.IX Item "-vb|+vb" +Turn on/off visual bell on receipt of a bell character; resource +\&\fBvisualBell\fR. +.IP "\fB\-sb\fR|\fB+sb\fR" 4 +.IX Item "-sb|+sb" +Turn on/off scrollbar; resource \fBscrollBar\fR. +.IP "\fB\-si\fR|\fB+si\fR" 4 +.IX Item "-si|+si" +Turn on/off scroll-to-bottom on \s-1TTY\s0 output inhibit; resource +\&\fBscrollTtyOutput\fR has opposite effect. +.IP "\fB\-sk\fR|\fB+sk\fR" 4 +.IX Item "-sk|+sk" +Turn on/off scroll-to-bottom on keypress; resource +\&\fBscrollTtyKeypress\fR. +.IP "\fB\-sw\fR|\fB+sw\fR" 4 +.IX Item "-sw|+sw" +Turn on/off scrolling with the scrollback buffer as new lines appear. +This only takes effect if \fB\-si\fR is also given; resource +\&\fBscrollWithBuffer\fR. +.IP "\fB\-sr\fR|\fB+sr\fR" 4 +.IX Item "-sr|+sr" +Put scrollbar on right/left; resource \fBscrollBar_right\fR. +.IP "\fB\-st\fR|\fB+st\fR" 4 +.IX Item "-st|+st" +Display normal (non XTerm/NeXT) scrollbar without/with a trough; +resource \fBscrollBar_floating\fR. +.IP "\fB\-ptab\fR|\fB+ptab\fR" 4 +.IX Item "-ptab|+ptab" +If enabled (default), \*(L"Horizontal Tab\*(R" characters are being stored as +actual wide characters in the screen buffer, which makes it possible to +select and paste them. Since a horizontal tab is a cursor movement and +not an actual glyph, this can sometimes be visually annoying as the cursor +on a tab character is displayed as a wide cursor; resource \fBpastableTabs\fR. +.IP "\fB\-bc\fR|\fB+bc\fR" 4 +.IX Item "-bc|+bc" +Blink the cursor; resource \fBcursorBlink\fR. +.IP "\fB\-iconic\fR" 4 +.IX Item "-iconic" +Start iconified, if the window manager supports that option. +Alternative form is \fB\-ic\fR. +.IP "\fB\-sl\fR \fInumber\fR" 4 +.IX Item "-sl number" +Save \fInumber\fR lines in the scrollback buffer. See resource entry for +limits; resource \fBsaveLines\fR. +.IP "\fB\-b\fR \fInumber\fR" 4 +.IX Item "-b number" +Compile \fIfrills\fR: Internal border of \fInumber\fR pixels. See resource +entry for limits; resource \fBinternalBorder\fR. +.IP "\fB\-w\fR \fInumber\fR" 4 +.IX Item "-w number" +Compile \fIfrills\fR: External border of \fInumber\fR pixels. Also, \fB\-bw\fR +and \fB\-borderwidth\fR. See resource entry for limits; resource +\&\fBexternalBorder\fR. +.IP "\fB\-bl\fR" 4 +.IX Item "-bl" +Compile \fIfrills\fR: Set \s-1MWM\s0 hints to request a borderless window, i.e. +if honoured by the \s-1WM\s0, the rxvt-unicode window will not have window +decorations; resource \fBborderLess\fR. +.IP "\fB\-lsp\fR \fInumber\fR" 4 +.IX Item "-lsp number" +Compile \fIfrills\fR: Lines (pixel height) to insert between each row of +the display. Useful to work around font rendering problems; resource +\&\fBlinespace\fR. +.IP "\fB\-tn\fR \fItermname\fR" 4 +.IX Item "-tn termname" +This option specifies the name of the terminal type to be set in the +\&\fB\s-1TERM\s0\fR environment variable. This terminal type must exist in the +\&\fI\fItermcap\fI\|(5)\fR database and should have \fIli#\fR and \fIco#\fR entries; +resource \fBtermName\fR. +.IP "\fB\-e\fR \fIcommand [arguments]\fR" 4 +.IX Item "-e command [arguments]" +Run the command with its command-line arguments in the \fB@@RXVT_NAME@@\fR +window; also sets the window title and icon name to be the basename of +the program being executed if neither \fI\-title\fR (\fI\-T\fR) nor \fI\-n\fR are +given on the command line. If this option is used, it must be the last +on the command\-line. If there is no \fB\-e\fR option then the default is to +run the program specified by the \fB\s-1SHELL\s0\fR environment variable or, +failing that, \fI\fIsh\fI\|(1)\fR. +.IP "\fB\-title\fR \fItext\fR" 4 +.IX Item "-title text" +Window title (\fB\-T\fR still respected); the default title is the basename +of the program specified after the \fB\-e\fR option, if any, otherwise the +application name; resource \fBtitle\fR. +.IP "\fB\-n\fR \fItext\fR" 4 +.IX Item "-n text" +Icon name; the default name is the basename of the program specified +after the \fB\-e\fR option, if any, otherwise the application name; +resource \fBiconName\fR. +.IP "\fB\-C\fR" 4 +.IX Item "-C" +Capture system console messages. +.IP "\fB\-pt\fR \fIstyle\fR" 4 +.IX Item "-pt style" +Compile \fI\s-1XIM\s0\fR: input style for input method; \fBOverTheSpot\fR, +\&\fBOffTheSpot\fR, \fBRoot\fR; resource \fBpreeditType\fR. +.IP "\fB\-im\fR \fItext\fR" 4 +.IX Item "-im text" +Compile \fI\s-1XIM\s0\fR: input method name. resource \fBinputMethod\fR. +.IP "\fB\-imlocale\fR \fIstring\fR" 4 +.IX Item "-imlocale string" +The locale to use for opening the \s-1IM\s0. You can use an \s-1LC_CTYPE\s0 of e.g. +de_DE.UTF\-8 for normal text processing but ja_JP.EUC\-JP for the input +extension to be able to input japanese characters while staying in +another locale. +.IP "\fB\-insecure\fR" 4 +.IX Item "-insecure" +Enable \*(L"insecure\*(R" mode, which currently enables most of the escape +sequences that echo strings. See the resource \fBinsecure\fR for more +info. +.IP "\fB\-mod\fR \fImodifier\fR" 4 +.IX Item "-mod modifier" +Override detection of Meta modifier with specified key: \fBalt\fR, +\&\fBmeta\fR, \fBhyper\fR, \fBsuper\fR, \fBmod1\fR, \fBmod2\fR, \fBmod3\fR, \fBmod4\fR, +\&\fBmod5\fR; resource \fImodifier\fR. +.IP "\fB\-ssc\fR|\fB+ssc\fR" 4 +.IX Item "-ssc|+ssc" +Turn on/off secondary screen (default enabled); resource +\&\fBsecondaryScreen\fR. +.IP "\fB\-ssr\fR|\fB+ssr\fR" 4 +.IX Item "-ssr|+ssr" +Turn on/off secondary screen scroll (default enabled); resource +\&\fBsecondaryScroll\fR. +.IP "\fB\-xrm\fR \fIresourcestring\fR" 4 +.IX Item "-xrm resourcestring" +No effect on rxvt\-unicode. Simply passes through an argument to be made +available in the instance's argument list. Appears in \fI\s-1WM_COMMAND\s0\fR in +some window managers. +.SH "RESOURCES (available also as long\-options)" +.IX Header "RESOURCES (available also as long-options)" +Note: `@@RXVT_NAME@@ \-\-help' gives a list of all resources (long +options) compiled into your version. +.PP +There are two different methods that @@RXVT_NAME@@ can use to get the +Xresource data: using the X libraries (Xrm*\-functions) or internal +Xresources reader (\fB~/.Xdefaults\fR). For the first method (ie. +\&\fB@@RXVT_NAME@@ \-h\fR lists \fBXGetDefaults\fR), you can set and change the +resources using X11 tools like \fBxset\fR. Many distribution do also load +settings from the \fB~/.Xresources\fR file when X starts. +.PP +If compiled with internal Xresources support (i.e. \fB@@RXVT_NAME@@ \-h\fR +lists \fB.Xdefaults\fR) then \fB@@RXVT_NAME@@\fR accepts application defaults +set in XAPPLOADDIR/URxvt (compile\-time defined: usually +\&\fB/usr/lib/X11/app\-defaults/URxvt\fR) and resources set in +\&\fB~/.Xdefaults\fR, or \fB~/.Xresources\fR if \fB~/.Xdefaults\fR does not exist. +Note that when reading X resources, \fB@@RXVT_NAME@@\fR recognizes two +class names: \fBXTerm\fR and \fBURxvt\fR. The class name \fBRxvt\fR allows +resources common to both \fB@@RXVT_NAME@@\fR and the original \fIrxvt\fR to be +easily configured, while the class name \fBURxvt\fR allows resources +unique to \fB@@RXVT_NAME@@\fR, notably colours and key\-handling, to be +shared between different \fB@@RXVT_NAME@@\fR configurations. If no +resources are specified, suitable defaults will be used. Command-line +arguments can be used to override resource settings. The following +resources are allowed: +.IP "\fBgeometry:\fR \fIgeom\fR" 4 +.IX Item "geometry: geom" +Create the window with the specified X window geometry [default 80x24]; +option \fB\-geometry\fR. +.IP "\fBbackground:\fR \fIcolour\fR" 4 +.IX Item "background: colour" +Use the specified colour as the window's background colour [default +White]; option \fB\-bg\fR. +.IP "\fBforeground:\fR \fIcolour\fR" 4 +.IX Item "foreground: colour" +Use the specified colour as the window's foreground colour [default +Black]; option \fB\-fg\fR. +.IP "\fBcolor\fR\fIn\fR\fB:\fR \fIcolour\fR" 4 +.IX Item "colorn: colour" +Use the specified colour for the colour value \fIn\fR, where 0\-7 +corresponds to low-intensity (normal) colours and 8\-15 corresponds to +high-intensity (bold = bright foreground, blink = bright background) +colours. The canonical names are as follows: 0=black, 1=red, 2=green, +3=yellow, 4=blue, 5=magenta, 6=cyan, 7=white, but the actual colour +names used are listed in the \fB\s-1COLORS\s0 \s-1AND\s0 \s-1GRAPHICS\s0\fR section. +.Sp +Colours higher than 15 cannot be set using resources (yet), but can be +changed using an escape command (see @@RXVT_NAME@@(7)). +.Sp +Colours 16\-79 form a standard 4x4x4 colour cube (the same as xterm with +88 colour support). Colours 80\-87 are evenly spaces grey steps. +.IP "\fBcolorBD:\fR \fIcolour\fR" 4 +.IX Item "colorBD: colour" +.PD 0 +.IP "\fBcolorIT:\fR \fIcolour\fR" 4 +.IX Item "colorIT: colour" +.PD +Use the specified colour to display bold or italic characters when the +foreground colour is the default. If font styles are not available +(Compile styles) and this option is unset, reverse video is used instead. +.IP "\fBcolorUL:\fR \fIcolour\fR" 4 +.IX Item "colorUL: colour" +Use the specified colour to display underlined characters when the +foreground colour is the default. +.IP "\fBcolorRV:\fR \fIcolour\fR" 4 +.IX Item "colorRV: colour" +Use the specified colour as the background for reverse video +characters. +.IP "\fBunderlineColor:\fR \fIcolour\fR" 4 +.IX Item "underlineColor: colour" +If set, use the specified colour as the colour for the underline +itself. If unset, use the foreground colour. +.IP "\fBcursorColor:\fR \fIcolour\fR" 4 +.IX Item "cursorColor: colour" +Use the specified colour for the cursor. The default is to use the +foreground colour; option \fB\-cr\fR. +.IP "\fBcursorColor2:\fR \fIcolour\fR" 4 +.IX Item "cursorColor2: colour" +Use the specified colour for the colour of the cursor text. For this to +take effect, \fBcursorColor\fR must also be specified. The default is to +use the background colour. +.IP "\fBreverseVideo:\fR \fIboolean\fR" 4 +.IX Item "reverseVideo: boolean" +\&\fBTrue\fR: simulate reverse video by foreground and background colours; +option \fB\-rv\fR. \fBFalse\fR: regular screen colours [default]; option +\&\fB+rv\fR. See note in \fB\s-1COLORS\s0 \s-1AND\s0 \s-1GRAPHICS\s0\fR section. +.IP "\fBjumpScroll:\fR \fIboolean\fR" 4 +.IX Item "jumpScroll: boolean" +\&\fBTrue\fR: specify that jump scrolling should be used. When scrolling +quickly, fewer screen updates are performed [default]; option \fB\-j\fR. +\&\fBFalse\fR: specify that smooth scrolling should be used; option \fB+j\fR. +.IP "\fBinheritPixmap:\fR \fIboolean\fR" 4 +.IX Item "inheritPixmap: boolean" +\&\fBTrue\fR: make the background inherit the parent windows' pixmap, giving +artificial transparency. \fBFalse\fR: do not inherit the parent windows' +pixmap. +.IP "\fBfading:\fR \fInumber\fR" 4 +.IX Item "fading: number" +Fade the text by the given percentage when focus is lost. +.IP "\fBtintColor:\fR \fIcolour\fR" 4 +.IX Item "tintColor: colour" +Tint the transparent background pixmap with the given colour. +.IP "\fBshading:\fR \fInumber\fR" 4 +.IX Item "shading: number" +Darken (0 .. 100) or lighten (\-1 .. \-100) the transparent background +image in addition to tinting it. +.IP "\fBscrollColor:\fR \fIcolour\fR" 4 +.IX Item "scrollColor: colour" +Use the specified colour for the scrollbar [default #B2B2B2]. +.IP "\fBtroughColor:\fR \fIcolour\fR" 4 +.IX Item "troughColor: colour" +Use the specified colour for the scrollbar's trough area [default +#969696]. Only relevant for normal (non XTerm/NeXT) scrollbar. +.IP "\fBborderColor:\fR \fIcolour\fR" 4 +.IX Item "borderColor: colour" +The colour of the border around the text area and between the scrollbar +and the text. +.IP "\fBbackgroundPixmap:\fR \fIfile[;geom]\fR" 4 +.IX Item "backgroundPixmap: file[;geom]" +Use the specified \s-1XPM\s0 file (note the `.xpm' extension is optional) for +the background and also optionally specify its scaling with a geometry +string \fBWxH+X+Y\fR, in which \fB\*(L"W\*(R" / \*(L"H\*(R"\fR specify the +horizontal/vertical scale (percent) and \fB\*(L"X\*(R" / \*(L"Y\*(R"\fR locate the image +centre (percent). A scale of 0 displays the image with tiling. A scale +of 1 displays the image without any scaling. A scale of 2 to 9 +specifies an integer number of images in that direction. No image will +be magnified beyond 10 times its original size. The maximum permitted +scale is 1000. [default 0x0+50+50] +.IP "\fBmenu:\fR \fIfile[;tag]\fR" 4 +.IX Item "menu: file[;tag]" +Read in the specified menu file (note the `.menu' extension is +optional) and also optionally specify a starting tag to find. See the +reference documentation for details on the syntax for the menuBar. +.IP "\fBpath:\fR \fIpath\fR" 4 +.IX Item "path: path" +Specify the colon-delimited search path for finding files (\s-1XPM\s0 and +menus), in addition to the paths specified by the \fB\s-1RXVTPATH\s0\fR and +\&\fB\s-1PATH\s0\fR environment variables. +.IP "\fBfont:\fR \fIfontlist\fR" 4 +.IX Item "font: fontlist" +Select the fonts to be used. This is a comma separated list of font +names that are used in turn when trying to display Unicode characters. +The first font defines the cell size for characters; other fonts might +be smaller, but not larger. A reasonable default font list is always +appended to it. option \fB\-fn\fR. +.Sp +Each font can either be a standard X11 core font (\s-1XLFD\s0) name, with +optional prefix \f(CW\*(C`x:\*(C'\fR or a Xft font (Compile xft), prefixed with \f(CW\*(C`xft:\*(C'\fR. +.Sp +In addition, each font can be prefixed with additional hints and +specifications enclosed in square brackets (\f(CW\*(C`[]\*(C'\fR). The only available +hint currently is \f(CW\*(C`codeset=codeset\-name\*(C'\fR, and this is only used for Xft +fonts. +.Sp +For example, this font resource +.Sp +.Vb 5 +\& URxvt*font: 9x15bold,\e +\& -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso10646-1,\e +\& -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1, \e +\& [codeset=JISX0208]xft:Kochi Gothic:antialias=false, \e +\& xft:Code2000:antialias=false +.Ve +.Sp +specifies five fonts to be used. The first one is \f(CW\*(C`9x15bold\*(C'\fR (actually +the iso8859\-1 version of the second font), which is the base font (because +it is named first) and thus defines the character cell grid to be 9 pixels +wide and 15 pixels high. +.Sp +The second font is just used to add additional unicode characters not in +the base font, likewise the third, which is unfortunately non\-bold, but +the bold version of the font does contain less characters, so this is a +useful supplement. +.Sp +The third font is an Xft font with aliasing turned off, and the characters +are limited to the \fB\s-1JIS\s0 0208\fR codeset (i.e. japanese kanji). The font +contains other characters, but we are not interested in them. +.Sp +The last font is a useful catch-all font that supplies most of the +remaining unicode characters. +.IP "\fBboldFont:\fR \fIfontlist\fR" 4 +.IX Item "boldFont: fontlist" +.PD 0 +.IP "\fBitalicFont:\fR \fIfontlist\fR" 4 +.IX Item "italicFont: fontlist" +.IP "\fBboldItalicFont:\fR \fIfontlist\fR" 4 +.IX Item "boldItalicFont: fontlist" +.PD +The font list to use for displaying \fBbold\fR, \fIitalic\fR or \fB\f(BIbold +italic\fB\fR characters, respectively. +.Sp +If specified and non\-empty, then the syntax is the same as for the +\&\fBfont\fR\-resource, and the given font list will be used as is, which makes +it possible to substitute completely different font styles for bold and +italic. +.Sp +If unset (the default), a suitable font list will be synthesized by +\&\*(L"morphing\*(R" the normal text font list into the desired shape. If that is +not possible, replacement fonts of the desired shape will be tried. +.Sp +If set, but empty, then this specific style is disabled and the normal +text font will being used for the given style. +.IP "\fBselectstyle:\fR \fImode\fR" 4 +.IX Item "selectstyle: mode" +Set mouse selection style to \fBold\fR which is 2.20, \fBoldword\fR which is +xterm style with 2.20 old word selection, or anything else which gives +xterm style selection. +.IP "\fBscrollstyle:\fR \fImode\fR" 4 +.IX Item "scrollstyle: mode" +Set scrollbar style to \fBrxvt\fR, \fBplain\fR, \fBnext\fR or \fBxterm\fR. \fBplain\fR is +the author's favourite.. +.IP "\fBtitle:\fR \fIstring\fR" 4 +.IX Item "title: string" +Set window title string, the default title is the command-line +specified after the \fB\-e\fR option, if any, otherwise the application +name; option \fB\-title\fR. +.IP "\fBiconName:\fR \fIstring\fR" 4 +.IX Item "iconName: string" +Set the name used to label the window's icon or displayed in an icon +manager window, it also sets the window's title unless it is explicitly +set; option \fB\-n\fR. +.IP "\fBmapAlert:\fR \fIboolean\fR" 4 +.IX Item "mapAlert: boolean" +\&\fBTrue\fR: de-iconify (map) on receipt of a bell character. \fBFalse\fR: no +de-iconify (map) on receipt of a bell character [default]. +.IP "\fBvisualBell:\fR \fIboolean\fR" 4 +.IX Item "visualBell: boolean" +\&\fBTrue\fR: use visual bell on receipt of a bell character; option \fB\-vb\fR. +\&\fBFalse\fR: no visual bell [default]; option \fB+vb\fR. +.IP "\fBloginShell:\fR \fIboolean\fR" 4 +.IX Item "loginShell: boolean" +\&\fBTrue\fR: start as a login shell by prepending a `\-' to \fBargv[0]\fR of +the shell; option \fB\-ls\fR. \fBFalse\fR: start as a normal sub-shell +[default]; option \fB+ls\fR. +.IP "\fButmpInhibit:\fR \fIboolean\fR" 4 +.IX Item "utmpInhibit: boolean" +\&\fBTrue\fR: inhibit writing record into the system log file \fButmp\fR; +option \fB\-ut\fR. \fBFalse\fR: write record into the system log file \fButmp\fR +[default]; option \fB+ut\fR. +.IP "\fBprint\-pipe:\fR \fIstring\fR" 4 +.IX Item "print-pipe: string" +Specify a command pipe for vt100 printer [default \fI\fIlpr\fI\|(1)\fR]. Use +\&\fBPrint\fR to initiate a screen dump to the printer and \fBCtrl-Print\fR or +\&\fBShift-Print\fR to include the scrollback as well. +.IP "\fBscrollBar:\fR \fIboolean\fR" 4 +.IX Item "scrollBar: boolean" +\&\fBTrue\fR: enable the scrollbar [default]; option \fB\-sb\fR. \fBFalse\fR: +disable the scrollbar; option \fB+sb\fR. +.IP "\fBscrollBar_right:\fR \fIboolean\fR" 4 +.IX Item "scrollBar_right: boolean" +\&\fBTrue\fR: place the scrollbar on the right of the window; option \fB\-sr\fR. +\&\fBFalse\fR: place the scrollbar on the left of the window; option \fB+sr\fR. +.IP "\fBscrollBar_floating:\fR \fIboolean\fR" 4 +.IX Item "scrollBar_floating: boolean" +\&\fBTrue\fR: display an rxvt scrollbar without a trough; option \fB\-st\fR. +\&\fBFalse\fR: display an rxvt scrollbar with a trough; option \fB+st\fR. +.IP "\fBscrollBar_align:\fR \fImode\fR" 4 +.IX Item "scrollBar_align: mode" +Align the \fBtop\fR, \fBbottom\fR or \fBcentre\fR [default] of the scrollbar +thumb with the pointer on middle button press/drag. +.IP "\fBscrollTtyOutput:\fR \fIboolean\fR" 4 +.IX Item "scrollTtyOutput: boolean" +\&\fBTrue\fR: scroll to bottom when tty receives output; option \fB\-si\fR. +\&\fBFalse\fR: do not scroll to bottom when tty receives output; option +\&\fB+si\fR. +.IP "\fBscrollWithBuffer:\fR \fIboolean\fR" 4 +.IX Item "scrollWithBuffer: boolean" +\&\fBTrue\fR: scroll with scrollback buffer when tty receives new lines (and +\&\fBscrollTtyOutput\fR is False); option \fB+sw\fR. \fBFalse\fR: do not scroll +with scrollback buffer when tty recieves new lines; option \fB\-sw\fR. +.IP "\fBscrollTtyKeypress:\fR \fIboolean\fR" 4 +.IX Item "scrollTtyKeypress: boolean" +\&\fBTrue\fR: scroll to bottom when a non-special key is pressed. Special keys +are those which are intercepted by rxvt-unicode for special handling and +are not passed onto the shell; option \fB\-sk\fR. \fBFalse\fR: do not scroll to +bottom when a non-special key is pressed; option \fB+sk\fR. +.IP "\fBsaveLines:\fR \fInumber\fR" 4 +.IX Item "saveLines: number" +Save \fInumber\fR lines in the scrollback buffer [default 64]. This +resource is limited on most machines to 65535; option \fB\-sl\fR. +.IP "\fBinternalBorder:\fR \fInumber\fR" 4 +.IX Item "internalBorder: number" +Internal border of \fInumber\fR pixels. This resource is limited to 100; +option \fB\-b\fR. +.IP "\fBexternalBorder:\fR \fInumber\fR" 4 +.IX Item "externalBorder: number" +External border of \fInumber\fR pixels. This resource is limited to 100; +option \fB\-w\fR, \fB\-bw\fR, \fB\-borderwidth\fR. +.IP "\fBborderLess:\fR \fIboolean\fR" 4 +.IX Item "borderLess: boolean" +Set \s-1MWM\s0 hints to request a borderless window, i.e. if honoured by the +\&\s-1WM\s0, the rxvt-unicode window will not have window decorations; option \fB\-bl\fR. +.IP "\fBtermName:\fR \fItermname\fR" 4 +.IX Item "termName: termname" +Specifies the terminal type name to be set in the \fB\s-1TERM\s0\fR environment +variable; option \fB\-tn\fR. +.IP "\fBlinespace:\fR \fInumber\fR" 4 +.IX Item "linespace: number" +Specifies number of lines (pixel height) to insert between each row of +the display [default 0]; option \fB\-lsp\fR. +.IP "\fBmeta8:\fR \fIboolean\fR" 4 +.IX Item "meta8: boolean" +\&\fBTrue\fR: handle Meta (Alt) + keypress to set the 8th bit. \fBFalse\fR: +handle Meta (Alt) + keypress as an escape prefix [default]. +.IP "\fBmouseWheelScrollPage:\fR \fIboolean\fR" 4 +.IX Item "mouseWheelScrollPage: boolean" +\&\fBTrue\fR: the mouse wheel scrolls a page full. \fBFalse\fR: the mouse wheel +scrolls five lines [default]. +.IP "\fBpastableTabs:\fR \fIboolean\fR" 4 +.IX Item "pastableTabs: boolean" +\&\fBTrue\fR: store tabs as wide characters. \fBFalse\fR: interpret tabs as cursor +movement only; option \f(CW\*(C`\-ptab\*(C'\fR. +.IP "\fBcursorBlink:\fR \fIboolean\fR" 4 +.IX Item "cursorBlink: boolean" +\&\fBTrue\fR: blink the cursor. \fBFalse\fR: do not blink the cursor [default]; +option \fB\-bc\fR. +.IP "\fBpointerBlank:\fR \fIboolean\fR" 4 +.IX Item "pointerBlank: boolean" +\&\fBTrue\fR: blank the pointer when a key is pressed or after a set number +of seconds of inactivity. \fBFalse\fR: the pointer is always visible +[default]. +.IP "\fBpointerColor:\fR \fIcolour\fR" 4 +.IX Item "pointerColor: colour" +Mouse pointer foreground colour. +.IP "\fBpointerColor2:\fR \fIcolour\fR" 4 +.IX Item "pointerColor2: colour" +Mouse pointer background colour. +.IP "\fBpointerBlankDelay:\fR \fInumber\fR" 4 +.IX Item "pointerBlankDelay: number" +Specifies number of seconds before blanking the pointer [default 2]. +.IP "\fBbackspacekey:\fR \fIstring\fR" 4 +.IX Item "backspacekey: string" +The string to send when the backspace key is pressed. If set to \fB\s-1DEC\s0\fR +or unset it will send \fBDelete\fR (code 127) or, if shifted, \fBBackspace\fR +(code 8) \- which can be reversed with the appropriate \s-1DEC\s0 private mode +escape sequence. +.IP "\fBdeletekey:\fR \fIstring\fR" 4 +.IX Item "deletekey: string" +The string to send when the delete key (not the keypad delete key) is +pressed. If unset it will send the sequence traditionally associated +with the \fBExecute\fR key. +.IP "\fBcutchars:\fR \fIstring\fR" 4 +.IX Item "cutchars: string" +The characters used as delimiters for double-click word selection. The +built-in default: +.Sp +\&\fB\s-1BACKSLASH\s0 `"'&()*,;<=>?@[]{|}\fR +.IP "\fBpreeditType:\fR \fIstyle\fR" 4 +.IX Item "preeditType: style" +\&\fBOverTheSpot\fR, \fBOffTheSpot\fR, \fBRoot\fR; option \fB\-pt\fR. +.IP "\fBinputMethod:\fR \fIname\fR" 4 +.IX Item "inputMethod: name" +\&\fIname\fR of inputMethod to use; option \fB\-im\fR. +.IP "\fBimLocale:\fR \fIname\fR" 4 +.IX Item "imLocale: name" +The locale to use for opening the \s-1IM\s0. You can use an \s-1LC_CTYPE\s0 of e.g. +de_DE.UTF\-8 for normal text processing but ja_JP.EUC\-JP for the input +extension to be able to input japanese characters while staying in +another locale. option \fB\-imlocale\fR. +.IP "\fBinsecure:\fR \fIboolean\fR" 4 +.IX Item "insecure: boolean" +Enables \*(L"insecure\*(R" mode. Rxvt-unicode offers some escape sequences that +echo arbitrary strings like the icon name or the locale. This could be +abused if somebody gets 8\-bit\-clean access to your display, whether +throuh a mail client displaying mail bodies unfiltered or though +\&\fIwrite\fR\|(1). Therefore, these sequences are disabled by default. (Note +that other terminals, including xterm, have these sequences +enabled by default). You can enable them by setting this boolean +resource or specifying \fB\-insecure\fR as an option. At the moment, this +enabled display\-answer, locale, findfont, icon label and window title +requests as well as dynamic menubar dispatch. +.IP "\fBmodifier:\fR \fImodifier\fR" 4 +.IX Item "modifier: modifier" +Set the key to be interpreted as the Meta key to: \fBalt\fR, \fBmeta\fR, +\&\fBhyper\fR, \fBsuper\fR, \fBmod1\fR, \fBmod2\fR, \fBmod3\fR, \fBmod4\fR, \fBmod5\fR; option +\&\fB\-mod\fR. +.IP "\fBanswerbackString:\fR \fIstring\fR" 4 +.IX Item "answerbackString: string" +Specify the reply rxvt-unicode sends to the shell when an \s-1ENQ\s0 (control\-E) +character is passed through. It may contain escape values as described +in the entry on \fBkeysym\fR following. +.IP "\fBsecondaryScreen:\fR \fIbool\fR" 4 +.IX Item "secondaryScreen: bool" +Turn on/off secondary screen (default enabled). +.IP "\fBsecondaryScroll:\fR \fIbool\fR" 4 +.IX Item "secondaryScroll: bool" +Turn on/off secondary screen scroll (default enabled). If the this +option is enabled, scrolls on the secondary screen will change the +scrollback buffer and switching to/from the secondary screen will +instead scroll the screen up. +.IP "\fBkeysym.\fR\fIsym\fR: \fIstring\fR" 4 +.IX Item "keysym.sym: string" +Associate \fIstring\fR with keysym \fIsym\fR (\fB0xFF00 \- 0xFFFF\fR). It may +contain escape values (\ea: bell, \eb: backspace, \ee, \eE: escape, \en: +newline, \er: return, \et: +tab, \e000: octal number) or control characters (^?: delete, ^@: null, +^A ...) and may enclosed with double quotes so that it can start or end +with whitespace. The intervening resource name \fBkeysym.\fR cannot be +omitted. This resource is only available when compiled with +\&\s-1KEYSYM_RESOURCE\s0. +.SH "THE SCROLLBAR" +.IX Header "THE SCROLLBAR" +Lines of text that scroll off the top of the \fB@@RXVT_NAME@@\fR window +(resource: \fBsaveLines\fR) and can be scrolled back using the scrollbar +or by keystrokes. The normal \fB@@RXVT_NAME@@\fR scrollbar has arrows and +its behaviour is fairly intuitive. The \fBxterm-scrollbar\fR is without +arrows and its behaviour mimics that of \fIxterm\fR +.PP +Scroll down with \fBButton1\fR (\fBxterm-scrollbar\fR) or \fBShift-Next\fR. +Scroll up with \fBButton3\fR (\fBxterm-scrollbar\fR) or \fBShift-Prior\fR. +Continuous scroll with \fBButton2\fR. +.SH "MOUSE REPORTING" +.IX Header "MOUSE REPORTING" +To temporarily override mouse reporting, for either the scrollbar or +the normal text selection/insertion, hold either the Shift or the Meta +(Alt) key while performing the desired mouse action. +.PP +If mouse reporting mode is active, the normal scrollbar actions are +disabled \*(-- on the assumption that we are using a fullscreen +application. Instead, pressing Button1 and Button3 sends \fBESC[6~\fR +(Next) and \fBESC[5~\fR (Prior), respectively. Similarly, clicking on the +up and down arrows sends \fBESC[A\fR (Up) and \fBESC[B\fR (Down), +respectively. +.SH "TEXT SELECTION AND INSERTION" +.IX Header "TEXT SELECTION AND INSERTION" +The behaviour of text selection and insertion mechanism is similar to +\&\fIxterm\fR(1). +.IP "\fBSelection\fR:" 4 +.IX Item "Selection:" +Left click at the beginning of the region, drag to the end of the +region and release; Right click to extend the marked region; Left +double-click to select a word; Left triple-click to select the entire +line. +.Sp +Starting a selection while pressing the \fBMeta\fR key (or \fBMeta+Ctrl\fR keys) +(Compile: frills) will create a rectangular selection instead of a normal +one. +.IP "\fBInsertion\fR:" 4 +.IX Item "Insertion:" +Pressing and releasing the Middle mouse button (or \fBShift-Insert\fR) in +an \fB@@RXVT_NAME@@\fR window causes the current text selection to be +inserted as if it had been typed on the keyboard. +.SH "CHANGING FONTS" +.IX Header "CHANGING FONTS" +Changing fonts (or font sizes, respectively) via the keypad is not yet +supported in rxvt\-unicode. Bug me if you need this. +.PP +You can, however, switch fonts at runtime using escape sequences (and +therefore using the menubar), e.g.: +.PP +.Vb 1 +\& printf '\ee]701;%s\e007' "9x15bold,xft:Kochi Gothic" +.Ve +.PP +rxvt-unicode will automatically re-apply these fonts to the output so far. +.SH "ISO 14755 SUPPORT" +.IX Header "ISO 14755 SUPPORT" +\&\s-1ISO\s0 14755 is a standard for entering and viewing unicode characters +and character codes using the keyboard. It consists of 4 parts. The +first part is available rxvt-unicode has been compiled with +\&\f(CW\*(C`\-\-enable\-frills\*(C'\fR, the rest is available when rxvt-unicode was compiled +with \f(CW\*(C`\-\-enable\-iso14755\*(C'\fR. +.IP "5.1: Basic method" 4 +.IX Item "5.1: Basic method" +This allows you to enter unicode characters using their hexcode. +.Sp +Start by pressing and holding both \f(CW\*(C`Control\*(C'\fR and \f(CW\*(C`Shift\*(C'\fR, then enter +hex-digits (between one and six). Releasing \f(CW\*(C`Control\*(C'\fR and \f(CW\*(C`Shift\*(C'\fR will +commit the character as if it were typed directly. While holding down +\&\f(CW\*(C`Control\*(C'\fR and \f(CW\*(C`Shift\*(C'\fR you can also enter multiple characters by pressing +\&\f(CW\*(C`Space\*(C'\fR, which will commit the current character and lets you start a new +one. +.Sp +As an example of use, imagine a business card with a japanese e\-mail +address, which you cannot type. Fortunately, the card has the e\-mail +address printed as hexcodes, e.g. \f(CW\*(C`671d 65e5\*(C'\fR. You can enter this easily +by pressing \f(CW\*(C`Control\*(C'\fR and \f(CW\*(C`Shift\*(C'\fR, followed by \f(CW\*(C`6\-7\-1\-D\-SPACE\-6\-5\-E\-5\*(C'\fR, +followed by releasing the modifier keys. +.IP "5.2: Keyboard symbols entry method" 4 +.IX Item "5.2: Keyboard symbols entry method" +This mode lets you input characters representing the keycap symbols of +your keyboard, if representable in the current locale encoding. +.Sp +Start by pressing \f(CW\*(C`Control\*(C'\fR and \f(CW\*(C`Shift\*(C'\fR together, then releasing +them. The next special key (cursor keys, home etc.) you enter will not +invoke it's usual function but instead will insert the corresponding +keycap symbol. The symbol will only be entered when the key has been +released, otherwise pressing e.g. \f(CW\*(C`Shift\*(C'\fR would enter the symbol for +\&\f(CW\*(C`ISO Level 2 Switch\*(C'\fR, although your intention might have been to enter a +reverse tab (Shift\-Tab). +.IP "5.3: Screen-selection entry method" 4 +.IX Item "5.3: Screen-selection entry method" +While this is implemented already (it's basically the selection +mechanism), it could be extended by displaying a unicode character map. +.IP "5.4: Feedback method for identifying displayed characters for later input" 4 +.IX Item "5.4: Feedback method for identifying displayed characters for later input" +This method lets you display the unicode character code associated with +characters already displayed. +.Sp +You enter this mode by holding down \f(CW\*(C`Control\*(C'\fR and \f(CW\*(C`Shift\*(C'\fR together, then +pressing and holding the left mouse button and moving around. The unicode +hex code(s) (it might be a combining character) of the character under the +pointer is displayed until you release \f(CW\*(C`Control\*(C'\fR and \f(CW\*(C`Shift\*(C'\fR. +.Sp +In addition to the hex codes it will display the font used to draw this +character \- due to implementation reasons, characters combined with +combining characters, line drawing characters and unknown characters will +always be drawn using the built-in support font. +.PP +With respect to conformance, rxvt-unicode is supposed to be compliant to +both scenario A and B of \s-1ISO\s0 14755, including part 5.2. +.SH "LOGIN STAMP" +.IX Header "LOGIN STAMP" +\&\fB@@RXVT_NAME@@\fR tries to write an entry into the \fIutmp\fR(5) file so +that it can be seen via the \fI\fIwho\fI\|(1)\fR command, and can accept messages. +To allow this feature, \fB@@RXVT_NAME@@\fR must be installed setuid root on +some systems. +.SH "COLORS AND GRAPHICS" +.IX Header "COLORS AND GRAPHICS" +In addition to the default foreground and background colours, +\&\fB@@RXVT_NAME@@\fR can display up to 16 colours (8 \s-1ANSI\s0 colours plus +high-intensity bold/blink versions of the same). Here is a list of the +colours with their \fBrgb.txt\fR names. +.TS +l l l . +color0 (black) = Black +color1 (red) = Red3 +color2 (green) = Green3 +color3 (yellow) = Yellow3 +color4 (blue) = Blue3 +color5 (magenta) = Magenta3 +color6 (cyan) = Cyan3 +color7 (white) = AntiqueWhite +color8 (bright black) = Grey25 +color9 (bright red) = Red +color10 (bright green) = Green +color11 (bright yellow) = Yellow +color12 (bright blue) = Blue +color13 (bright magenta) = Magenta +color14 (bright cyan) = Cyan +color15 (bright white) = White +foreground = Black +background = White +.TE + +.PP +It is also possible to specify the colour values of \fBforeground\fR, +\&\fBbackground\fR, \fBcursorColor\fR, \fBcursorColor2\fR, \fBcolorBD\fR, \fBcolorUL\fR as +a number 0\-15, as a convenient shorthand to reference the colour name of +color0\-color15. +.PP +Note that \fB\-rv\fR (\fB\*(L"reverseVideo: True\*(R"\fR) simulates reverse video by +always swapping the foreground/background colours. This is in contrast to +\&\fIxterm\fR(1) where the colours are only swapped if they have not otherwise +been specified. For example, +.IP "\fB@@RXVT_NAME@@ \-fg Black \-bg White \-rv\fR" 4 +.IX Item "@@RXVT_NAME@@ -fg Black -bg White -rv" +would yield White on Black, while on \fIxterm\fR(1) it would yield Black +on White. +.SH "ENVIRONMENT" +.IX Header "ENVIRONMENT" +\&\fB@@RXVT_NAME@@\fR sets the environment variables \fB\s-1TERM\s0\fR, \fB\s-1COLORTERM\s0\fR +and \fB\s-1COLORFGBG\s0\fR. The environment variable \fB\s-1WINDOWID\s0\fR is set to the X +window id number of the \fB@@RXVT_NAME@@\fR window and it also uses and +sets the environment variable \fB\s-1DISPLAY\s0\fR to specify which display +terminal to use. \fB@@RXVT_NAME@@\fR uses the environment variables +\&\fB\s-1RXVTPATH\s0\fR and \fB\s-1PATH\s0\fR to find \s-1XPM\s0 files. +.SH "FILES" +.IX Header "FILES" +.IP "\fB/etc/utmp\fR" 4 +.IX Item "/etc/utmp" +System file for login records. +.IP "\fB/usr/lib/X11/rgb.txt\fR" 4 +.IX Item "/usr/lib/X11/rgb.txt" +Color names. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +@@RXVT_NAME@@(7), \fIxterm\fR\|(1), \fIsh\fR\|(1), \fIresize\fR\|(1), X(1), \fIpty\fR\|(4), \fItty\fR\|(4), \fIutmp\fR\|(5) +.SH "BUGS" +.IX Header "BUGS" +Check the \s-1BUGS\s0 file for an up-to-date list. +.PP +Cursor change support is not yet implemented. +.PP +Click-and-drag doesn't work with X11 mouse report overriding. +.SH "CURRENT PROJECT COORDINATOR" +.IX Header "CURRENT PROJECT COORDINATOR" +.IP "Project Coordinator" 4 +.IX Item "Project Coordinator" +@@RXVT_MAINT@@ @@RXVT_MAINTEMAIL@@ +.IP "Web page maintainter" 4 +.IX Item "Web page maintainter" +@@RXVT_WEBMAINT@@ @@RXVT_WEBMAINTEMAIL@@ +.Sp +@@RXVT_WEBPAGE@@ +.SH "AUTHORS" +.IX Header "AUTHORS" +.IP "John Bovey" 4 +.IX Item "John Bovey" +University of Kent, 1992, wrote the original Xvt. +.IP "Rob Nation " 4 +.IX Item "Rob Nation " +very heavily modified Xvt and came up with Rxvt +.IP "Angelo Haritsis " 4 +.IX Item "Angelo Haritsis " +wrote the Greek Keyboard Input (no longer in code) +.IP "mj olesen " 4 +.IX Item "mj olesen " +Wrote the menu system. +.Sp +Project Coordinator (changes.txt 2.11 to 2.21) +.IP "Oezguer Kesim " 4 +.IX Item "Oezguer Kesim " +Project Coordinator (changes.txt 2.21a to 2.4.5) +.IP "Geoff Wing " 4 +.IX Item "Geoff Wing " +Rewrote screen display and text selection routines. Project Coordinator +(changes.txt 2.4.6 \- rxvt\-unicode) +.IP "Marc Alexander Lehmann " 4 +.IX Item "Marc Alexander Lehmann " +Forked rxvt\-unicode, rewrote most of the display code and internal +character handling to store text in unicode, improve xterm +compatibility and apply numerous other bugfixes and extensions. +.Sp +Project Coordinator (Changes 1.0 \-) diff --git a/doc/rxvt.1.txt b/doc/rxvt.1.txt new file mode 100644 index 00000000..ec855c06 --- /dev/null +++ b/doc/rxvt.1.txt @@ -0,0 +1,920 @@ +NAME + rxvt-unicode (ouR XVT, unicode) - (a VT102 emulator for the X window + system) + +SYNOPSIS + rxvt [options] [-e command [ args ]] + +DESCRIPTION + rxvt-unicode, version 4.8, is a colour vt102 terminal emulator intended + as an *xterm*(1) replacement for users who do not require features such + as Tektronix 4014 emulation and toolkit-style configurability. As a + result, rxvt-unicode uses much less swap space -- a significant + advantage on a machine serving many X sessions. + +FREQUENTLY ASKED QUESTIONS + See rxvt(7) (try "man 7 rxvt") for a list of frequently asked questions + and answer to them and some common problems. + +RXVT-UNICODE VS. RXVT + Unlike the original rxvt, rxvt-unicode stores all text in Unicode + internally. That means it can store and display most scripts in the + world. Being a terminal emulator, however, some things are very + difficult, especially cursive scripts such as arabic, vertically written + scripts like mongolian or scripts requiring extremely complex combining + rules, like tibetan or devenagari. Don't expect pretty output when using + these scripts. Most other scripts, latin, cyrillic, kanji, thai etc. + should work fine, though. A somewhat difficult case are left-to-right + scripts, such as hebrew: rxvt-unicode adopts the view that bidirectional + algorithms belong into the application, not the terminal emulator (too + many things -- such as cursor-movement while editing -- break + otherwise), but that might change. + + If you are looking for a terminal that supports more exotic scripts, let + me recommend "mlterm", which is a very userfriendly, lean and clean + terminal emulator. In fact, the reason rxvt-unicode was born was solely + because the author couldn't get "mlterm" to use one font for latin1 and + another for japanese. + + Therefore another design rationale was the use of multiple fonts to + display characters: The idea of a single unicode font which many other + programs force onto it's users never made sense to me: You should be + able to choose any font for any script freely. + + Apart from that, rxvt-unicode is also much better internationalised than + it's predecessor, supports things such as XFT and ISO 14755 that are + handy in i18n-environments, is faster, and has a lot less bugs than the + original rxvt. This all in addition to dozens of other small + improvements. + + It is still faithfully following the original rxvt idea of being lean + and nice on resources: for example, you can still configure rxvt-unicode + without most of it's features to get a lean binary. It also comes with a + client/daemon pair that lets you open any number of terminal windows + from within a single process, which makes startup time very fast and + drastically reduces memory usage. See rxvtd(1) (daemon) and rxvtc(1) + (client). + + It also makes technical information about escape sequences (which have + been extended) easier accessible: see rxvt(7) for technical reference + documentation (escape sequences etc.). + +OPTIONS + The rxvt options (mostly a subset of *xterm*'s) are listed below. In + keeping with the smaller-is-better philosophy, options may be eliminated + or default values chosen at compile-time, so options and defaults listed + may not accurately reflect the version installed on your system. `rxvt + -h' gives a list of major compile-time options on the *Options* line. + Option descriptions may be prefixed with which compile option each is + dependent upon. e.g. `Compile *XIM*:' requires *XIM* on the *Options* + line. Note: `rxvt -help' gives a list of all command-line options + compiled into your version. + + Note that rxvt permits the resource name to be used as a long-option + (--/++ option) so the potential command-line options are far greater + than those listed. For example: `rxvt --loginShell --color1 Orange'. + + The following options are available: + + -help, --help + Print out a message describing available options. + + -display *displayname* + Attempt to open a window on the named X display (-d still + respected). In the absence of this option, the display specified by + the DISPLAY environment variable is used. + + -geometry *geom* + Window geometry (-g still respected); resource geometry. + + -rv|+rv + Turn on/off simulated reverse video; resource reverseVideo. + + -j|+j + Turn on/off jump scrolling; resource jumpScroll. + + -ip|+ip + Turn on/off inheriting parent window's pixmap. Alternative form is + -tr; resource inheritPixmap. + + -fade *number* + Fade the text by the given percentage when focus is lost. resource + fading. + + -tint *colour* + Tint the transparent background pixmap with the given colour when + transparency is enabled with -tr or -ip. See also the -sh option + that can be used to brighten or darken the image in addition to + tinting it. + + -sh *number* Darken (0 .. 100) or lighten (-1 .. -100) the transparent + background image in addition to tinting it (i.e. -tint must be + specified, too, e.g. "-tint white"). + + -bg *colour* + Window background colour; resource background. + + -fg *colour* + Window foreground colour; resource foreground. + + -pixmap *file[;geom]* + Compile *XPM*: Specify XPM file for the background and also + optionally specify its scaling with a geometry string. Note you may + need to add quotes to avoid special shell interpretation of the `;' + in the command-line; resource backgroundPixmap. + + -cr *colour* + The cursor colour; resource cursorColor. + + -pr *colour* + The mouse pointer foreground colour; resource pointerColor. + + -pr2 *colour* + The mouse pointer background colour; resource pointerColor2. + + -bd *colour* + The colour of the border around the text area and between the + scrollbar and the text; resource borderColor. + + -fn *fontlist* + Select the fonts to be used. This is a comma separated list of font + names that are used in turn when trying to display Unicode + characters. The first font defines the cell size for characters; + other fonts might be smaller, but not (in general) larger. A + (hopefully) reasonable default font list is always appended to it. + See resource font for more details. + + In short, to specify an X11 core font, just specify it's name or + prefix it with "x:". To specify an XFT-font, you need to prefix it + with "xft:", e.g.: + + rxvt -fn "xft:Bitstream Vera Sans Mono:pixelsize=15" + rxvt -fn "9x15bold,xft:Bitstream Vera Sans Mono" + + See also the question "How does rxvt-unicode choose fonts?" in the + FAQ section of rxvt(7). + + -fb *fontlist* + Compile font-styles: The bold font list to use when bold characters + are to be printed. See resource boldFont for details. + + -fi *fontlist* + Compile font-styles: The italic font list to use when bold + characters are to be printed. See resource italicFont for details. + + -fbi *fontlist* + Compile font-styles: The bold italic font list to use when bold + characters are to be printed. See resource boldItalicFont for + details. + + -name *name* + Specify the application name under which resources are to be + obtained, rather than the default executable file name. Name should + not contain `.' or `*' characters. Also sets the icon and title + name. + + -ls|+ls + Start as a login-shell/sub-shell; resource loginShell. + + -ut|+ut + Compile *utmp*: Inhibit/enable writing a utmp entry; resource + utmpInhibit. + + -vb|+vb + Turn on/off visual bell on receipt of a bell character; resource + visualBell. + + -sb|+sb + Turn on/off scrollbar; resource scrollBar. + + -si|+si + Turn on/off scroll-to-bottom on TTY output inhibit; resource + scrollTtyOutput has opposite effect. + + -sk|+sk + Turn on/off scroll-to-bottom on keypress; resource + scrollTtyKeypress. + + -sw|+sw + Turn on/off scrolling with the scrollback buffer as new lines + appear. This only takes effect if -si is also given; resource + scrollWithBuffer. + + -sr|+sr + Put scrollbar on right/left; resource scrollBar_right. + + -st|+st + Display normal (non XTerm/NeXT) scrollbar without/with a trough; + resource scrollBar_floating. + + -ptab|+ptab + If enabled (default), "Horizontal Tab" characters are being stored + as actual wide characters in the screen buffer, which makes it + possible to select and paste them. Since a horizontal tab is a + cursor movement and not an actual glyph, this can sometimes be + visually annoying as the cursor on a tab character is displayed as a + wide cursor; resource pastableTabs. + + -bc|+bc + Blink the cursor; resource cursorBlink. + + -iconic + Start iconified, if the window manager supports that option. + Alternative form is -ic. + + -sl *number* + Save *number* lines in the scrollback buffer. See resource entry for + limits; resource saveLines. + + -b *number* + Compile *frills*: Internal border of *number* pixels. See resource + entry for limits; resource internalBorder. + + -w *number* + Compile *frills*: External border of *number* pixels. Also, -bw and + -borderwidth. See resource entry for limits; resource + externalBorder. + + -bl Compile *frills*: Set MWM hints to request a borderless window, i.e. + if honoured by the WM, the rxvt-unicode window will not have window + decorations; resource borderLess. + + -lsp *number* + Compile *frills*: Lines (pixel height) to insert between each row of + the display. Useful to work around font rendering problems; resource + linespace. + + -tn *termname* + This option specifies the name of the terminal type to be set in the + TERM environment variable. This terminal type must exist in the + *termcap(5)* database and should have *li#* and *co#* entries; + resource termName. + + -e *command [arguments]* + Run the command with its command-line arguments in the rxvt window; + also sets the window title and icon name to be the basename of the + program being executed if neither *-title* (*-T*) nor *-n* are given + on the command line. If this option is used, it must be the last on + the command-line. If there is no -e option then the default is to + run the program specified by the SHELL environment variable or, + failing that, *sh(1)*. + + -title *text* + Window title (-T still respected); the default title is the basename + of the program specified after the -e option, if any, otherwise the + application name; resource title. + + -n *text* + Icon name; the default name is the basename of the program specified + after the -e option, if any, otherwise the application name; + resource iconName. + + -C Capture system console messages. + + -pt *style* + Compile *XIM*: input style for input method; OverTheSpot, + OffTheSpot, Root; resource preeditType. + + -im *text* + Compile *XIM*: input method name. resource inputMethod. + + -imlocale *string* + The locale to use for opening the IM. You can use an LC_CTYPE of + e.g. de_DE.UTF-8 for normal text processing but ja_JP.EUC-JP for the + input extension to be able to input japanese characters while + staying in another locale. + + -insecure + Enable "insecure" mode, which currently enables most of the escape + sequences that echo strings. See the resource insecure for more + info. + + -mod *modifier* + Override detection of Meta modifier with specified key: alt, meta, + hyper, super, mod1, mod2, mod3, mod4, mod5; resource *modifier*. + + -ssc|+ssc + Turn on/off secondary screen (default enabled); resource + secondaryScreen. + + -ssr|+ssr + Turn on/off secondary screen scroll (default enabled); resource + secondaryScroll. + + -xrm *resourcestring* + No effect on rxvt-unicode. Simply passes through an argument to be + made available in the instance's argument list. Appears in + *WM_COMMAND* in some window managers. + +RESOURCES (available also as long-options) + Note: `rxvt --help' gives a list of all resources (long options) + compiled into your version. + + There are two different methods that rxvt can use to get the Xresource + data: using the X libraries (Xrm*-functions) or internal Xresources + reader (~/.Xdefaults). For the first method (ie. rxvt -h lists + XGetDefaults), you can set and change the resources using X11 tools like + xset. Many distribution do also load settings from the ~/.Xresources + file when X starts. + + If compiled with internal Xresources support (i.e. rxvt -h lists + .Xdefaults) then rxvt accepts application defaults set in + XAPPLOADDIR/URxvt (compile-time defined: usually + /usr/lib/X11/app-defaults/URxvt) and resources set in ~/.Xdefaults, or + ~/.Xresources if ~/.Xdefaults does not exist. Note that when reading X + resources, rxvt recognizes two class names: XTerm and URxvt. The class + name Rxvt allows resources common to both rxvt and the original *rxvt* + to be easily configured, while the class name URxvt allows resources + unique to rxvt, notably colours and key-handling, to be shared between + different rxvt configurations. If no resources are specified, suitable + defaults will be used. Command-line arguments can be used to override + resource settings. The following resources are allowed: + + geometry: *geom* + Create the window with the specified X window geometry [default + 80x24]; option -geometry. + + background: *colour* + Use the specified colour as the window's background colour [default + White]; option -bg. + + foreground: *colour* + Use the specified colour as the window's foreground colour [default + Black]; option -fg. + + color*n*: *colour* + Use the specified colour for the colour value *n*, where 0-7 + corresponds to low-intensity (normal) colours and 8-15 corresponds + to high-intensity (bold = bright foreground, blink = bright + background) colours. The canonical names are as follows: 0=black, + 1=red, 2=green, 3=yellow, 4=blue, 5=magenta, 6=cyan, 7=white, but + the actual colour names used are listed in the COLORS AND GRAPHICS + section. + + Colours higher than 15 cannot be set using resources (yet), but can + be changed using an escape command (see rxvt(7)). + + Colours 16-79 form a standard 4x4x4 colour cube (the same as xterm + with 88 colour support). Colours 80-87 are evenly spaces grey steps. + + colorBD: *colour* + colorIT: *colour* + Use the specified colour to display bold or italic characters when + the foreground colour is the default. If font styles are not + available (Compile styles) and this option is unset, reverse video + is used instead. + + colorUL: *colour* + Use the specified colour to display underlined characters when the + foreground colour is the default. + + colorRV: *colour* + Use the specified colour as the background for reverse video + characters. + + underlineColor: *colour* + If set, use the specified colour as the colour for the underline + itself. If unset, use the foreground colour. + + cursorColor: *colour* + Use the specified colour for the cursor. The default is to use the + foreground colour; option -cr. + + cursorColor2: *colour* + Use the specified colour for the colour of the cursor text. For this + to take effect, cursorColor must also be specified. The default is + to use the background colour. + + reverseVideo: *boolean* + True: simulate reverse video by foreground and background colours; + option -rv. False: regular screen colours [default]; option +rv. See + note in COLORS AND GRAPHICS section. + + jumpScroll: *boolean* + True: specify that jump scrolling should be used. When scrolling + quickly, fewer screen updates are performed [default]; option -j. + False: specify that smooth scrolling should be used; option +j. + + inheritPixmap: *boolean* + True: make the background inherit the parent windows' pixmap, giving + artificial transparency. False: do not inherit the parent windows' + pixmap. + + fading: *number* + Fade the text by the given percentage when focus is lost. + + tintColor: *colour* + Tint the transparent background pixmap with the given colour. + + shading: *number* + Darken (0 .. 100) or lighten (-1 .. -100) the transparent background + image in addition to tinting it. + + scrollColor: *colour* + Use the specified colour for the scrollbar [default #B2B2B2]. + + troughColor: *colour* + Use the specified colour for the scrollbar's trough area [default + #969696]. Only relevant for normal (non XTerm/NeXT) scrollbar. + + borderColor: *colour* + The colour of the border around the text area and between the + scrollbar and the text. + + backgroundPixmap: *file[;geom]* + Use the specified XPM file (note the `.xpm' extension is optional) + for the background and also optionally specify its scaling with a + geometry string WxH+X+Y, in which "W" / "H" specify the + horizontal/vertical scale (percent) and "X" / "Y" locate the image + centre (percent). A scale of 0 displays the image with tiling. A + scale of 1 displays the image without any scaling. A scale of 2 to 9 + specifies an integer number of images in that direction. No image + will be magnified beyond 10 times its original size. The maximum + permitted scale is 1000. [default 0x0+50+50] + + menu: *file[;tag]* + Read in the specified menu file (note the `.menu' extension is + optional) and also optionally specify a starting tag to find. See + the reference documentation for details on the syntax for the + menuBar. + + path: *path* + Specify the colon-delimited search path for finding files (XPM and + menus), in addition to the paths specified by the RXVTPATH and PATH + environment variables. + + font: *fontlist* + Select the fonts to be used. This is a comma separated list of font + names that are used in turn when trying to display Unicode + characters. The first font defines the cell size for characters; + other fonts might be smaller, but not larger. A reasonable default + font list is always appended to it. option -fn. + + Each font can either be a standard X11 core font (XLFD) name, with + optional prefix "x:" or a Xft font (Compile xft), prefixed with + "xft:". + + In addition, each font can be prefixed with additional hints and + specifications enclosed in square brackets ("[]"). The only + available hint currently is "codeset=codeset-name", and this is only + used for Xft fonts. + + For example, this font resource + + URxvt*font: 9x15bold,\ + -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso10646-1,\ + -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1, \ + [codeset=JISX0208]xft:Kochi Gothic:antialias=false, \ + xft:Code2000:antialias=false + + specifies five fonts to be used. The first one is "9x15bold" + (actually the iso8859-1 version of the second font), which is the + base font (because it is named first) and thus defines the character + cell grid to be 9 pixels wide and 15 pixels high. + + The second font is just used to add additional unicode characters + not in the base font, likewise the third, which is unfortunately + non-bold, but the bold version of the font does contain less + characters, so this is a useful supplement. + + The third font is an Xft font with aliasing turned off, and the + characters are limited to the JIS 0208 codeset (i.e. japanese + kanji). The font contains other characters, but we are not + interested in them. + + The last font is a useful catch-all font that supplies most of the + remaining unicode characters. + + boldFont: *fontlist* + italicFont: *fontlist* + boldItalicFont: *fontlist* + The font list to use for displaying bold, *italic* or *bold italic* + characters, respectively. + + If specified and non-empty, then the syntax is the same as for the + font-resource, and the given font list will be used as is, which + makes it possible to substitute completely different font styles for + bold and italic. + + If unset (the default), a suitable font list will be synthesized by + "morphing" the normal text font list into the desired shape. If that + is not possible, replacement fonts of the desired shape will be + tried. + + If set, but empty, then this specific style is disabled and the + normal text font will being used for the given style. + + selectstyle: *mode* + Set mouse selection style to old which is 2.20, oldword which is + xterm style with 2.20 old word selection, or anything else which + gives xterm style selection. + + scrollstyle: *mode* + Set scrollbar style to rxvt, plain, next or xterm. plain is the + author's favourite.. + + title: *string* + Set window title string, the default title is the command-line + specified after the -e option, if any, otherwise the application + name; option -title. + + iconName: *string* + Set the name used to label the window's icon or displayed in an icon + manager window, it also sets the window's title unless it is + explicitly set; option -n. + + mapAlert: *boolean* + True: de-iconify (map) on receipt of a bell character. False: no + de-iconify (map) on receipt of a bell character [default]. + + visualBell: *boolean* + True: use visual bell on receipt of a bell character; option -vb. + False: no visual bell [default]; option +vb. + + loginShell: *boolean* + True: start as a login shell by prepending a `-' to argv[0] of the + shell; option -ls. False: start as a normal sub-shell [default]; + option +ls. + + utmpInhibit: *boolean* + True: inhibit writing record into the system log file utmp; option + -ut. False: write record into the system log file utmp [default]; + option +ut. + + print-pipe: *string* + Specify a command pipe for vt100 printer [default *lpr(1)*]. Use + Print to initiate a screen dump to the printer and Ctrl-Print or + Shift-Print to include the scrollback as well. + + scrollBar: *boolean* + True: enable the scrollbar [default]; option -sb. False: disable the + scrollbar; option +sb. + + scrollBar_right: *boolean* + True: place the scrollbar on the right of the window; option -sr. + False: place the scrollbar on the left of the window; option +sr. + + scrollBar_floating: *boolean* + True: display an rxvt scrollbar without a trough; option -st. False: + display an rxvt scrollbar with a trough; option +st. + + scrollBar_align: *mode* + Align the top, bottom or centre [default] of the scrollbar thumb + with the pointer on middle button press/drag. + + scrollTtyOutput: *boolean* + True: scroll to bottom when tty receives output; option -si. False: + do not scroll to bottom when tty receives output; option +si. + + scrollWithBuffer: *boolean* + True: scroll with scrollback buffer when tty receives new lines (and + scrollTtyOutput is False); option +sw. False: do not scroll with + scrollback buffer when tty recieves new lines; option -sw. + + scrollTtyKeypress: *boolean* + True: scroll to bottom when a non-special key is pressed. Special + keys are those which are intercepted by rxvt-unicode for special + handling and are not passed onto the shell; option -sk. False: do + not scroll to bottom when a non-special key is pressed; option +sk. + + saveLines: *number* + Save *number* lines in the scrollback buffer [default 64]. This + resource is limited on most machines to 65535; option -sl. + + internalBorder: *number* + Internal border of *number* pixels. This resource is limited to 100; + option -b. + + externalBorder: *number* + External border of *number* pixels. This resource is limited to 100; + option -w, -bw, -borderwidth. + + borderLess: *boolean* + Set MWM hints to request a borderless window, i.e. if honoured by + the WM, the rxvt-unicode window will not have window decorations; + option -bl. + + termName: *termname* + Specifies the terminal type name to be set in the TERM environment + variable; option -tn. + + linespace: *number* + Specifies number of lines (pixel height) to insert between each row + of the display [default 0]; option -lsp. + + meta8: *boolean* + True: handle Meta (Alt) + keypress to set the 8th bit. False: handle + Meta (Alt) + keypress as an escape prefix [default]. + + mouseWheelScrollPage: *boolean* + True: the mouse wheel scrolls a page full. False: the mouse wheel + scrolls five lines [default]. + + pastableTabs: *boolean* + True: store tabs as wide characters. False: interpret tabs as cursor + movement only; option "-ptab". + + cursorBlink: *boolean* + True: blink the cursor. False: do not blink the cursor [default]; + option -bc. + + pointerBlank: *boolean* + True: blank the pointer when a key is pressed or after a set number + of seconds of inactivity. False: the pointer is always visible + [default]. + + pointerColor: *colour* + Mouse pointer foreground colour. + + pointerColor2: *colour* + Mouse pointer background colour. + + pointerBlankDelay: *number* + Specifies number of seconds before blanking the pointer [default 2]. + + backspacekey: *string* + The string to send when the backspace key is pressed. If set to DEC + or unset it will send Delete (code 127) or, if shifted, Backspace + (code 8) - which can be reversed with the appropriate DEC private + mode escape sequence. + + deletekey: *string* + The string to send when the delete key (not the keypad delete key) + is pressed. If unset it will send the sequence traditionally + associated with the Execute key. + + cutchars: *string* + The characters used as delimiters for double-click word selection. + The built-in default: + + BACKSLASH `"'&()*,;<=>?@[]{|} + + preeditType: *style* + OverTheSpot, OffTheSpot, Root; option -pt. + + inputMethod: *name* + *name* of inputMethod to use; option -im. + + imLocale: *name* + The locale to use for opening the IM. You can use an LC_CTYPE of + e.g. de_DE.UTF-8 for normal text processing but ja_JP.EUC-JP for the + input extension to be able to input japanese characters while + staying in another locale. option -imlocale. + + insecure: *boolean* + Enables "insecure" mode. Rxvt-unicode offers some escape sequences + that echo arbitrary strings like the icon name or the locale. This + could be abused if somebody gets 8-bit-clean access to your display, + whether throuh a mail client displaying mail bodies unfiltered or + though write(1). Therefore, these sequences are disabled by default. + (Note that other terminals, including xterm, have these sequences + enabled by default). You can enable them by setting this boolean + resource or specifying -insecure as an option. At the moment, this + enabled display-answer, locale, findfont, icon label and window + title requests as well as dynamic menubar dispatch. + + modifier: *modifier* + Set the key to be interpreted as the Meta key to: alt, meta, hyper, + super, mod1, mod2, mod3, mod4, mod5; option -mod. + + answerbackString: *string* + Specify the reply rxvt-unicode sends to the shell when an ENQ + (control-E) character is passed through. It may contain escape + values as described in the entry on keysym following. + + secondaryScreen: *bool* + Turn on/off secondary screen (default enabled). + + secondaryScroll: *bool* + Turn on/off secondary screen scroll (default enabled). If the this + option is enabled, scrolls on the secondary screen will change the + scrollback buffer and switching to/from the secondary screen will + instead scroll the screen up. + + keysym.*sym*: *string* + Associate *string* with keysym *sym* (0xFF00 - 0xFFFF). It may + contain escape values (\a: bell, \b: backspace, \e, \E: escape, \n: + newline, \r: return, \t: tab, \000: octal number) or control + characters (^?: delete, ^@: null, ^A ...) and may enclosed with + double quotes so that it can start or end with whitespace. The + intervening resource name keysym. cannot be omitted. This resource + is only available when compiled with KEYSYM_RESOURCE. + +THE SCROLLBAR + Lines of text that scroll off the top of the rxvt window (resource: + saveLines) and can be scrolled back using the scrollbar or by + keystrokes. The normal rxvt scrollbar has arrows and its behaviour is + fairly intuitive. The xterm-scrollbar is without arrows and its + behaviour mimics that of *xterm* + + Scroll down with Button1 (xterm-scrollbar) or Shift-Next. Scroll up with + Button3 (xterm-scrollbar) or Shift-Prior. Continuous scroll with + Button2. + +MOUSE REPORTING + To temporarily override mouse reporting, for either the scrollbar or the + normal text selection/insertion, hold either the Shift or the Meta (Alt) + key while performing the desired mouse action. + + If mouse reporting mode is active, the normal scrollbar actions are + disabled -- on the assumption that we are using a fullscreen + application. Instead, pressing Button1 and Button3 sends ESC[6~ (Next) + and ESC[5~ (Prior), respectively. Similarly, clicking on the up and down + arrows sends ESC[A (Up) and ESC[B (Down), respectively. + +TEXT SELECTION AND INSERTION + The behaviour of text selection and insertion mechanism is similar to + *xterm*(1). + + Selection: + Left click at the beginning of the region, drag to the end of the + region and release; Right click to extend the marked region; Left + double-click to select a word; Left triple-click to select the + entire line. + + Starting a selection while pressing the Meta key (or Meta+Ctrl keys) + (Compile: frills) will create a rectangular selection instead of a + normal one. + + Insertion: + Pressing and releasing the Middle mouse button (or Shift-Insert) in + an rxvt window causes the current text selection to be inserted as + if it had been typed on the keyboard. + +CHANGING FONTS + Changing fonts (or font sizes, respectively) via the keypad is not yet + supported in rxvt-unicode. Bug me if you need this. + + You can, however, switch fonts at runtime using escape sequences (and + therefore using the menubar), e.g.: + + printf '\e]701;%s\007' "9x15bold,xft:Kochi Gothic" + + rxvt-unicode will automatically re-apply these fonts to the output so + far. + +ISO 14755 SUPPORT + ISO 14755 is a standard for entering and viewing unicode characters and + character codes using the keyboard. It consists of 4 parts. The first + part is available rxvt-unicode has been compiled with "--enable-frills", + the rest is available when rxvt-unicode was compiled with + "--enable-iso14755". + + 5.1: Basic method + This allows you to enter unicode characters using their hexcode. + + Start by pressing and holding both "Control" and "Shift", then enter + hex-digits (between one and six). Releasing "Control" and "Shift" + will commit the character as if it were typed directly. While + holding down "Control" and "Shift" you can also enter multiple + characters by pressing "Space", which will commit the current + character and lets you start a new one. + + As an example of use, imagine a business card with a japanese e-mail + address, which you cannot type. Fortunately, the card has the e-mail + address printed as hexcodes, e.g. "671d 65e5". You can enter this + easily by pressing "Control" and "Shift", followed by + "6-7-1-D-SPACE-6-5-E-5", followed by releasing the modifier keys. + + 5.2: Keyboard symbols entry method + This mode lets you input characters representing the keycap symbols + of your keyboard, if representable in the current locale encoding. + + Start by pressing "Control" and "Shift" together, then releasing + them. The next special key (cursor keys, home etc.) you enter will + not invoke it's usual function but instead will insert the + corresponding keycap symbol. The symbol will only be entered when + the key has been released, otherwise pressing e.g. "Shift" would + enter the symbol for "ISO Level 2 Switch", although your intention + might have been to enter a reverse tab (Shift-Tab). + + 5.3: Screen-selection entry method + While this is implemented already (it's basically the selection + mechanism), it could be extended by displaying a unicode character + map. + + 5.4: Feedback method for identifying displayed characters for later + input + This method lets you display the unicode character code associated + with characters already displayed. + + You enter this mode by holding down "Control" and "Shift" together, + then pressing and holding the left mouse button and moving around. + The unicode hex code(s) (it might be a combining character) of the + character under the pointer is displayed until you release "Control" + and "Shift". + + In addition to the hex codes it will display the font used to draw + this character - due to implementation reasons, characters combined + with combining characters, line drawing characters and unknown + characters will always be drawn using the built-in support font. + + With respect to conformance, rxvt-unicode is supposed to be compliant to + both scenario A and B of ISO 14755, including part 5.2. + +LOGIN STAMP + rxvt tries to write an entry into the *utmp*(5) file so that it can be + seen via the *who(1)* command, and can accept messages. To allow this + feature, rxvt must be installed setuid root on some systems. + +COLORS AND GRAPHICS + In addition to the default foreground and background colours, rxvt can + display up to 16 colours (8 ANSI colours plus high-intensity bold/blink + versions of the same). Here is a list of the colours with their rgb.txt + names. + + color0 (black) = Black + color1 (red) = Red3 + color2 (green) = Green3 + color3 (yellow) = Yellow3 + color4 (blue) = Blue3 + color5 (magenta) = Magenta3 + color6 (cyan) = Cyan3 + color7 (white) = AntiqueWhite + color8 (bright black) = Grey25 + color9 (bright red) = Red + color10 (bright green) = Green + color11 (bright yellow) = Yellow + color12 (bright blue) = Blue + color13 (bright magenta) = Magenta + color14 (bright cyan) = Cyan + color15 (bright white) = White + foreground = Black + background = White + + It is also possible to specify the colour values of foreground, + background, cursorColor, cursorColor2, colorBD, colorUL as a number + 0-15, as a convenient shorthand to reference the colour name of + color0-color15. + + Note that -rv ("reverseVideo: True") simulates reverse video by always + swapping the foreground/background colours. This is in contrast to + *xterm*(1) where the colours are only swapped if they have not otherwise + been specified. For example, + + rxvt -fg Black -bg White -rv + would yield White on Black, while on *xterm*(1) it would yield Black + on White. + +ENVIRONMENT + rxvt sets the environment variables TERM, COLORTERM and COLORFGBG. The + environment variable WINDOWID is set to the X window id number of the + rxvt window and it also uses and sets the environment variable DISPLAY + to specify which display terminal to use. rxvt uses the environment + variables RXVTPATH and PATH to find XPM files. + +FILES + /etc/utmp + System file for login records. + + /usr/lib/X11/rgb.txt + Color names. + +SEE ALSO + rxvt(7), xterm(1), sh(1), resize(1), X(1), pty(4), tty(4), utmp(5) + +BUGS + Check the BUGS file for an up-to-date list. + + Cursor change support is not yet implemented. + + Click-and-drag doesn't work with X11 mouse report overriding. + +CURRENT PROJECT COORDINATOR + Project Coordinator + Marc A. Lehmann rxvt@schmorp.de + + Web page maintainter + Marc A. Lehmann rxvt@schmorp.de + + + +AUTHORS + John Bovey + University of Kent, 1992, wrote the original Xvt. + + Rob Nation + very heavily modified Xvt and came up with Rxvt + + Angelo Haritsis + wrote the Greek Keyboard Input (no longer in code) + + mj olesen + Wrote the menu system. + + Project Coordinator (changes.txt 2.11 to 2.21) + + Oezguer Kesim + Project Coordinator (changes.txt 2.21a to 2.4.5) + + Geoff Wing + Rewrote screen display and text selection routines. Project + Coordinator (changes.txt 2.4.6 - rxvt-unicode) + + Marc Alexander Lehmann + Forked rxvt-unicode, rewrote most of the display code and internal + character handling to store text in unicode, improve xterm + compatibility and apply numerous other bugfixes and extensions. + + Project Coordinator (Changes 1.0 -) + diff --git a/doc/rxvt.7.html b/doc/rxvt.7.html new file mode 100644 index 00000000..acab8503 --- /dev/null +++ b/doc/rxvt.7.html @@ -0,0 +1,2799 @@ + + + +REFERENCE - FAQ, command sequences and other background information + + + + + +

+ + + + + +
+

+

+

NAME

+

RXVT REFERENCE - FAQ, command sequences and other background information

+

+

+
+

FREQUENTLY ASKED QUESTIONS

+
+
How do I know which rxvt-unicode version I'm using?
+
+
+The version number is displayed with the usage (-h). Also the escape +sequence ESC[8n sets the window title to the version number. +
+

+
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 +TERM=rxvt or even TERM=xterm, 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 rxvt (quite common...) you could also replace +the rxvt terminfo file with the rxvt-unicode one.

+
+

+
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:
+
+

+
Why does ls no longer have coloured output?
+
+
+The ls in the GNU coreutils unfortunately doesn't use terminfo to +decide wether a terminal has colour, but uses it's own configuration +file. Needless to say, rxvt-unicode is not in it's default file (among +with most other terminals supporting colour). Either add: +
+
+
+   TERM rxvt-unicode
+
+
+

to /etc/DIR_COLORS or simply add:

+
+
+
+   alias ls='ls --color=auto'
+
+
+

to your .profile or .bashrc.

+
+

+
Why doesn't vim/emacs etc. use the 88 colour mode?
+
+
Why doesn't vim/emacs etc. make use of italic?
+
+
Why are the secondary screen-related options not working properly?
+
+
+Make sure you are using TERM=rxvt-unicode. Some pre-packaged +distributions (most notably Debian GNU/Linux) break rxvt-unicode +by setting TERM to rxvt, which doesn't have these extra +features. Unfortunately, some of these (most notably, again, Debian +GNU/Linux) furthermore fail to even install the rxvt-unicode terminfo +file, so you will need to install it on your own (See the question When +I log-in to another system it tells me about missing terminfo data? on +how to do this). +
+

+
Rxvt-unicode does not seem to understand the selected encoding?
+
+
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 LC_CTYPE 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. en_GB.UTF-8. 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 LC_CTYPE specification not +supported on your systems. Some systems have a locale 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 :(

+
+

+
Why do some characters look so much different than others?
+
+
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. +
+
+

rxvt-unicode 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 -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.

+
+

+
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).

+
+

+
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 you might try using +the -lsp option to give the font more height. If that doesn't work, you +might be forced to use a different font.

+
+
+

All of this is not a problem when using X11 core fonts, as their bounding +box data is correct.

+
+

+
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 preeditStyle that is not supported by +your input method. For example, if you specified OverTheSpot 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 preeditStyle or specify more than +one pre-edit style, such as OverTheSpot,Root,None.

+
+

+
I cannot type Ctrl-Shift-2 to get an ASCII NUL character due to ISO 14755
+
+
+Either try Ctrl-2 alone (it often is mapped to ASCII NUL even on +international keyboards) or simply use ISO 14755 support to your +advantage, typing <Ctrl-Shift-0> to get a ASCII NUL. This works for other +codes, too, such as Ctrl-Shift-1-d to type the default telnet escape +character and so on. +
+

+
How can I keep rxvt-unicode from using reverse video so much?
+
+
+First of all, make sure you are running with the right terminfo +(urxvt), 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
+
+

+
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 urxvt terminfo definition to +only claim 8 colour support or use TERM=rxvt, which will fix colours +but keep you from using other rxvt-unicode features.

+
+

+
I am on FreeBSD and rxvt-unicode does not seem to work at all.
+
+
+Rxvt-unicode requires the symbol __STDC_ISO_10646__ to be defined +in your compile environment, or an implementation that implements it, +wether it defines the symbol or not. __STDC_ISO_10646__ requires that +wchar_t 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 +wchar_t. This is, of course, completely legal.

+
+
+

However, __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 wchar_t makes it impossible to +convert between wchar_t (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 wchar_t into anything +except the current locale encoding.

+
+
+

Some applications (such as the formidable mlterm) 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.

+
+

+
How does rxvt-unicode determine the encoding to use?
+
+
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 locale.

+
+
+

Rxvt-unicode uses the LC_CTYPE 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 LC_CTYPE environment variable +contains an arbitrary string which corresponds to an already-installed +locale. Common names for locales are en_US.UTF-8, de_DE.ISO-8859-15, +ja_JP.EUC-JP, i.e. language_country.encoding, but other forms +(i.e. de or german) are also common.

+
+
+

Rxvt-unicode ignores all other locale categories, and except for +the encoding, ignores country or language-specific settings, +i.e. de_DE.UTF-8 and ja_JP.UTF-8 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 LC_CTYPE category.

+
+

+
Can I switch locales at runtime?
+
+
+Yes, using an escape sequence. Try sth. like this, which sets +rxvt-unicode's idea of LC_CTYPE. +
+
+
+  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. de_DE.UTF-8) but some programs don't support UTF-8. For +example, I use this script to start xjdic, 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
+
+

+
Can I switch the fonts at runtime?
+
+
+Yes, using an escape sequence. Try sth. like this, which has the same +effect as using the -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.

+
+

+
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 xft:Bitstream Vera Sans +Mono 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
+
+

+
My input method wants <some encoding> 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 imlocale: +
+
+
+   URxvt*imlocale: ja_JP.EUC-JP
+
+
+

Now you can start your terminal with LC_CTYPE=ja_JP.UTF-8 and still +use your input method. Please note, however, that you will not be able to +input characters outside EUC-JP in a normal way then, as your input +method limits you.

+
+

+
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 --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 --enable-unicode3 it gets worse, as +rxvt-unicode then uses 8 bytes per screen cell.

+
+

+
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 :antialiasing=false), which saves lots of +memory and also speeds up rendering considerably. +
+

+
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.

+
+

+
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(7) +
+

+
What's with this bold/blink stuff?
+
+
+If no bold colour is set via colorBD:, bold will invert text using the +standard foreground colour. +
+
+

For the standard background colour, blinking will actually make the +text blink when compiled with --enable-blinking. with standard +colours. Without --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.

+
+

+
I don't like the screen colors. How do I change them?
+
+
+You can change the screen colors at run-time using ~/.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:

+
+
+
+   URxvt*color0:   #000000
+   URxvt*color1:   #A80000
+   URxvt*color2:   #00A800
+   URxvt*color3:   #A8A800
+   URxvt*color4:   #0000A8
+   URxvt*color5:   #A800A8
+   URxvt*color6:   #00A8A8
+   URxvt*color7:   #A8A8A8
+
+
+
+   URxvt*color8:   #000054
+   URxvt*color9:   #FF0054
+   URxvt*color10:  #00FF54
+   URxvt*color11:  #FFFF54
+   URxvt*color12:  #0000FF
+   URxvt*color13:  #FF00FF
+   URxvt*color14:  #00FFFF
+   URxvt*color15:  #FFFFFF
+
+
+

And here is a more complete set of non-standard colors described as +``pretty girly'':

+
+
+
+   URxvt.cursorColor:  #dc74d1
+   URxvt.pointerColor: #dc74d1
+   URxvt.background:   #0e0e0e
+   URxvt.foreground:   #4ad5e1
+   URxvt.color0:       #000000
+   URxvt.color8:       #8b8f93
+   URxvt.color1:       #dc74d1
+   URxvt.color9:       #dc74d1
+   URxvt.color2:       #0eb8c7
+   URxvt.color10:      #0eb8c7
+   URxvt.color3:       #dfe37e
+   URxvt.color11:      #dfe37e
+   URxvt.color5:       #9e88f0
+   URxvt.color13:      #9e88f0
+   URxvt.color6:       #73f7ff
+   URxvt.color14:      #73f7ff
+   URxvt.color7:       #e1dddd
+   URxvt.color15:      #e1dddd
+
+

+
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: ^H and ^?. +
+
+

Historically, either value is correct, but rxvt-unicode adopts the debian +policy of using ^? 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 <termios.h>, 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
+
+
+
+   # use Backspace = ^?
+   $ stty erase ^?
+   $ rxvt
+
+
+

Toggle with ``ESC[36h'' / ``ESC[36l'' as documented in rxvt(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 = ^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.

+
+

+
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 --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 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
+
+

+
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.

+
+
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. +
+

+
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 <cblake@BBN.COM> 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
+
+

+
How do I compile the manual pages for myself?
+
+
+You need to have a recent version of perl installed as /usr/bin/perl, +one that comes with pod2man, pod2text and pod2html. Then go to +the doc subdirectory and enter make alldoc. +
+

+
My question isn't answered here, can I ask a human?
+
+
+Before sending me mail, you could go to IRC: irc.freenode.net, +channel #rxvt-unicode has some rxvt-unicode enthusiasts that might be +interested in learning about new and exciting problems (but not FAQs :). +
+

+

+

+
+

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"
+

+

+
+

DESCRIPTION

+

The rest of this document describes various technical aspects of +rxvt-unicode. First the description of supported command sequences, +followed by menu and pixmap support and last by a description of all +features selectable at configure time.

+

+

+
+

RXVT TECHNICAL REFERENCE

+

+

+
+

Definitions

+
+
c >
+
+
+The literal character c. +
+

+
C >
+
+
+A single (required) character. +
+

+
Ps >
+
+
+A single (usually optional) numeric parameter, composed of one or more +digits. +
+

+
Pm >
+
+
+A multiple numeric parameter composed of any number of single numeric +parameters, separated by ; character(s). +
+

+
Pt >
+
+
+A text parameter composed of printable characters. +
+

+

+

+
+

Values

+
+
ENQ >
+
+
+Enquiry (Ctrl-E) = Send Device Attributes (DA) +request attributes from terminal. See ESC [ Ps c >. +
+

+
BEL >
+
+
+Bell (Ctrl-G) +
+

+
BS >
+
+
+Backspace (Ctrl-H) +
+

+
TAB >
+
+
+Horizontal Tab (HT) (Ctrl-I) +
+

+
LF >
+
+
+Line Feed or New Line (NL) (Ctrl-J) +
+

+
VT >
+
+
+Vertical Tab (Ctrl-K) same as LF > +
+

+
FF >
+
+
+Form Feed or New Page (NP) (Ctrl-L) same as LF > +
+

+
CR >
+
+
+Carriage Return (Ctrl-M) +
+

+
SO >
+
+
+Shift Out (Ctrl-N), invokes the G1 character set. +Switch to Alternate Character Set +
+

+
SI >
+
+
+Shift In (Ctrl-O), invokes the G0 character set (the default). +Switch to Standard Character Set +
+

+
SPC >
+
+
+Space Character +
+

+

+

+
+

Escape Sequences

+
+
ESC # 8 >
+
+
+DEC Screen Alignment Test (DECALN) +
+

+
ESC 7 >
+
+
+Save Cursor (SC) +
+

+
ESC 8 >
+
+
+Restore Cursor +
+

+
ESC = >
+
+
+Application Keypad (SMKX). See also next sequence. +
+

+
ESC >>
+
+
+Normal Keypad (RMKX) +
+
+

Note: If the numeric keypad is activated, eg, Num_Lock has been +pressed, numbers or control functions are generated by the numeric keypad +(see Key Codes).

+
+

+
ESC D >
+
+
+Index (IND) +
+

+
ESC E >
+
+
+Next Line (NEL) +
+

+
ESC H >
+
+
+Tab Set (HTS) +
+

+
ESC M >
+
+
+Reverse Index (RI) +
+

+
ESC N >
+
+
+Single Shift Select of G2 Character Set (SS2): affects next character +only unimplemented +
+

+
ESC O >
+
+
+Single Shift Select of G3 Character Set (SS3): affects next character +only unimplemented +
+

+
ESC Z >
+
+
+Obsolete form of returns: ESC[?1;2C > rxvt-unicode compile-time option +
+

+
ESC c >
+
+
+Full reset (RIS) +
+

+
ESC n >
+
+
+Invoke the G2 Character Set (LS2) +
+

+
ESC o >
+
+
+Invoke the G3 Character Set (LS3) +
+

+
ESC ( C >>
+
+
+Designate G0 Character Set (ISO 2022), see below for values of C. +
+

+
ESC ) C >>
+
+
+Designate G1 Character Set (ISO 2022), see below for values of C. +
+

+
ESC * C >
+
+
+Designate G2 Character Set (ISO 2022), see below for values of C. +
+

+
ESC + C >
+
+
+Designate G3 Character Set (ISO 2022), see below for values of C. +
+

+
ESC $ C >
+
+
+Designate Kanji Character Set +
+
+

Where C > is one of:

+
+ + + + + + + + +
C = 0 DEC Special Character and Line Drawing Set
C = A United Kingdom (UK)
C = B United States (USASCII)
C = <Multinational character set unimplemented
C = 5 Finnish character set unimplemented
C = C Finnish character set unimplemented
C = K German character set unimplemented

+

+

+

+
+

CSI (Command Sequence Introducer) Sequences

+
+
ESC [ Ps @ >
+
+
+Insert Ps > (Blank) Character(s) [default: 1] (ICH) +
+

+
ESC [ Ps A >
+
+
+Cursor Up Ps > Times [default: 1] (CUU) +
+

+
ESC [ Ps B >
+
+
+Cursor Down Ps > Times [default: 1] (CUD) +
+

+
ESC [ Ps C >
+
+
+Cursor Forward Ps > Times [default: 1] (CUF) +
+

+
ESC [ Ps D >
+
+
+Cursor Backward Ps > Times [default: 1] (CUB) +
+

+
ESC [ Ps E >
+
+
+Cursor Down Ps > Times [default: 1] and to first column +
+

+
ESC [ Ps F >
+
+
+Cursor Up Ps > Times [default: 1] and to first column +
+

+
ESC [ Ps G >
+
+
+Cursor to Column Ps > (HPA) +
+

+
ESC [ Ps;Ps H >
+
+
+Cursor Position [row;column] [default: 1;1] (CUP) +
+

+
ESC [ Ps I >
+
+
+Move forward Ps > tab stops [default: 1] +
+

+
ESC [ Ps J >
+
+
+Erase in Display (ED) +
+ + + + +
Ps = 0Clear Below (default)
Ps = 1Clear Above
Ps = 2Clear All

+
ESC [ Ps K >
+
+
+Erase in Line (EL) +
+ + + + +
Ps = 0Clear to Right (default)
Ps = 1Clear to Left
Ps = 2Clear All

+
ESC [ Ps L >
+
+
+Insert Ps > Line(s) [default: 1] (IL) +
+

+
ESC [ Ps M >
+
+
+Delete Ps > Line(s) [default: 1] (DL) +
+

+
ESC [ Ps P >
+
+
+Delete Ps > Character(s) [default: 1] (DCH) +
+

+
ESC [ Ps;Ps;Ps;Ps;Ps T >
+
+
+Initiate . unimplemented Parameters are +[func;startx;starty;firstrow;lastrow]. +
+

+
ESC [ Ps W >
+
+
+Tabulator functions +
+ + + + +
Ps = 0Tab Set (HTS)
Ps = 2Tab Clear (TBC), Clear Current Column (default)
Ps = 5Tab Clear (TBC), Clear All

+
ESC [ Ps X >
+
+
+Erase Ps > Character(s) [default: 1] (ECH) +
+

+
ESC [ Ps Z >
+
+
+Move backward Ps > [default: 1] tab stops +
+

+
ESC [ Ps ' >
+
+
+See ESC [ Ps G > +
+

+
ESC [ Ps a >
+
+
+See ESC [ Ps C > +
+

+
ESC [ Ps c >
+
+
+Send Device Attributes (DA) +Ps = 0 > (or omitted): request attributes from terminal +returns: ESC[?1;2c > (``I am a VT100 with Advanced Video +Option'') +
+

+
ESC [ Ps d >
+
+
+Cursor to Line Ps > (VPA) +
+

+
ESC [ Ps e >
+
+
+See ESC [ Ps A > +
+

+
ESC [ Ps;Ps f >
+
+
+Horizontal and Vertical Position [row;column] (HVP) [default: 1;1] +
+

+
ESC [ Ps g >
+
+
+Tab Clear (TBC) +
+ + + +
Ps = 0Clear Current Column (default)
Ps = 3Clear All (TBC)

+
ESC [ Pm h >
+
+
+Set Mode (SM). See ESC [ Pm l > sequence for description of Pm. +
+

+
ESC [ Ps i >
+
+
+Printing. See also the print-pipe resource. +
+ + + + +
Ps = 0print screen (MC0)
Ps = 4disable transparent print mode (MC4)
Ps = 5enable transparent print mode (MC5)

+
ESC [ Pm l >
+
+
+Reset Mode (RM) +
+
+
Ps = 4 >
+
+ + + +
hInsert Mode (SMIR)
lReplace Mode (RMIR)
Ps = 20 > (partially implemented)
+
+ + + +
hAutomatic Newline (LNM)
lNormal Linefeed (LNM)
+
ESC [ Pm m >
+
+
+Character Attributes (SGR) +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ps = 0Normal (default)
Ps = 1 / 21On / Off Bold (bright fg)
Ps = 3 / 23On / Off Italic
Ps = 4 / 24On / Off Underline
Ps = 5 / 25On / Off Slow Blink (bright bg)
Ps = 6 / 26On / Off Rapid Blink (bright bg)
Ps = 7 / 27On / Off Inverse
Ps = 8 / 27On / Off Invisible (NYI)
Ps = 30 / 40fg/bg Black
Ps = 31 / 41fg/bg Red
Ps = 32 / 42fg/bg Green
Ps = 33 / 43fg/bg Yellow
Ps = 34 / 44fg/bg Blue
Ps = 35 / 45fg/bg Magenta
Ps = 36 / 46fg/bg Cyan
Ps = 38;5 / 48;5set fg/bg to color #m (ISO 8613-6)
Ps = 37 / 47fg/bg White
Ps = 39 / 49fg/bg Default
Ps = 90 / 100fg/bg Bright Black
Ps = 91 / 101fg/bg Bright Red
Ps = 92 / 102fg/bg Bright Green
Ps = 93 / 103fg/bg Bright Yellow
Ps = 94 / 104fg/bg Bright Blue
Ps = 95 / 105fg/bg Bright Magenta
Ps = 96 / 106fg/bg Bright Cyan
Ps = 97 / 107fg/bg Bright White
Ps = 99 / 109fg/bg Bright Default

+
ESC [ Ps n >
+
+
+Device Status Report (DSR) +
+ + + + + +
Ps = 5Status Report ESC [ 0 n (``OK'')
Ps = 6Report Cursor Position (CPR) [row;column] as ESC [ r ; c R
Ps = 7Request Display Name
Ps = 8Request Version Number (place in window title)

+
ESC [ Ps;Ps r >
+
+
+Set Scrolling Region [top;bottom] +[default: full size of window] (CSR) +
+

+
ESC [ s >
+
+
+Save Cursor (SC) +
+

+
ESC [ Ps x >
+
+
+Request Terminal Parameters (DECREQTPARM) +
+

+
ESC [ u >
+
+
+Restore Cursor +
+

+

+

+

+
+

DEC Private Modes

+
+
ESC [ ? Pm h >
+
+
+DEC Private Mode Set (DECSET) +
+

+
ESC [ ? Pm l >
+
+
+DEC Private Mode Reset (DECRST) +
+

+
ESC [ ? Pm r >
+
+
+Restore previously saved DEC Private Mode Values. +
+

+
ESC [ ? Pm s >
+
+
+Save DEC Private Mode Values. +
+

+
ESC [ ? Pm t >
+
+
+Toggle DEC Private Mode Values (rxvt extension). where +
+
+
Ps = 1 > (DECCKM)
+
+ + + +
hApplication Cursor Keys
lNormal Cursor Keys
Ps = 2 > (ANSI/VT52 mode)
+
+ + + +
hEnter VT52 mode
lEnter VT52 mode
Ps = 3 >
+
+ + + +
h132 Column Mode (DECCOLM)
l80 Column Mode (DECCOLM)
Ps = 4 >
+
+ + + +
hSmooth (Slow) Scroll (DECSCLM)
lJump (Fast) Scroll (DECSCLM)
Ps = 5 >
+
+ + + +
hReverse Video (DECSCNM)
lNormal Video (DECSCNM)
Ps = 6 >
+
+ + + +
hOrigin Mode (DECOM)
lNormal Cursor Mode (DECOM)
Ps = 7 >
+
+ + + +
hWraparound Mode (DECAWM)
lNo Wraparound Mode (DECAWM)
Ps = 8 > unimplemented
+
+ + + +
hAuto-repeat Keys (DECARM)
lNo Auto-repeat Keys (DECARM)
Ps = 9 > X10 XTerm
+
+ + + +
hSend Mouse X & Y on button press.
lNo mouse reporting.
Ps = 10 > (rxvt)
+
+ + + +
hmenuBar visible
lmenuBar invisible
Ps = 25 >
+
+ + + +
hVisible cursor {cnorm/cvvis}
lInvisible cursor {civis}
Ps = 30 >
+
+ + + +
hscrollBar visisble
lscrollBar invisisble
Ps = 35 > (rxvt)
+
+ + + +
hAllow XTerm Shift+key sequences
lDisallow XTerm Shift+key sequences
Ps = 38 > unimplemented
+
+
+Enter Tektronix Mode (DECTEK) +
+

+
Ps = 40 >
+
+ + + +
hAllow 80/132 Mode
lDisallow 80/132 Mode
Ps = 44 > unimplemented
+
+ + + +
hTurn On Margin Bell
lTurn Off Margin Bell
Ps = 45 > unimplemented
+
+ + + +
hReverse-wraparound Mode
lNo Reverse-wraparound Mode
Ps = 46 > unimplemented
+
+
Ps = 47 >
+
+ + + +
hUse Alternate Screen Buffer
lUse Normal Screen Buffer

+
Ps = 66 >
+
+ + + +
hApplication Keypad (DECPAM) == ESC =
lNormal Keypad (DECPNM) == ESC >
Ps = 67 >
+
+ + + +
hBackspace key sends BS (DECBKM)
lBackspace key sends DEL
Ps = 1000 > (X11 XTerm)
+
+ + + +
hSend Mouse X & Y on button press and release.
lNo mouse reporting.
Ps = 1001 > (X11 XTerm) unimplemented
+
+ + + +
hUse Hilite Mouse Tracking.
lNo mouse reporting.
Ps = 1010 > (rxvt)
+
+ + + +
hDon't scroll to bottom on TTY output
lScroll to bottom on TTY output
Ps = 1011 > (rxvt)
+
+ + + +
hScroll to bottom when a key is pressed
lDon't scroll to bottom when a key is pressed
Ps = 1047 >
+
+ + + +
hUse Alternate Screen Buffer
lUse Normal Screen Buffer - clear Alternate Screen Buffer if returning from it
Ps = 1048 >
+
+ + + +
hSave cursor position
lRestore cursor position
Ps = 1049 >
+
+ + + +
hUse Alternate Screen Buffer - clear Alternate Screen Buffer if switching to it
lUse Normal Screen Buffer
+
+

+

+

+
+

XTerm Operating System Commands

+
+
ESC ] Ps;Pt ST >
+
+
+Set XTerm Parameters. 8-bit ST: 0x9c, 7-bit ST sequence: ESC \ (0x1b, +0x5c), backwards compatible terminator BEL (0x07) is also accepted. any +octet can be escaped by prefixing it with SYN (0x16, ^V). +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ps = 0Change Icon Name and Window Title to Pt
Ps = 1Change Icon Name to Pt
Ps = 2Change Window Title to Pt
Ps = 3If Pt starts with a ?, query the (STRING) property of the window and return it. If Pt contains a =, set the named property to the given value, else delete the specified property.
Ps = 4Pt is a semi-colon separated sequence of one or more semi-colon separated number/name pairs, where number is an index to a colour and name is the name of a colour. Each pair causes the numbered colour to be changed to name. Numbers 0-7 corresponds to low-intensity (normal) colours and 8-15 corresponds to high-intensity colours. 0=black, 1=red, 2=green, 3=yellow, 4=blue, 5=magenta, 6=cyan, 7=white
Ps = 10Change colour of text foreground to Pt (NB: may change in future)
Ps = 11Change colour of text background to Pt (NB: may change in future)
Ps = 12Change colour of text cursor foreground to Pt
Ps = 13Change colour of mouse foreground to Pt
Ps = 17Change colour of highlight characters to Pt
Ps = 18Change colour of bold characters to Pt
Ps = 19Change colour of underlined characters to Pt
Ps = 20Change default background to Pt
Ps = 39Change default foreground colour to Pt rxvt compile-time option
Ps = 46Change Log File to Pt unimplemented
Ps = 49Change default background colour to Pt rxvt compile-time option
Ps = 50Set fontset to Pt, with the following special values of Pt (rxvt) #+n change up n #-n change down n if n is missing of 0, a value of 1 is used empty change to font0 n change to font n
Ps = 55Log all scrollback buffer and all of screen to Pt
Ps = 701Change current locale to Pt, or, if Pt is ?, return the current locale (rxvt extension)
Ps = 703Menubar command Pt rxvt compile-time option (rxvt-unicode extension)
Ps = 704Change colour of italic characters to Pt
Ps = 705Change background pixmap tint colour to Pt
Ps = 710Set normal fontset to Pt. Same as Ps = 50.
Ps = 711Set bold fontset to Pt. Similar to Ps = 50.
Ps = 712Set italic fontset to Pt. Similar to Ps = 50.
Ps = 713Set bold-italic fontset to Pt. Similar to Ps = 50.

+

+

+

+
+

menuBar

+

The exact syntax used is almost solidified. > +In the menus, DON'T try to use menuBar commands that add or remove a +menuBar.

+

Note that in all of the commands, the /path/ > cannot be +omitted: use ./ to specify a menu relative to the current menu.

+

+

+

Overview of menuBar operation

+

For the menuBar XTerm escape sequence ESC ] 703 ; Pt ST, the syntax +of Pt can be used for a variety of tasks:

+

At the top level is the current menuBar which is a member of a circular +linked-list of other such menuBars.

+

The menuBar acts as a parent for the various drop-down menus, which in +turn, may have labels, separator lines, menuItems and subMenus.

+

The menuItems are the useful bits: you can use them to mimic keyboard +input or even to send text or escape sequences back to rxvt.

+

The menuBar syntax is intended to provide a simple yet robust method of +constructing and manipulating menus and navigating through the +menuBars.

+

The first step is to use the tag [menu:name] > which creates +the menuBar called name and allows access. You may now or menus, +subMenus, and menuItems. Finally, use the tag [done] to set the +menuBar access as readonly to prevent accidental corruption of the +menus. To re-access the current menuBar for alterations, use the tag +[menu], make the alterations and then use [done]

+

+

+

+

Commands

+
+
[menu:+name] >
+
+
+access the named menuBar for creation or alteration. If a new menuBar +is created, it is called name (max of 15 chars) and the current +menuBar is pushed onto the stack +
+

+
[menu]
+
+
+access the current menuBar for alteration +
+

+
[title:+string] >
+
+
+set the current menuBar's title to string, which may contain the +following format specifiers: +%% : literal % character +%n : rxvt name (as per the -name command-line option) +%v : rxvt version +
+

+
[done]
+
+
+set menuBar access as readonly. +End-of-file tag for [read:+file] > operations. +
+

+
[read:+file] >
+
+
+read menu commands directly from file (extension ``.menu'' will be +appended if required.) Start reading at a line with [menu] or < +[menu:+name > and continuing until [done] is encountered. +
+
+

Blank and comment lines (starting with #) are ignored. Actually, +since any invalid menu commands are also ignored, almost anything could +be construed as a comment line, but this may be tightened up in the +future ... so don't count on it!.

+
+

+
[read:+file;+name] >
+
+
+The same as [read:+file] >, but start reading at a line with +[menu:+name] > and continuing until [done:+name] > or +[done] is encountered. +
+

+
[dump]
+
+
+dump all menuBars to the file /tmp/rxvt-PID in a format suitable for +later rereading. +
+

+
[rm:name]
+
+
+remove the named menuBar +
+

+
[rm] [rm:]
+
+
+remove the current menuBar +
+

+
[rm*] [rm:*]
+
+
+remove all menuBars +
+

+
[swap]
+
+
+swap the top two menuBars +
+

+
[prev]
+
+
+access the previous menuBar +
+

+
[next]
+
+
+access the next menuBar +
+

+
[show]
+
+
+Enable display of the menuBar +
+

+
[hide]
+
+
+Disable display of the menuBar +
+

+
[pixmap:+name] >
+
+
[pixmap:+name;scaling] >
+
+
+(set the background pixmap globally +
+
+

A Future implementation may make this local to the menubar >)

+
+

+
[:+command:] >
+
+
+ignore the menu readonly status and issue a command to or a menu or +menuitem or change the ; a useful shortcut for setting the quick arrows +from a menuBar. +
+

+

+

+

+

Adding and accessing menus

+

The following commands may also be + prefixed.

+
+
/+
+
+
+access menuBar top level +
+

+
./+
+
+
+access current menu level +
+

+
../+
+
+
+access parent menu (1 level up) +
+

+
../../
+
+
+access parent menu (multiple levels up) +
+

+
/path/menu >
+
+
+add/access menu +
+

+
/path/menu/* >
+
+
+add/access menu and clear it if it exists +
+

+
/path/{-} >
+
+
+add separator +
+

+
/path/{item} >
+
+
+add item as a label +
+

+
/path/{item} action >
+
+
+add/alter menuitem with an associated action +
+

+
/path/{item}{right-text} >
+
+
+add/alter menuitem with right-text as the right-justified text +and as the associated action +
+

+
/path/{item}{rtext} action >
+
+
+add/alter menuitem with an associated action and with rtext as +the right-justified text. +
+

+
+
Special characters in action must be backslash-escaped:
+
+
+\a \b \E \e \n \r \t \octal +
+

+
or in control-character notation:
+
+
+^@, ^A .. ^Z .. ^_, ^? +
+

+

To send a string starting with a NUL (^@) character to the +program, start action with a pair of NUL characters (^@^@), +the first of which will be stripped off and the balance directed to the +program. Otherwise if action begins with NUL followed by +non-+NUL characters, the leading NUL is stripped off and the +balance is sent back to rxvt.

+

As a convenience for the many Emacs-type editors, action may start +with M- (eg, M-$ is equivalent to \E$) and a CR will be +appended if missed from M-x commands.

+

As a convenience for issuing XTerm ESC] sequences from a menubar (or +quick arrow), a BEL (^G) will be appended if needed.

+
+
For example,
+
+
+M-xapropos is equivalent to \Exapropos\r +
+

+
and
+
+
+\E]703;mona;100 is equivalent to \E]703;mona;100\a +
+

+

The option {right-rtext} > will be right-justified. In the +absence of a specified action, this text will be used as the action +as well.

+
+
For example,
+
+
+/File/{Open}{^X^F} is equivalent to /File/{Open}{^X^F} ^X^F +
+

+

The left label is necessary, since it's used for matching, but +implicitly hiding the left label (by using same name for both left and +right labels), or explicitly hiding the left label (by preceeding it +with a dot), makes it possible to have right-justified text only.

+
+
For example,
+
+
+/File/{Open}{Open} Open-File-Action +
+

+
or hiding it
+
+
+/File/{.anylabel}{Open} Open-File-Action +
+

+

+

+

+

Removing menus

+
+
-/*+ >
+
+
+remove all menus from the menuBar, the same as [clear] +
+

+
-+/pathmenu+ >
+
+
+remove menu +
+

+
-+/path{item}+ >
+
+
+remove item +
+

+
-+/path{-} >
+
+
+remove separator) +
+

+
-/path/menu/*
+
+
+remove all items, separators and submenus from menu +
+

+

+

+

+

Quick Arrows

+

The menus also provide a hook for quick arrows to provide easier +user access. If nothing has been explicitly set, the default is to +emulate the curror keys. The syntax permits each arrow to be altered +individually or all four at once without re-entering their common +beginning/end text. For example, to explicitly associate cursor actions +with the arrows, any of the following forms could be used:

+
+
<r+Right >>
+
+
<l+Left >>
+
+
<u+Up >>
+
+
<d+Down >>
+
+
+Define actions for the respective arrow buttons +
+

+
<b+Begin >>
+
+
<e+End >>
+
+
+Define common beginning/end parts for quick arrows which used in +conjunction with the above <r> <l> <u> <d> constructs +
+

+
+
For example, define arrows individually,
+
+
+
+ <u>\E[A
+
+
+
+ <d>\E[B
+
+
+
+ <r>\E[C
+
+
+
+ <l>\E[D
+
+
or all at once
+
+
+
+ <u>\E[AZ<><d>\E[BZ<><r>\E[CZ<><l>\E[D
+
+
or more compactly (factoring out common parts)
+
+
+
+ <b>\E[<u>AZ<><d>BZ<><r>CZ<><l>D
+
+
+

+

+

+

Command Summary

+

A short summary of the most common commands:

+
+
[menu:name]
+
+
+use an existing named menuBar or start a new one +
+

+
[menu]
+
+
+use the current menuBar +
+

+
[title:string]
+
+
+set menuBar title +
+

+
[done]
+
+
+set menu access to readonly and, if reading from a file, signal EOF +
+

+
[done:name]
+
+
+if reading from a file using [read:file;name] signal EOF +
+

+
[rm:name]
+
+
+remove named menuBar(s) +
+

+
[rm] [rm:]
+
+
+remove current menuBar +
+

+
[rm*] [rm:*]
+
+
+remove all menuBar(s) +
+

+
[swap]
+
+
+swap top two menuBars +
+

+
[prev]
+
+
+access the previous menuBar +
+

+
[next]
+
+
+access the next menuBar +
+

+
[show]
+
+
+map menuBar +
+

+
[hide]
+
+
+unmap menuBar +
+

+
[pixmap;file]
+
+
[pixmap;file;scaling]
+
+
+set a background pixmap +
+

+
[read:file]
+
+
[read:file;name]
+
+
+read in a menu from a file +
+

+
[dump]
+
+
+dump out all menuBars to /tmp/rxvt-PID +
+

+
/
+
+
+access menuBar top level +
+

+
./
+
+
../
+
+
../../
+
+
+access current or parent menu level +
+

+
/path/menu
+
+
+add/access menu +
+

+
/path/{-}
+
+
+add separator +
+

+
/path/{item}{rtext} action
+
+
+add/alter menu item +
+

+
-/*
+
+
+remove all menus from the menuBar +
+

+
-/path/menu
+
+
+remove menu items, separators and submenus from menu +
+

+
-/path/menu
+
+
+remove menu +
+

+
-/path/{item}
+
+
+remove item +
+

+
-/path/{-}
+
+
+remove separator +
+

+
<b>Begin<r>Right<l>Left<u>Up<d>Down<e>End
+
+
+menu quick arrows +
+

+

+

+
+

XPM

+

For the XPM XTerm escape sequence ESC ] 20 ; Pt ST > then value +of Pt > can be the name of the background pixmap followed by a +sequence of scaling/positioning commands separated by semi-colons. The +scaling/positioning commands are as follows:

+
+
query scale/position
+
+
+? +
+

+
change scale and position
+
+
+WxH+X+Y +
+
+

WxH+X (== WxH+X+X)

+
+
+

WxH (same as WxH+50+50)

+
+
+

W+X+Y (same as WxW+X+Y)

+
+
+

W+X (same as WxW+X+X)

+
+
+

W (same as WxW+50+50)

+
+

+
change position (absolute)
+
+
+=+X+Y +
+
+

=+X (same as =+X+Y)

+
+

+
change position (relative)
+
+
++X+Y +
+
+

+X (same as +X+Y)

+
+

+
rescale (relative)
+
+
+Wx0 -> W *= (W/100) +
+
+

0xH -> H *= (H/100)

+
+

+

For example:

+
+
\E]20;funky\a
+
+
+load funky.xpm as a tiled image +
+

+
\E]20;mona;100\a
+
+
+load mona.xpm with a scaling of 100% +
+

+
\E]20;;200;?\a
+
+
+rescale the current pixmap to 200% and display the image geometry in +the title +
+

+

+

+
+

Mouse Reporting

+
+
ESC [ M <b> <x> <y> >
+
+
+report mouse position +
+

+

The lower 2 bits of <b> > indicate the button:

+
+
Button = (<b> - SPACE) & 3 >
+
+ + + + + +
0Button1 pressed
1Button2 pressed
2Button3 pressed
3button released (X11 mouse report)
+

The upper bits of <b> > indicate the modifiers when the +button was pressed and are added together (X11 mouse report only):

+
+
State = (<b> - SPACE) & 60 >
+
+ + + + + +
4Shift
8Meta
16Control
32Double Click (Rxvt extension)

Col = <x> - SPACE >

+

Row = <y> - SPACE >

+
+

+

+
+

Key Codes

+

Note: Shift + F1-F10 generates F11-F20

+

For the keypad, use Shift to temporarily override Application-Keypad +setting use Num_Lock to toggle Application-Keypad setting if +Num_Lock is off, toggle Application-Keypad setting. Also note that +values of Home, End, Delete may have been compiled differently on +your system.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NormalShiftControlCtrl+Shift
Tab^IESC [ Z^IESC [ Z
BackSpace^H^?^?^?
FindESC [ 1 ~ESC [ 1 $ESC [ 1 ^ESC [ 1 @
InsertESC [ 2 ~pasteESC [ 2 ^ESC [ 2 @
ExecuteESC [ 3 ~ESC [ 3 $ESC [ 3 ^ESC [ 3 @
SelectESC [ 4 ~ESC [ 4 $ESC [ 4 ^ESC [ 4 @
PriorESC [ 5 ~scroll-upESC [ 5 ^ESC [ 5 @
NextESC [ 6 ~scroll-downESC [ 6 ^ESC [ 6 @
HomeESC [ 7 ~ESC [ 7 $ESC [ 7 ^ESC [ 7 @
EndESC [ 8 ~ESC [ 8 $ESC [ 8 ^ESC [ 8 @
DeleteESC [ 3 ~ESC [ 3 $ESC [ 3 ^ESC [ 3 @
F1ESC [ 11 ~ESC [ 23 ~ESC [ 11 ^ESC [ 23 ^
F2ESC [ 12 ~ESC [ 24 ~ESC [ 12 ^ESC [ 24 ^
F3ESC [ 13 ~ESC [ 25 ~ESC [ 13 ^ESC [ 25 ^
F4ESC [ 14 ~ESC [ 26 ~ESC [ 14 ^ESC [ 26 ^
F5ESC [ 15 ~ESC [ 28 ~ESC [ 15 ^ESC [ 28 ^
F6ESC [ 17 ~ESC [ 29 ~ESC [ 17 ^ESC [ 29 ^
F7ESC [ 18 ~ESC [ 31 ~ESC [ 18 ^ESC [ 31 ^
F8ESC [ 19 ~ESC [ 32 ~ESC [ 19 ^ESC [ 32 ^
F9ESC [ 20 ~ESC [ 33 ~ESC [ 20 ^ESC [ 33 ^
F10ESC [ 21 ~ESC [ 34 ~ESC [ 21 ^ESC [ 34 ^
F11ESC [ 23 ~ESC [ 23 $ESC [ 23 ^ESC [ 23 @
F12ESC [ 24 ~ESC [ 24 $ESC [ 24 ^ESC [ 24 @
F13ESC [ 25 ~ESC [ 25 $ESC [ 25 ^ESC [ 25 @
F14ESC [ 26 ~ESC [ 26 $ESC [ 26 ^ESC [ 26 @
F15 (Help)ESC [ 28 ~ESC [ 28 $ESC [ 28 ^ESC [ 28 @
F16 (Menu)ESC [ 29 ~ESC [ 29 $ESC [ 29 ^ESC [ 29 @
F17ESC [ 31 ~ESC [ 31 $ESC [ 31 ^ESC [ 31 @
F18ESC [ 32 ~ESC [ 32 $ESC [ 32 ^ESC [ 32 @
F19ESC [ 33 ~ESC [ 33 $ESC [ 33 ^ESC [ 33 @
F20ESC [ 34 ~ESC [ 34 $ESC [ 34 ^ESC [ 34 @
Application
UpESC [ AESC [ aESC O aESC O A
DownESC [ BESC [ bESC O bESC O B
RightESC [ CESC [ cESC O cESC O C
LeftESC [ DESC [ dESC O dESC O D
KP_Enter^MESC O M
KP_F1ESC O PESC O P
KP_F2ESC O QESC O Q
KP_F3ESC O RESC O R
KP_F4ESC O SESC O S
XK_KP_Multiply*ESC O j
XK_KP_Add+ESC O k
XK_KP_Separator,ESC O l
XK_KP_Subtract-ESC O m
XK_KP_Decimal.ESC O n
XK_KP_Divide/ESC O o
XK_KP_00ESC O p
XK_KP_11ESC O q
XK_KP_22ESC O r
XK_KP_33ESC O s
XK_KP_44ESC O t
XK_KP_55ESC O u
XK_KP_66ESC O v
XK_KP_77ESC O w
XK_KP_88ESC O x
XK_KP_99ESC O y

+

+
+

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 +<rxvt@schmorp.de>.

+
+
--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 +following this with the appropriate commands. +
+

+
--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. +
+

+
--enable-font-styles
+
+
+Add support for bold, italic and bold italic > font +styles. The fonts can be set manually or automatically. +
+

+
--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. +
+ + + + + + + +
allall available codeset groups
zhcommon chinese encodings
zh_extrarely used but very big chinese encodigs
jpcommon japanese encodings
jp_extrarely used but big japanese encodings
krkorean encodings

+
--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. +
+

+
--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).

+
+

+
--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.

+
+

+
--enable-fallback(=CLASS)
+
+
+When reading resource settings, also read settings for class CLASS +(default: Rxvt). To disable resource fallback use --disable-fallback. +
+

+
--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. +
+

+
--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. +
+

+
--enable-utmp
+
+
+Write user and tty to utmp file (used by programs like w) at +start of rxvt execution and delete information when rxvt exits. +
+

+
--enable-wtmp
+
+
+Write user and tty to wtmp file (used by programs like last) at +start of rxvt execution and write logout when rxvt exits. This +option requires --enable-utmp to also be specified. +
+

+
--enable-lastlog
+
+
+Write user and tty to lastlog file (used by programs like +lastlogin) at start of rxvt execution. This option requires +--enable-utmp to also be specified. +
+

+
--enable-xpm-background
+
+
+Add support for XPM background pixmaps. +
+

+
--enable-transparency
+
+
+Add support for inheriting parent backgrounds thus giving a fake +transparency to the term. +
+

+
--enable-fading
+
+
+Add support for fading the text when focus is lost. +
+

+
--enable-tinting
+
+
+Add support for tinting of transparent backgrounds. +
+

+
--enable-menubar
+
+
+Add support for our menu bar system (this interacts badly with +dynamic locale switching currently). +
+

+
--enable-rxvt-scroll
+
+
+Add support for the original rxvt scrollbar. +
+

+
--enable-next-scroll
+
+
+Add support for a NeXT-like scrollbar. +
+

+
--enable-xterm-scroll
+
+
+Add support for an Xterm-like scrollbar. +
+

+
--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. +
+

+
--enable-half-shadow
+
+
+Make shadows on the scrollbar only half the normal width & height. +only applicable to rxvt scrollbars. +
+

+
--enable-ttygid
+
+
+Change tty device setting to group ``tty'' - only use this if +your system uses this type of security. +
+

+
--disable-backspace-key
+
+
+Disable any handling of the backspace key by us - let the X server +do it. +
+

+
--disable-delete-key
+
+
+Disable any handling of the delete key by us - let the X server +do it. +
+

+
--disable-resources
+
+
+Remove all resources checking. +
+

+
--enable-xgetdefault
+
+
+Make resources checking via XGetDefault() instead of our small +version which only checks ~/.Xdefaults, or if that doesn't exist +then ~/.Xresources. +
+

+
--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). +
+

+
--disable-swapscreen
+
+
+Remove support for swap screen. +
+

+
--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. +
+

+
--enable-iso14755
+
+
+Enable extended ISO 14755 support (see rxvt(1), or +doc/rxvt.1.txt). Basic support (section 5.1) is enabled by +--enable-frills, while support for 5.2, 5.3 and 5.4 is enabled with +this switch. +
+

+
--enable-keepscrolling
+
+
+Add support for continual scrolling of the display when you hold +the mouse button down on a scrollbar arrow. +
+

+
--enable-mousewheel
+
+
+Add support for scrolling via mouse wheel or buttons 4 & 5. +
+

+
--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. +
+

+
--disable-new-selection
+
+
+Remove support for mouse selection style like that of xterm. +
+

+
--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) .

+
+

+
--enable-dlmalloc
+
+
+Use Doug Lea's malloc - which is good for a production version +See http://g.oswego.edu/dl/html/malloc.html for details. +
+

+
--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. +
+

+
--enable-cursor-blink
+
+
+Add support for a blinking cursor. +
+

+
--enable-pointer-blank
+
+
+Add support to have the pointer disappear when typing or inactive. +
+

+
--with-name=NAME
+
+
+Set the basename for the installed binaries (default: urxvt, resulting in +urxvt, urxvtd etc.). Specify --with-name=rxvt to replace rxvt. +
+

+
--with-term=NAME
+
+
+Change the environmental variable for the terminal to NAME (default +``rxvt'') +
+

+
--with-terminfo=PATH
+
+
+Change the environmental variable for the path to the terminfo tree to +PATH. +
+

+
--with-x
+
+
+Use the X Window System (pretty much default, eh?). +
+

+
--with-xpm-includes=DIR
+
+
+Look for the XPM includes in DIR. +
+

+
--with-xpm-library=DIR
+
+
+Look for the XPM library in DIR. +
+

+
--with-xpm
+
+
+Not needed - define via --enable-xpm-background. +
+

+

+

+
+

AUTHORS

+

Marc Lehmann <rxvt@schmorp.de> converted this document to pod and +reworked it from the original Rxvt documentation, which was done by Geoff +Wing <gcw@pobox.com>, who in turn used the XTerm documentation and other +sources.

+ + + + diff --git a/doc/rxvt.7.man.in b/doc/rxvt.7.man.in new file mode 100644 index 00000000..e7063fb2 --- /dev/null +++ b/doc/rxvt.7.man.in @@ -0,0 +1,2333 @@ +.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.14 +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sh \" Subsection heading +.br +.if t .Sp +.ne 5 +.PP +\fB\\$1\fR +.PP +.. +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" Set up some character translations and predefined strings. \*(-- will +.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left +.\" double quote, and \*(R" will give a right double quote. | will give a +.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to +.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' +.\" expand to `' in nroff, nothing in troff, for use with C<>. +.tr \(*W-|\(bv\*(Tr +.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' +.ie n \{\ +. ds -- \(*W- +. ds PI pi +. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch +. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch +. ds L" "" +. ds R" "" +. ds C` +. ds C' +'br\} +.el\{\ +. ds -- \|\(em\| +. ds PI \(*p +. ds L" `` +. ds R" '' +'br\} +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. nr % 0 +. rr F +.\} +.\" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.hy 0 +.if n .na +.\" +.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). +.\" Fear. Run. Save yourself. No user-serviceable parts. +. \" fudge factors for nroff and troff +.if n \{\ +. ds #H 0 +. ds #V .8m +. ds #F .3m +. ds #[ \f1 +. ds #] \fP +.\} +.if t \{\ +. ds #H ((1u-(\\\\n(.fu%2u))*.13m) +. ds #V .6m +. ds #F 0 +. ds #[ \& +. ds #] \& +.\} +. \" simple accents for nroff and troff +.if n \{\ +. ds ' \& +. ds ` \& +. ds ^ \& +. ds , \& +. ds ~ ~ +. ds / +.\} +.if t \{\ +. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" +. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' +. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' +. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' +. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' +. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' +.\} +. \" troff and (daisy-wheel) nroff accents +.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' +.ds 8 \h'\*(#H'\(*b\h'-\*(#H' +.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] +.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' +.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' +.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] +.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] +.ds ae a\h'-(\w'a'u*4/10)'e +.ds Ae A\h'-(\w'A'u*4/10)'E +. \" corrections for vroff +.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' +.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' +. \" for low resolution devices (crt and lpr) +.if \n(.H>23 .if \n(.V>19 \ +\{\ +. ds : e +. ds 8 ss +. ds o a +. ds d- d\h'-1'\(ga +. ds D- D\h'-1'\(hy +. ds th \o'bp' +. ds Th \o'LP' +. ds ae ae +. ds Ae AE +.\} +.rm #[ #] #H #V #F C +.\" ======================================================================== +.\" +.IX Title "rxvt 7" +.TH rxvt 7 "2005-01-11" "4.8" "RXVT-UNICODE" +.SH "NAME" +RXVT REFERENCE \- FAQ, command sequences and other background information +.SH "FREQUENTLY ASKED QUESTIONS" +.IX Header "FREQUENTLY ASKED QUESTIONS" +.IP "How do I know which rxvt-unicode version I'm using?" 4 +.IX 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 \f(CW\*(C`ESC[8n\*(C'\fR sets the window title to the version number. +.IP "When I log-in to another system it tells me about missing terminfo data?" 4 +.IX 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). +.Sp +The correct solution for this problem is to install the terminfo, this can +be done like this (with ncurses' infocmp): +.Sp +.Vb 2 +\& REMOTE=remotesystem.domain +\& infocmp rxvt-unicode | ssh $REMOTE "cat >/tmp/ti && tic /tmp/ti" +.Ve +.Sp +\&... or by installing rxvt-unicode normally on the remote system, +.Sp +If you cannot or do not want to do this, then you can simply set +\&\f(CW\*(C`TERM=rxvt\*(C'\fR or even \f(CW\*(C`TERM=xterm\*(C'\fR, 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. +.Sp +If you always want to do this you can either recompile rxvt-unicode with +the desired \s-1TERM\s0 value or use a resource to set it: +.Sp +.Vb 1 +\& URxvt.termName: rxvt +.Ve +.Sp +If you don't plan to use \fBrxvt\fR (quite common...) you could also replace +the rxvt terminfo file with the rxvt-unicode one. +.IP "I need a termcap file entry." 4 +.IX 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: +.Sp +.Vb 1 +\& infocmp -C rxvt-unicode +.Ve +.Sp +\&\s-1OR\s0 you could this termcap entry: +.Sp +.Vb 19 +\& rxvt-unicode|rxvt-unicode terminal (X Window System):\e +\& :am:bw:eo:km:mi:ms:xn:xo:\e +\& :co#80:it#8:li#24:\e +\& :AL=\eE[%dL:DC=\eE[%dP:DL=\eE[%dM:DO=\eE[%dB:IC=\eE[%d@:\e +\& :K1=\eEOw:K2=\eEOu:K3=\eEOy:K4=\eEOq:K5=\eEOs:LE=\eE[%dD:\e +\& :RI=\eE[%dC:SF=\eE[%dS:SR=\eE[%dT:UP=\eE[%dA:ae=^O:al=\eE[L:\e +\& :as=^N:bl=^G:cd=\eE[J:ce=\eE[K:cl=\eE[H\eE[2J:cm=\eE[%i%d;%dH:\e +\& :cr=^M:cs=\eE[%i%d;%dr:ct=\eE[3g:dc=\eE[P:dl=\eE[M:do=^J:\e +\& :ec=\eE[%dX:ei=\eE[4l:ho=\eE[H:i1=\eE[?47l\eE=\eE[?1l:ic=\eE[@:\e +\& :im=\eE[4h:is=\eE[r\eE[m\eE[2J\eE[H\eE[?7h\eE[?1;3;4;6l\eE[4l:\e +\& :k0=\eE[21~:k1=\eE[11~:k2=\eE[12~:k3=\eE[13~:k4=\eE[14~:\e +\& :k5=\eE[15~:k6=\eE[17~:k7=\eE[18~:k8=\eE[19~:k9=\eE[20~:\e +\& :kD=\eE[3~:kI=\eE[2~:kN=\eE[6~:kP=\eE[5~:kb=\e177:kd=\eEOB:\e +\& :ke=\eE[?1l\eE>:kh=\eE[7~:kl=\eEOD:kr=\eEOC:ks=\eE[?1h\eE=:\e +\& :ku=\eEOA:le=^H:mb=\eE[5m:md=\eE[1m:me=\eE[m\e017:mr=\eE[7m:\e +\& :nd=\eE[C:rc=\eE8:sc=\eE7:se=\eE[27m:sf=^J:so=\eE[7m:sr=\eEM:\e +\& :st=\eEH:ta=^I:te=\eE[r\eE[?1049l:ti=\eE[?1049h:ue=\eE[24m:\e +\& :up=\eE[A:us=\eE[4m:vb=\eE[?5h\eE[?5l:ve=\eE[?25h:vi=\eE[?25l:\e +\& :vs=\eE[?25h: +.Ve +.ie n .IP "Why does \*(C`ls\*(C' no longer have coloured output?" 4 +.el .IP "Why does \f(CW\*(C`ls\*(C'\fR no longer have coloured output?" 4 +.IX Item "Why does ls no longer have coloured output?" +The \f(CW\*(C`ls\*(C'\fR in the \s-1GNU\s0 coreutils unfortunately doesn't use terminfo to +decide wether a terminal has colour, but uses it's own configuration +file. Needless to say, \f(CW\*(C`rxvt\-unicode\*(C'\fR is not in it's default file (among +with most other terminals supporting colour). Either add: +.Sp +.Vb 1 +\& TERM rxvt-unicode +.Ve +.Sp +to \f(CW\*(C`/etc/DIR_COLORS\*(C'\fR or simply add: +.Sp +.Vb 1 +\& alias ls='ls --color=auto' +.Ve +.Sp +to your \f(CW\*(C`.profile\*(C'\fR or \f(CW\*(C`.bashrc\*(C'\fR. +.IP "Why doesn't vim/emacs etc. use the 88 colour mode?" 4 +.IX Item "Why doesn't vim/emacs etc. use the 88 colour mode?" +.PD 0 +.IP "Why doesn't vim/emacs etc. make use of italic?" 4 +.IX Item "Why doesn't vim/emacs etc. make use of italic?" +.IP "Why are the secondary screen-related options not working properly?" 4 +.IX Item "Why are the secondary screen-related options not working properly?" +.PD +Make sure you are using \f(CW\*(C`TERM=rxvt\-unicode\*(C'\fR. Some pre-packaged +distributions (most notably Debian GNU/Linux) break rxvt-unicode +by setting \f(CW\*(C`TERM\*(C'\fR to \f(CW\*(C`rxvt\*(C'\fR, which doesn't have these extra +features. Unfortunately, some of these (most notably, again, Debian +GNU/Linux) furthermore fail to even install the \f(CW\*(C`rxvt\-unicode\*(C'\fR terminfo +file, so you will need to install it on your own (See the question \fBWhen +I log-in to another system it tells me about missing terminfo data?\fR on +how to do this). +.IP "Rxvt-unicode does not seem to understand the selected encoding?" 4 +.IX Item "Rxvt-unicode does not seem to understand the selected encoding?" +.PD 0 +.IP "Unicode does not seem to work?" 4 +.IX Item "Unicode does not seem to work?" +.PD +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. +.Sp +Rxvt-unicode must be started with the same \f(CW\*(C`LC_CTYPE\*(C'\fR setting as the +programs. Often rxvt-unicode is started in the \f(CW\*(C`C\*(C'\fR locale, while the +login script running within the rxvt-unicode window changes the locale to +sth. else, e.h. \f(CW\*(C`en_GB.UTF\-8\*(C'\fR. Needless to say, this is not going to work. +.Sp +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. +.Sp +.Vb 1 +\& printf '\ee]701;%s\e007' "$LC_CTYPE" +.Ve +.Sp +If this doesn't work, then maybe you use a \f(CW\*(C`LC_CTYPE\*(C'\fR specification not +supported on your systems. Some systems have a \f(CW\*(C`locale\*(C'\fR command which +displays this. If it displays sth. like: +.Sp +.Vb 1 +\& locale: Cannot set LC_CTYPE to default locale: ... +.Ve +.Sp +Then the locale you specified is not supported on your system. +.Sp +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 :( +.IP "Why do some characters look so much different than others?" 4 +.IX Item "Why do some characters look so much different than others?" +.PD 0 +.IP "How does rxvt-unicode choose fonts?" 4 +.IX Item "How does rxvt-unicode choose fonts?" +.PD +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. +.Sp +\&\fBrxvt-unicode\fR 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. +.Sp +In that case, select a font of your taste and add it to the font list, +e.g.: +.Sp +.Vb 1 +\& @@RXVT_NAME@@ -fn basefont,font2,font3... +.Ve +.Sp +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. +.Sp +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. +.IP "Why do some chinese characters look so different than others?" 4 +.IX 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. +.Sp +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. +.Sp +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). +.IP "Why does rxvt-unicode sometimes leave pixel droppings?" 4 +.IX 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 \*(L"a bit\*(R" too wide a special +\&\*(L"careful\*(R" rendering mode is used that redraws adjacent characters. +.Sp +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). +.Sp +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 you might try using +the \f(CW\*(C`\-lsp\*(C'\fR option to give the font more height. If that doesn't work, you +might be forced to use a different font. +.Sp +All of this is not a problem when using X11 core fonts, as their bounding +box data is correct. +.IP "My Compose (Multi_key) key is no longer working." 4 +.IX 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 \fBpreeditStyle\fR that is not supported by +your input method. For example, if you specified \fBOverTheSpot\fR 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. +.Sp +In this case either do not specify a \fBpreeditStyle\fR or specify more than +one pre-edit style, such as \fBOverTheSpot,Root,None\fR. +.ie n .IP "I cannot type \*(C`Ctrl\-Shift\-2\*(C' to get an \s-1ASCII\s0 \s-1NUL\s0 character due to \s-1ISO\s0 14755" 4 +.el .IP "I cannot type \f(CW\*(C`Ctrl\-Shift\-2\*(C'\fR to get an \s-1ASCII\s0 \s-1NUL\s0 character due to \s-1ISO\s0 14755" 4 +.IX Item "I cannot type Ctrl-Shift-2 to get an ASCII NUL character due to ISO 14755" +Either try \f(CW\*(C`Ctrl\-2\*(C'\fR alone (it often is mapped to \s-1ASCII\s0 \s-1NUL\s0 even on +international keyboards) or simply use \s-1ISO\s0 14755 support to your +advantage, typing to get a \s-1ASCII\s0 \s-1NUL\s0. This works for other +codes, too, such as \f(CW\*(C`Ctrl\-Shift\-1\-d\*(C'\fR to type the default telnet escape +character and so on. +.IP "How can I keep rxvt-unicode from using reverse video so much?" 4 +.IX 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 +(\f(CW\*(C`urxvt\*(C'\fR), 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: +.Sp +.Vb 2 +\& URxvt*colorBD: white +\& URxvt*colorIT: green +.Ve +.IP "Some programs assume totally weird colours (red instead of blue), how can I fix that?" 4 +.IX 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. +.Sp +In the meantime, you can either edit your \f(CW\*(C`urxvt\*(C'\fR terminfo definition to +only claim 8 colour support or use \f(CW\*(C`TERM=rxvt\*(C'\fR, which will fix colours +but keep you from using other rxvt-unicode features. +.IP "I am on FreeBSD and rxvt-unicode does not seem to work at all." 4 +.IX Item "I am on FreeBSD and rxvt-unicode does not seem to work at all." +Rxvt-unicode requires the symbol \f(CW\*(C`_\|_STDC_ISO_10646_\|_\*(C'\fR to be defined +in your compile environment, or an implementation that implements it, +wether it defines the symbol or not. \f(CW\*(C`_\|_STDC_ISO_10646_\|_\*(C'\fR requires that +\&\fBwchar_t\fR is represented as unicode. +.Sp +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 +\&\fBwchar_t\fR. This is, of course, completely legal. +.Sp +However, \f(CW\*(C`_\|_STDC_ISO_10646_\|_\*(C'\fR is the only sane way to support +multi-language apps in an \s-1OS\s0, as using a locale-dependent (and +non\-standardized) representation of \fBwchar_t\fR makes it impossible to +convert between \fBwchar_t\fR (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 \fBwchar_t\fR into anything +except the current locale encoding. +.Sp +Some applications (such as the formidable \fBmlterm\fR) 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 \s-1OS\s0 implements +encodings slightly different than the terminal emulator). +.Sp +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. +.IP "How does rxvt-unicode determine the encoding to use?" 4 +.IX Item "How does rxvt-unicode determine the encoding to use?" +.PD 0 +.IP "Is there an option to switch encodings?" 4 +.IX Item "Is there an option to switch encodings?" +.PD +Unlike some other terminals, rxvt-unicode has no encoding switch, and no +specific \*(L"utf\-8\*(R" mode, such as xterm. In fact, it doesn't even know about +\&\s-1UTF\-8\s0 or any other encodings with respect to terminal I/O. +.Sp +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 \fIlocale\fR. +.Sp +Rxvt-unicode uses the \f(CW\*(C`LC_CTYPE\*(C'\fR locale category to select encoding. All +programs doing the same (that is, most) will automatically agree in the +interpretation of characters. +.Sp +Unfortunately, there is no system-independent way to select locales, nor +is there a standard on how locale specifiers will look like. +.Sp +On most systems, the content of the \f(CW\*(C`LC_CTYPE\*(C'\fR environment variable +contains an arbitrary string which corresponds to an already-installed +locale. Common names for locales are \f(CW\*(C`en_US.UTF\-8\*(C'\fR, \f(CW\*(C`de_DE.ISO\-8859\-15\*(C'\fR, +\&\f(CW\*(C`ja_JP.EUC\-JP\*(C'\fR, i.e. \f(CW\*(C`language_country.encoding\*(C'\fR, but other forms +(i.e. \f(CW\*(C`de\*(C'\fR or \f(CW\*(C`german\*(C'\fR) are also common. +.Sp +Rxvt-unicode ignores all other locale categories, and except for +the encoding, ignores country or language-specific settings, +i.e. \f(CW\*(C`de_DE.UTF\-8\*(C'\fR and \f(CW\*(C`ja_JP.UTF\-8\*(C'\fR are the same for rxvt\-unicode. +.Sp +If you want to use a specific encoding you have to make sure you start +rxvt-unicode with the correct \f(CW\*(C`LC_CTYPE\*(C'\fR category. +.IP "Can I switch locales at runtime?" 4 +.IX Item "Can I switch locales at runtime?" +Yes, using an escape sequence. Try sth. like this, which sets +rxvt\-unicode's idea of \f(CW\*(C`LC_CTYPE\*(C'\fR. +.Sp +.Vb 1 +\& printf '\ee]701;%s\e007' ja_JP.SJIS +.Ve +.Sp +See also the previous question. +.Sp +Sometimes this capability is rather handy when you want to work in one +locale (e.g. \f(CW\*(C`de_DE.UTF\-8\*(C'\fR) but some programs don't support \s-1UTF\-8\s0. For +example, I use this script to start \f(CW\*(C`xjdic\*(C'\fR, which first switches to a +locale supported by xjdic and back later: +.Sp +.Vb 3 +\& printf '\ee]701;%s\e007' ja_JP.SJIS +\& xjdic -js +\& printf '\ee]701;%s\e007' de_DE.UTF-8 +.Ve +.IP "Can I switch the fonts at runtime?" 4 +.IX 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 \f(CW\*(C`\-fn\*(C'\fR switch, and takes effect immediately: +.Sp +.Vb 1 +\& printf '\ee]50;%s\e007' "9x15bold,xft:Kochi Gothic" +.Ve +.Sp +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. +.Sp +You can think of this as a kind of manual \s-1ISO\-2022\s0 switching. +.IP "Why do italic characters look as if clipped?" 4 +.IX 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 \f(CW\*(C`xft:Bitstream Vera Sans +Mono\*(C'\fR completely fails in it's italic face. A workaround is to enable +freetype autohinting, i.e. like this: +.Sp +.Vb 2 +\& URxvt*italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true +\& URxvt*boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true +.Ve +.IP "My input method wants but I want \s-1UTF\-8\s0, what can I do?" 4 +.IX 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 \f(CW\*(C`imlocale\*(C'\fR: +.Sp +.Vb 1 +\& URxvt*imlocale: ja_JP.EUC-JP +.Ve +.Sp +Now you can start your terminal with \f(CW\*(C`LC_CTYPE=ja_JP.UTF\-8\*(C'\fR and still +use your input method. Please note, however, that you will not be able to +input characters outside \f(CW\*(C`EUC\-JP\*(C'\fR in a normal way then, as your input +method limits you. +.IP "Rxvt-unicode uses gobs of memory, how can I reduce that?" 4 +.IX 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. +.Sp +Also, many people (me included) like large windows and even larger +scrollback buffers: Without \f(CW\*(C`\-\-enable\-unicode3\*(C'\fR, 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 \f(CW\*(C`\-\-enable\-unicode3\*(C'\fR it gets worse, as +rxvt-unicode then uses 8 bytes per screen cell. +.IP "Can I speed up Xft rendering somehow?" 4 +.IX 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 \f(CW\*(C`:antialiasing=false\*(C'\fR), which saves lots of +memory and also speeds up rendering considerably. +.IP "Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong?" 4 +.IX 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. +.Sp +If you want antialiasing, you have to specify the fonts manually. +.IP "Mouse cut/paste suddenly no longer works." 4 +.IX 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) +.IP "What's with this bold/blink stuff?" 4 +.IX Item "What's with this bold/blink stuff?" +If no bold colour is set via \f(CW\*(C`colorBD:\*(C'\fR, bold will invert text using the +standard foreground colour. +.Sp +For the standard background colour, blinking will actually make the +text blink when compiled with \f(CW\*(C`\-\-enable\-blinking\*(C'\fR. with standard +colours. Without \f(CW\*(C`\-\-enable\-blinking\*(C'\fR, the blink attribute will be +ignored. +.Sp +On \s-1ANSI\s0 colours, bold/blink attributes are used to set high-intensity +foreground/background colors. +.Sp +color0\-7 are the low-intensity colors. +.Sp +color8\-15 are the corresponding high-intensity colors. +.IP "I don't like the screen colors. How do I change them?" 4 +.IX Item "I don't like the screen colors. How do I change them?" +You can change the screen colors at run-time using \fI~/.Xdefaults\fR +resources (or as long\-options). +.Sp +Here are values that are supposed to resemble a \s-1VGA\s0 screen, +including the murky brown that passes for low-intensity yellow: +.Sp +.Vb 8 +\& URxvt*color0: #000000 +\& URxvt*color1: #A80000 +\& URxvt*color2: #00A800 +\& URxvt*color3: #A8A800 +\& URxvt*color4: #0000A8 +\& URxvt*color5: #A800A8 +\& URxvt*color6: #00A8A8 +\& URxvt*color7: #A8A8A8 +.Ve +.Sp +.Vb 8 +\& URxvt*color8: #000054 +\& URxvt*color9: #FF0054 +\& URxvt*color10: #00FF54 +\& URxvt*color11: #FFFF54 +\& URxvt*color12: #0000FF +\& URxvt*color13: #FF00FF +\& URxvt*color14: #00FFFF +\& URxvt*color15: #FFFFFF +.Ve +.Sp +And here is a more complete set of non-standard colors described as +\&\*(L"pretty girly\*(R": +.Sp +.Vb 18 +\& URxvt.cursorColor: #dc74d1 +\& URxvt.pointerColor: #dc74d1 +\& URxvt.background: #0e0e0e +\& URxvt.foreground: #4ad5e1 +\& URxvt.color0: #000000 +\& URxvt.color8: #8b8f93 +\& URxvt.color1: #dc74d1 +\& URxvt.color9: #dc74d1 +\& URxvt.color2: #0eb8c7 +\& URxvt.color10: #0eb8c7 +\& URxvt.color3: #dfe37e +\& URxvt.color11: #dfe37e +\& URxvt.color5: #9e88f0 +\& URxvt.color13: #9e88f0 +\& URxvt.color6: #73f7ff +\& URxvt.color14: #73f7ff +\& URxvt.color7: #e1dddd +\& URxvt.color15: #e1dddd +.Ve +.IP "What's with the strange Backspace/Delete key behaviour?" 4 +.IX 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: \f(CW\*(C`^H\*(C'\fR and \f(CW\*(C`^?\*(C'\fR. +.Sp +Historically, either value is correct, but rxvt-unicode adopts the debian +policy of using \f(CW\*(C`^?\*(C'\fR when unsure, because it's the one only only correct +choice :). +.Sp +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 \s-1CERASE\s0 in , will +be used (which may not be the same as your stty setting). +.Sp +For starting a new rxvt\-unicode: +.Sp +.Vb 3 +\& # use Backspace = ^H +\& $ stty erase ^H +\& $ @@RXVT_NAME@@ +.Ve +.Sp +.Vb 3 +\& # use Backspace = ^? +\& $ stty erase ^? +\& $ @@RXVT_NAME@@ +.Ve +.Sp +Toggle with \*(L"ESC[36h\*(R" / \*(L"ESC[36l\*(R" as documented in @@RXVT_NAME@@(7). +.Sp +For an existing rxvt\-unicode: +.Sp +.Vb 3 +\& # use Backspace = ^H +\& $ stty erase ^H +\& $ echo -n "^[[36h" +.Ve +.Sp +.Vb 3 +\& # use Backspace = ^? +\& $ stty erase ^? +\& $ echo -n "^[[36l" +.Ve +.Sp +This helps satisfy some of the Backspace discrepancies that occur, but +if you use Backspace = \f(CW\*(C`^H\*(C'\fR, make sure that the termcap/terminfo value +properly reflects that. +.Sp +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. +.Sp +Some other Backspace problems: +.Sp +some editors use termcap/terminfo, +some editors (vim I'm told) expect Backspace = ^H, +\&\s-1GNU\s0 Emacs (and Emacs-like editors) use ^H for help. +.Sp +Perhaps someday this will all be resolved in a consistent manner. +.IP "I don't like the key\-bindings. How do I change them?" 4 +.IX 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 \*(L"configure\*(R" with the \f(CW\*(C`\-\-disable\-resources\*(C'\fR option you can +use the `keysym' resource to alter the keystrings associated with keysym +0xFF00 \- 0xFFFF (function, cursor keys, etc). +.Sp +Here's an example for a tn3270 session started using `@@RXVT_NAME@@ \-name tn3270' +.Sp +.Vb 3 +\& !# ----- special uses ------: +\& ! tn3270 login, remap function and arrow keys. +\& tn3270*font: *clean-bold-*-*--15-* +.Ve +.Sp +.Vb 3 +\& ! keysym - used by rxvt only +\& ! Delete - ^D +\& tn3270*keysym.0xFFFF: \e004 +.Ve +.Sp +.Vb 12 +\& ! Home - ^A +\& tn3270*keysym.0xFF50: \e001 +\& ! Left - ^B +\& tn3270*keysym.0xFF51: \e002 +\& ! Up - ^P +\& tn3270*keysym.0xFF52: \e020 +\& ! Right - ^F +\& tn3270*keysym.0xFF53: \e006 +\& ! Down - ^N +\& tn3270*keysym.0xFF54: \e016 +\& ! End - ^E +\& tn3270*keysym.0xFF57: \e005 +.Ve +.Sp +.Vb 13 +\& ! F1 - F12 +\& tn3270*keysym.0xFFBE: \ee1 +\& tn3270*keysym.0xFFBF: \ee2 +\& tn3270*keysym.0xFFC0: \ee3 +\& tn3270*keysym.0xFFC1: \ee4 +\& tn3270*keysym.0xFFC2: \ee5 +\& tn3270*keysym.0xFFC3: \ee6 +\& tn3270*keysym.0xFFC4: \ee7 +\& tn3270*keysym.0xFFC5: \ee8 +\& tn3270*keysym.0xFFC6: \ee9 +\& tn3270*keysym.0xFFC7: \ee0 +\& tn3270*keysym.0xFFC8: \ee- +\& tn3270*keysym.0xFFC9: \ee= +.Ve +.Sp +.Vb 3 +\& ! map Prior/Next to F7/F8 +\& tn3270*keysym.0xFF55: \ee7 +\& tn3270*keysym.0xFF56: \ee8 +.Ve +.IP "I'm using keyboard model \s-1XXX\s0 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." 4 +.IX 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." +.Vb 6 +\& KP_Insert == Insert +\& F22 == Print +\& F27 == Home +\& F29 == Prior +\& F33 == End +\& F35 == Next +.Ve +.Sp +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. +.IP "How do I distinguish if I'm running rxvt-unicode or a regular xterm? I need this to decide about setting colors etc." 4 +.IX 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 \*(L"\s-1COLORTERM\s0\*(R", so you can +check and see if that is set. Note that several programs, \s-1JED\s0, slrn, +Midnight Commander automatically check this variable to decide whether or +not to use color. +.IP "How do I set the correct, full \s-1IP\s0 address for the \s-1DISPLAY\s0 variable?" 4 +.IX Item "How do I set the correct, full IP address for the DISPLAY variable?" +If you've compiled rxvt-unicode with \s-1DISPLAY_IS_IP\s0 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 \s-1ESCZ_ANSWER\s0 (as assumed in these snippets) then +the \s-1COLORTERM\s0 variable can be used to distinguish rxvt-unicode from a +regular xterm. +.Sp +Courtesy of Chuck Blake with the following shell script +snippets: +.Sp +.Vb 12 +\& # 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 +.Ve +.IP "How do I compile the manual pages for myself?" 4 +.IX Item "How do I compile the manual pages for myself?" +You need to have a recent version of perl installed as \fI/usr/bin/perl\fR, +one that comes with \fIpod2man\fR, \fIpod2text\fR and \fIpod2html\fR. Then go to +the doc subdirectory and enter \f(CW\*(C`make alldoc\*(C'\fR. +.IP "My question isn't answered here, can I ask a human?" 4 +.IX Item "My question isn't answered here, can I ask a human?" +Before sending me mail, you could go to \s-1IRC:\s0 \f(CW\*(C`irc.freenode.net\*(C'\fR, +channel \f(CW\*(C`#rxvt\-unicode\*(C'\fR has some rxvt-unicode enthusiasts that might be +interested in learning about new and exciting problems (but not FAQs :). +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +.Vb 2 +\& # set a new font set +\& printf '\e33]50;%s\e007' 9x15,xft:Kochi" Mincho" +.Ve +.PP +.Vb 2 +\& # change the locale and tell rxvt-unicode about it +\& export LC_CTYPE=ja_JP.EUC-JP; printf "\e33]701;$LC_CTYPE\e007" +.Ve +.PP +.Vb 2 +\& # set window title +\& printf '\e33]2;%s\e007' "new window title" +.Ve +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +The rest of this document describes various technical aspects of +\&\fBrxvt-unicode\fR. First the description of supported command sequences, +followed by menu and pixmap support and last by a description of all +features selectable at \f(CW\*(C`configure\*(C'\fR time. +.SH "RXVT TECHNICAL REFERENCE" +.IX Header "RXVT TECHNICAL REFERENCE" +.SH "Definitions" +.IX Header "Definitions" +.ie n .IP "\fB\fB\*(C`c\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`c\*(C'\fB\fR" 4 +.IX Item "c" +The literal character c. +.ie n .IP "\fB\fB\*(C`C\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`C\*(C'\fB\fR" 4 +.IX Item "C" +A single (required) character. +.ie n .IP "\fB\fB\*(C`Ps\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`Ps\*(C'\fB\fR" 4 +.IX Item "Ps" +A single (usually optional) numeric parameter, composed of one or more +digits. +.ie n .IP "\fB\fB\*(C`Pm\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`Pm\*(C'\fB\fR" 4 +.IX Item "Pm" +A multiple numeric parameter composed of any number of single numeric +parameters, separated by \f(CW\*(C`;\*(C'\fR character(s). +.ie n .IP "\fB\fB\*(C`Pt\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`Pt\*(C'\fB\fR" 4 +.IX Item "Pt" +A text parameter composed of printable characters. +.SH "Values" +.IX Header "Values" +.ie n .IP "\fB\fB\*(C`ENQ\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ENQ\*(C'\fB\fR" 4 +.IX Item "ENQ" +Enquiry (Ctrl\-E) = Send Device Attributes (\s-1DA\s0) +request attributes from terminal. See \fB\f(CB\*(C`ESC [ Ps c\*(C'\fB\fR. +.ie n .IP "\fB\fB\*(C`BEL\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`BEL\*(C'\fB\fR" 4 +.IX Item "BEL" +Bell (Ctrl\-G) +.ie n .IP "\fB\fB\*(C`BS\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`BS\*(C'\fB\fR" 4 +.IX Item "BS" +Backspace (Ctrl\-H) +.ie n .IP "\fB\fB\*(C`TAB\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`TAB\*(C'\fB\fR" 4 +.IX Item "TAB" +Horizontal Tab (\s-1HT\s0) (Ctrl\-I) +.ie n .IP "\fB\fB\*(C`LF\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`LF\*(C'\fB\fR" 4 +.IX Item "LF" +Line Feed or New Line (\s-1NL\s0) (Ctrl\-J) +.ie n .IP "\fB\fB\*(C`VT\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`VT\*(C'\fB\fR" 4 +.IX Item "VT" +Vertical Tab (Ctrl\-K) same as \fB\f(CB\*(C`LF\*(C'\fB\fR +.ie n .IP "\fB\fB\*(C`FF\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`FF\*(C'\fB\fR" 4 +.IX Item "FF" +Form Feed or New Page (\s-1NP\s0) (Ctrl\-L) same as \fB\f(CB\*(C`LF\*(C'\fB\fR +.ie n .IP "\fB\fB\*(C`CR\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`CR\*(C'\fB\fR" 4 +.IX Item "CR" +Carriage Return (Ctrl\-M) +.ie n .IP "\fB\fB\*(C`SO\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`SO\*(C'\fB\fR" 4 +.IX Item "SO" +Shift Out (Ctrl\-N), invokes the G1 character set. +Switch to Alternate Character Set +.ie n .IP "\fB\fB\*(C`SI\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`SI\*(C'\fB\fR" 4 +.IX Item "SI" +Shift In (Ctrl\-O), invokes the G0 character set (the default). +Switch to Standard Character Set +.ie n .IP "\fB\fB\*(C`SPC\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`SPC\*(C'\fB\fR" 4 +.IX Item "SPC" +Space Character +.SH "Escape Sequences" +.IX Header "Escape Sequences" +.ie n .IP "\fB\fB\*(C`ESC # 8\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC # 8\*(C'\fB\fR" 4 +.IX Item "ESC # 8" +\&\s-1DEC\s0 Screen Alignment Test (\s-1DECALN\s0) +.ie n .IP "\fB\fB\*(C`ESC 7\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC 7\*(C'\fB\fR" 4 +.IX Item "ESC 7" +Save Cursor (\s-1SC\s0) +.ie n .IP "\fB\fB\*(C`ESC 8\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC 8\*(C'\fB\fR" 4 +.IX Item "ESC 8" +Restore Cursor +.ie n .IP "\fB\fB\*(C`ESC =\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC =\*(C'\fB\fR" 4 +.IX Item "ESC =" +Application Keypad (\s-1SMKX\s0). See also next sequence. +.ie n .IP "\fB\fB\*(C`ESC\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC\*(C'\fB\fR" 4 +.IX Item "ESC" +Normal Keypad (\s-1RMKX\s0) +.Sp +\&\fBNote:\fR If the numeric keypad is activated, eg, \fBNum_Lock\fR has been +pressed, numbers or control functions are generated by the numeric keypad +(see Key Codes). +.ie n .IP "\fB\fB\*(C`ESC D\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC D\*(C'\fB\fR" 4 +.IX Item "ESC D" +Index (\s-1IND\s0) +.ie n .IP "\fB\fB\*(C`ESC E\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC E\*(C'\fB\fR" 4 +.IX Item "ESC E" +Next Line (\s-1NEL\s0) +.ie n .IP "\fB\fB\*(C`ESC H\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC H\*(C'\fB\fR" 4 +.IX Item "ESC H" +Tab Set (\s-1HTS\s0) +.ie n .IP "\fB\fB\*(C`ESC M\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC M\*(C'\fB\fR" 4 +.IX Item "ESC M" +Reverse Index (\s-1RI\s0) +.ie n .IP "\fB\fB\*(C`ESC N\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC N\*(C'\fB\fR" 4 +.IX Item "ESC N" +Single Shift Select of G2 Character Set (\s-1SS2\s0): affects next character +only \fIunimplemented\fR +.ie n .IP "\fB\fB\*(C`ESC O\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC O\*(C'\fB\fR" 4 +.IX Item "ESC O" +Single Shift Select of G3 Character Set (\s-1SS3\s0): affects next character +only \fIunimplemented\fR +.ie n .IP "\fB\fB\*(C`ESC Z\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC Z\*(C'\fB\fR" 4 +.IX Item "ESC Z" +Obsolete form of returns: \fB\f(CB\*(C`ESC[?1;2C\*(C'\fB\fR \fIrxvt-unicode compile-time option\fR +.ie n .IP "\fB\fB\*(C`ESC c\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC c\*(C'\fB\fR" 4 +.IX Item "ESC c" +Full reset (\s-1RIS\s0) +.ie n .IP "\fB\fB\*(C`ESC n\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC n\*(C'\fB\fR" 4 +.IX Item "ESC n" +Invoke the G2 Character Set (\s-1LS2\s0) +.ie n .IP "\fB\fB\*(C`ESC o\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC o\*(C'\fB\fR" 4 +.IX Item "ESC o" +Invoke the G3 Character Set (\s-1LS3\s0) +.ie n .IP "\fB\fB\*(C`ESC\*(C'\fB ( C>\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC\*(C'\fB ( C>\fR" 4 +.IX Item "ESC ( C>" +Designate G0 Character Set (\s-1ISO\s0 2022), see below for values of \f(CW\*(C`C\*(C'\fR. +.ie n .IP "\fB\fB\*(C`ESC\*(C'\fB ) C>\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC\*(C'\fB ) C>\fR" 4 +.IX Item "ESC ) C>" +Designate G1 Character Set (\s-1ISO\s0 2022), see below for values of \f(CW\*(C`C\*(C'\fR. +.ie n .IP "\fB\fB\*(C`ESC * C\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC * C\*(C'\fB\fR" 4 +.IX Item "ESC * C" +Designate G2 Character Set (\s-1ISO\s0 2022), see below for values of \f(CW\*(C`C\*(C'\fR. +.ie n .IP "\fB\fB\*(C`ESC + C\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC + C\*(C'\fB\fR" 4 +.IX Item "ESC + C" +Designate G3 Character Set (\s-1ISO\s0 2022), see below for values of \f(CW\*(C`C\*(C'\fR. +.ie n .IP "\fB\fB\*(C`ESC $ C\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC $ C\*(C'\fB\fR" 4 +.IX Item "ESC $ C" +Designate Kanji Character Set +.Sp +Where \fB\f(CB\*(C`C\*(C'\fB\fR is one of: +.TS +l l . +C = 0 DEC Special Character and Line Drawing Set +C = A United Kingdom (UK) +C = B United States (USASCII) +C = < Multinational character set unimplemented +C = 5 Finnish character set unimplemented +C = C Finnish character set unimplemented +C = K German character set unimplemented +.TE + +.PP + +.IX Xref "CSI" +.SH "CSI (Command Sequence Introducer) Sequences" +.IX Header "CSI (Command Sequence Introducer) Sequences" +.ie n .IP "\fB\fB\*(C`ESC [ Ps @\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps @\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps @" +Insert \fB\f(CB\*(C`Ps\*(C'\fB\fR (Blank) Character(s) [default: 1] (\s-1ICH\s0) +.IX Xref "ESCOBPsA" +.ie n .IP "\fB\fB\*(C`ESC [ Ps A\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps A\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps A" +Cursor Up \fB\f(CB\*(C`Ps\*(C'\fB\fR Times [default: 1] (\s-1CUU\s0) +.ie n .IP "\fB\fB\*(C`ESC [ Ps B\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps B\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps B" +Cursor Down \fB\f(CB\*(C`Ps\*(C'\fB\fR Times [default: 1] (\s-1CUD\s0) +.IX Xref "ESCOBPsC" +.ie n .IP "\fB\fB\*(C`ESC [ Ps C\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps C\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps C" +Cursor Forward \fB\f(CB\*(C`Ps\*(C'\fB\fR Times [default: 1] (\s-1CUF\s0) +.ie n .IP "\fB\fB\*(C`ESC [ Ps D\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps D\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps D" +Cursor Backward \fB\f(CB\*(C`Ps\*(C'\fB\fR Times [default: 1] (\s-1CUB\s0) +.ie n .IP "\fB\fB\*(C`ESC [ Ps E\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps E\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps E" +Cursor Down \fB\f(CB\*(C`Ps\*(C'\fB\fR Times [default: 1] and to first column +.ie n .IP "\fB\fB\*(C`ESC [ Ps F\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps F\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps F" +Cursor Up \fB\f(CB\*(C`Ps\*(C'\fB\fR Times [default: 1] and to first column +.IX Xref "ESCOBPsG" +.ie n .IP "\fB\fB\*(C`ESC [ Ps G\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps G\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps G" +Cursor to Column \fB\f(CB\*(C`Ps\*(C'\fB\fR (\s-1HPA\s0) +.ie n .IP "\fB\fB\*(C`ESC [ Ps;Ps H\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps;Ps H\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps;Ps H" +Cursor Position [row;column] [default: 1;1] (\s-1CUP\s0) +.ie n .IP "\fB\fB\*(C`ESC [ Ps I\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps I\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps I" +Move forward \fB\f(CB\*(C`Ps\*(C'\fB\fR tab stops [default: 1] +.ie n .IP "\fB\fB\*(C`ESC [ Ps J\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps J\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps J" +Erase in Display (\s-1ED\s0) +.TS +l l . +Ps = 0 Clear Below (default) +Ps = 1 Clear Above +Ps = 2 Clear All +.TE + +.ie n .IP "\fB\fB\*(C`ESC [ Ps K\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps K\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps K" +Erase in Line (\s-1EL\s0) +.TS +l l . +Ps = 0 Clear to Right (default) +Ps = 1 Clear to Left +Ps = 2 Clear All +.TE + +.ie n .IP "\fB\fB\*(C`ESC [ Ps L\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps L\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps L" +Insert \fB\f(CB\*(C`Ps\*(C'\fB\fR Line(s) [default: 1] (\s-1IL\s0) +.ie n .IP "\fB\fB\*(C`ESC [ Ps M\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps M\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps M" +Delete \fB\f(CB\*(C`Ps\*(C'\fB\fR Line(s) [default: 1] (\s-1DL\s0) +.ie n .IP "\fB\fB\*(C`ESC [ Ps P\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps P\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps P" +Delete \fB\f(CB\*(C`Ps\*(C'\fB\fR Character(s) [default: 1] (\s-1DCH\s0) +.ie n .IP "\fB\fB\*(C`ESC [ Ps;Ps;Ps;Ps;Ps T\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps;Ps;Ps;Ps;Ps T\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps;Ps;Ps;Ps;Ps T" +Initiate . \fIunimplemented\fR Parameters are +[func;startx;starty;firstrow;lastrow]. +.ie n .IP "\fB\fB\*(C`ESC [ Ps W\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps W\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps W" +Tabulator functions +.TS +l l . +Ps = 0 Tab Set (HTS) +Ps = 2 Tab Clear (TBC), Clear Current Column (default) +Ps = 5 Tab Clear (TBC), Clear All +.TE + +.ie n .IP "\fB\fB\*(C`ESC [ Ps X\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps X\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps X" +Erase \fB\f(CB\*(C`Ps\*(C'\fB\fR Character(s) [default: 1] (\s-1ECH\s0) +.ie n .IP "\fB\fB\*(C`ESC [ Ps Z\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps Z\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps Z" +Move backward \fB\f(CB\*(C`Ps\*(C'\fB\fR [default: 1] tab stops +.ie n .IP "\fB\fB\*(C`ESC [ Ps '\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps '\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps '" +See \fB\f(CB\*(C`ESC [ Ps G\*(C'\fB\fR +.ie n .IP "\fB\fB\*(C`ESC [ Ps a\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps a\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps a" +See \fB\f(CB\*(C`ESC [ Ps C\*(C'\fB\fR +.ie n .IP "\fB\fB\*(C`ESC [ Ps c\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps c\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps c" +Send Device Attributes (\s-1DA\s0) +\&\fB\f(CB\*(C`Ps = 0\*(C'\fB\fR (or omitted): request attributes from terminal +returns: \fB\f(CB\*(C`ESC[?1;2c\*(C'\fB\fR (``I am a \s-1VT100\s0 with Advanced Video +Option'') +.ie n .IP "\fB\fB\*(C`ESC [ Ps d\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps d\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps d" +Cursor to Line \fB\f(CB\*(C`Ps\*(C'\fB\fR (\s-1VPA\s0) +.ie n .IP "\fB\fB\*(C`ESC [ Ps e\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps e\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps e" +See \fB\f(CB\*(C`ESC [ Ps A\*(C'\fB\fR +.ie n .IP "\fB\fB\*(C`ESC [ Ps;Ps f\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps;Ps f\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps;Ps f" +Horizontal and Vertical Position [row;column] (\s-1HVP\s0) [default: 1;1] +.ie n .IP "\fB\fB\*(C`ESC [ Ps g\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps g\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps g" +Tab Clear (\s-1TBC\s0) +.TS +l l . +Ps = 0 Clear Current Column (default) +Ps = 3 Clear All (TBC) +.TE + +.ie n .IP "\fB\fB\*(C`ESC [ Pm h\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Pm h\*(C'\fB\fR" 4 +.IX Item "ESC [ Pm h" +Set Mode (\s-1SM\s0). See \fB\f(CB\*(C`ESC [ Pm l\*(C'\fB\fR sequence for description of \f(CW\*(C`Pm\*(C'\fR. +.ie n .IP "\fB\fB\*(C`ESC [ Ps i\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps i\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps i" +Printing. See also the \f(CW\*(C`print\-pipe\*(C'\fR resource. +.TS +l l . +Ps = 0 print screen (MC0) +Ps = 4 disable transparent print mode (MC4) +Ps = 5 enable transparent print mode (MC5) +.TE + +.ie n .IP "\fB\fB\*(C`ESC [ Pm l\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Pm l\*(C'\fB\fR" 4 +.IX Item "ESC [ Pm l" +Reset Mode (\s-1RM\s0) +.RS 4 +.ie n .IP "\fB\fB\*(C`Ps = 4\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`Ps = 4\*(C'\fB\fR" 4 +.IX Item "Ps = 4" +.TS +l l . +h Insert Mode (SMIR) +l Replace Mode (RMIR) +.TE + +.PD 0 +.ie n .IP "\fB\fB\*(C`Ps = 20\*(C'\fB\fR (partially implemented)" 4 +.el .IP "\fB\f(CB\*(C`Ps = 20\*(C'\fB\fR (partially implemented)" 4 +.IX Item "Ps = 20 (partially implemented)" +.TS +l l . +h Automatic Newline (LNM) +l Normal Linefeed (LNM) +.TE + +.RE +.RS 4 +.RE +.ie n .IP "\fB\fB\*(C`ESC [ Pm m\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Pm m\*(C'\fB\fR" 4 +.IX Item "ESC [ Pm m" +.PD +Character Attributes (\s-1SGR\s0) +.TS +l l . +Ps = 0 Normal (default) +Ps = 1 / 21 On / Off Bold (bright fg) +Ps = 3 / 23 On / Off Italic +Ps = 4 / 24 On / Off Underline +Ps = 5 / 25 On / Off Slow Blink (bright bg) +Ps = 6 / 26 On / Off Rapid Blink (bright bg) +Ps = 7 / 27 On / Off Inverse +Ps = 8 / 27 On / Off Invisible (NYI) +Ps = 30 / 40 fg/bg Black +Ps = 31 / 41 fg/bg Red +Ps = 32 / 42 fg/bg Green +Ps = 33 / 43 fg/bg Yellow +Ps = 34 / 44 fg/bg Blue +Ps = 35 / 45 fg/bg Magenta +Ps = 36 / 46 fg/bg Cyan +Ps = 38;5 / 48;5 set fg/bg to color #m (ISO 8613-6) +Ps = 37 / 47 fg/bg White +Ps = 39 / 49 fg/bg Default +Ps = 90 / 100 fg/bg Bright Black +Ps = 91 / 101 fg/bg Bright Red +Ps = 92 / 102 fg/bg Bright Green +Ps = 93 / 103 fg/bg Bright Yellow +Ps = 94 / 104 fg/bg Bright Blue +Ps = 95 / 105 fg/bg Bright Magenta +Ps = 96 / 106 fg/bg Bright Cyan +Ps = 97 / 107 fg/bg Bright White +Ps = 99 / 109 fg/bg Bright Default +.TE + +.ie n .IP "\fB\fB\*(C`ESC [ Ps n\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps n\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps n" +Device Status Report (\s-1DSR\s0) +.TS +l l . +Ps = 5 Status Report ESC [ 0 n (``OK'') +Ps = 6 Report Cursor Position (CPR) [row;column] as ESC [ r ; c R +Ps = 7 Request Display Name +Ps = 8 Request Version Number (place in window title) +.TE + +.ie n .IP "\fB\fB\*(C`ESC [ Ps;Ps r\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps;Ps r\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps;Ps r" +Set Scrolling Region [top;bottom] +[default: full size of window] (\s-1CSR\s0) +.ie n .IP "\fB\fB\*(C`ESC [ s\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ s\*(C'\fB\fR" 4 +.IX Item "ESC [ s" +Save Cursor (\s-1SC\s0) +.ie n .IP "\fB\fB\*(C`ESC [ Ps x\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ Ps x\*(C'\fB\fR" 4 +.IX Item "ESC [ Ps x" +Request Terminal Parameters (\s-1DECREQTPARM\s0) +.ie n .IP "\fB\fB\*(C`ESC [ u\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ u\*(C'\fB\fR" 4 +.IX Item "ESC [ u" +Restore Cursor +.PP + +.IX Xref "PrivateModes" +.SH "DEC Private Modes" +.IX Header "DEC Private Modes" +.ie n .IP "\fB\fB\*(C`ESC [ ? Pm h\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ ? Pm h\*(C'\fB\fR" 4 +.IX Item "ESC [ ? Pm h" +\&\s-1DEC\s0 Private Mode Set (\s-1DECSET\s0) +.ie n .IP "\fB\fB\*(C`ESC [ ? Pm l\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ ? Pm l\*(C'\fB\fR" 4 +.IX Item "ESC [ ? Pm l" +\&\s-1DEC\s0 Private Mode Reset (\s-1DECRST\s0) +.ie n .IP "\fB\fB\*(C`ESC [ ? Pm r\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ ? Pm r\*(C'\fB\fR" 4 +.IX Item "ESC [ ? Pm r" +Restore previously saved \s-1DEC\s0 Private Mode Values. +.ie n .IP "\fB\fB\*(C`ESC [ ? Pm s\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ ? Pm s\*(C'\fB\fR" 4 +.IX Item "ESC [ ? Pm s" +Save \s-1DEC\s0 Private Mode Values. +.ie n .IP "\fB\fB\*(C`ESC [ ? Pm t\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ ? Pm t\*(C'\fB\fR" 4 +.IX Item "ESC [ ? Pm t" +Toggle \s-1DEC\s0 Private Mode Values (rxvt extension). \fIwhere\fR +.RS 4 +.ie n .IP "\fB\fB\*(C`Ps = 1\*(C'\fB\fR (\s-1DECCKM\s0)" 4 +.el .IP "\fB\f(CB\*(C`Ps = 1\*(C'\fB\fR (\s-1DECCKM\s0)" 4 +.IX Item "Ps = 1 (DECCKM)" +.TS +l l . +h Application Cursor Keys +l Normal Cursor Keys +.TE + +.PD 0 +.ie n .IP "\fB\fB\*(C`Ps = 2\*(C'\fB\fR (\s-1ANSI/VT52\s0 mode)" 4 +.el .IP "\fB\f(CB\*(C`Ps = 2\*(C'\fB\fR (\s-1ANSI/VT52\s0 mode)" 4 +.IX Item "Ps = 2 (ANSI/VT52 mode)" +.TS +l l . +h Enter VT52 mode +l Enter VT52 mode +.TE + +.ie n .IP "\fB\fB\*(C`Ps = 3\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`Ps = 3\*(C'\fB\fR" 4 +.IX Item "Ps = 3" +.TS +l l . +h 132 Column Mode (DECCOLM) +l 80 Column Mode (DECCOLM) +.TE + +.ie n .IP "\fB\fB\*(C`Ps = 4\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`Ps = 4\*(C'\fB\fR" 4 +.IX Item "Ps = 4" +.TS +l l . +h Smooth (Slow) Scroll (DECSCLM) +l Jump (Fast) Scroll (DECSCLM) +.TE + +.ie n .IP "\fB\fB\*(C`Ps = 5\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`Ps = 5\*(C'\fB\fR" 4 +.IX Item "Ps = 5" +.TS +l l . +h Reverse Video (DECSCNM) +l Normal Video (DECSCNM) +.TE + +.ie n .IP "\fB\fB\*(C`Ps = 6\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`Ps = 6\*(C'\fB\fR" 4 +.IX Item "Ps = 6" +.TS +l l . +h Origin Mode (DECOM) +l Normal Cursor Mode (DECOM) +.TE + +.ie n .IP "\fB\fB\*(C`Ps = 7\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`Ps = 7\*(C'\fB\fR" 4 +.IX Item "Ps = 7" +.TS +l l . +h Wraparound Mode (DECAWM) +l No Wraparound Mode (DECAWM) +.TE + +.ie n .IP "\fB\fB\*(C`Ps = 8\*(C'\fB\fR \fIunimplemented\fR" 4 +.el .IP "\fB\f(CB\*(C`Ps = 8\*(C'\fB\fR \fIunimplemented\fR" 4 +.IX Item "Ps = 8 unimplemented" +.TS +l l . +h Auto-repeat Keys (DECARM) +l No Auto-repeat Keys (DECARM) +.TE + +.ie n .IP "\fB\fB\*(C`Ps = 9\*(C'\fB\fR X10 XTerm" 4 +.el .IP "\fB\f(CB\*(C`Ps = 9\*(C'\fB\fR X10 XTerm" 4 +.IX Item "Ps = 9 X10 XTerm" +.TS +l l . +h Send Mouse X & Y on button press. +l No mouse reporting. +.TE + +.ie n .IP "\fB\fB\*(C`Ps = 10\*(C'\fB\fR (\fBrxvt\fR)" 4 +.el .IP "\fB\f(CB\*(C`Ps = 10\*(C'\fB\fR (\fBrxvt\fR)" 4 +.IX Item "Ps = 10 (rxvt)" +.TS +l l . +h menuBar visible +l menuBar invisible +.TE + +.ie n .IP "\fB\fB\*(C`Ps = 25\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`Ps = 25\*(C'\fB\fR" 4 +.IX Item "Ps = 25" +.TS +l l . +h Visible cursor {cnorm/cvvis} +l Invisible cursor {civis} +.TE + +.ie n .IP "\fB\fB\*(C`Ps = 30\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`Ps = 30\*(C'\fB\fR" 4 +.IX Item "Ps = 30" +.TS +l l . +h scrollBar visisble +l scrollBar invisisble +.TE + +.ie n .IP "\fB\fB\*(C`Ps = 35\*(C'\fB\fR (\fBrxvt\fR)" 4 +.el .IP "\fB\f(CB\*(C`Ps = 35\*(C'\fB\fR (\fBrxvt\fR)" 4 +.IX Item "Ps = 35 (rxvt)" +.TS +l l . +h Allow XTerm Shift+key sequences +l Disallow XTerm Shift+key sequences +.TE + +.ie n .IP "\fB\fB\*(C`Ps = 38\*(C'\fB\fR \fIunimplemented\fR" 4 +.el .IP "\fB\f(CB\*(C`Ps = 38\*(C'\fB\fR \fIunimplemented\fR" 4 +.IX Item "Ps = 38 unimplemented" +.PD +Enter Tektronix Mode (\s-1DECTEK\s0) +.ie n .IP "\fB\fB\*(C`Ps = 40\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`Ps = 40\*(C'\fB\fR" 4 +.IX Item "Ps = 40" +.TS +l l . +h Allow 80/132 Mode +l Disallow 80/132 Mode +.TE + +.PD 0 +.ie n .IP "\fB\fB\*(C`Ps = 44\*(C'\fB\fR \fIunimplemented\fR" 4 +.el .IP "\fB\f(CB\*(C`Ps = 44\*(C'\fB\fR \fIunimplemented\fR" 4 +.IX Item "Ps = 44 unimplemented" +.TS +l l . +h Turn On Margin Bell +l Turn Off Margin Bell +.TE + +.ie n .IP "\fB\fB\*(C`Ps = 45\*(C'\fB\fR \fIunimplemented\fR" 4 +.el .IP "\fB\f(CB\*(C`Ps = 45\*(C'\fB\fR \fIunimplemented\fR" 4 +.IX Item "Ps = 45 unimplemented" +.TS +l l . +h Reverse-wraparound Mode +l No Reverse-wraparound Mode +.TE + +.ie n .IP "\fB\fB\*(C`Ps = 46\*(C'\fB\fR \fIunimplemented\fR" 4 +.el .IP "\fB\f(CB\*(C`Ps = 46\*(C'\fB\fR \fIunimplemented\fR" 4 +.IX Item "Ps = 46 unimplemented" +.ie n .IP "\fB\fB\*(C`Ps = 47\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`Ps = 47\*(C'\fB\fR" 4 +.IX Item "Ps = 47" +.TS +l l . +h Use Alternate Screen Buffer +l Use Normal Screen Buffer +.TE + +.PD + +.IX Xref "Priv66" +.ie n .IP "\fB\fB\*(C`Ps = 66\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`Ps = 66\*(C'\fB\fR" 4 +.IX Item "Ps = 66" +.TS +l l . +h Application Keypad (DECPAM) == ESC = +l Normal Keypad (DECPNM) == ESC > +.TE + +.PD 0 +.ie n .IP "\fB\fB\*(C`Ps = 67\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`Ps = 67\*(C'\fB\fR" 4 +.IX Item "Ps = 67" +.TS +l l . +h Backspace key sends BS (DECBKM) +l Backspace key sends DEL +.TE + +.ie n .IP "\fB\fB\*(C`Ps = 1000\*(C'\fB\fR (X11 XTerm)" 4 +.el .IP "\fB\f(CB\*(C`Ps = 1000\*(C'\fB\fR (X11 XTerm)" 4 +.IX Item "Ps = 1000 (X11 XTerm)" +.TS +l l . +h Send Mouse X & Y on button press and release. +l No mouse reporting. +.TE + +.ie n .IP "\fB\fB\*(C`Ps = 1001\*(C'\fB\fR (X11 XTerm) \fIunimplemented\fR" 4 +.el .IP "\fB\f(CB\*(C`Ps = 1001\*(C'\fB\fR (X11 XTerm) \fIunimplemented\fR" 4 +.IX Item "Ps = 1001 (X11 XTerm) unimplemented" +.TS +l l . +h Use Hilite Mouse Tracking. +l No mouse reporting. +.TE + +.ie n .IP "\fB\fB\*(C`Ps = 1010\*(C'\fB\fR (\fBrxvt\fR)" 4 +.el .IP "\fB\f(CB\*(C`Ps = 1010\*(C'\fB\fR (\fBrxvt\fR)" 4 +.IX Item "Ps = 1010 (rxvt)" +.TS +l l . +h Don't scroll to bottom on TTY output +l Scroll to bottom on TTY output +.TE + +.ie n .IP "\fB\fB\*(C`Ps = 1011\*(C'\fB\fR (\fBrxvt\fR)" 4 +.el .IP "\fB\f(CB\*(C`Ps = 1011\*(C'\fB\fR (\fBrxvt\fR)" 4 +.IX Item "Ps = 1011 (rxvt)" +.TS +l l . +h Scroll to bottom when a key is pressed +l Don't scroll to bottom when a key is pressed +.TE + +.ie n .IP "\fB\fB\*(C`Ps = 1047\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`Ps = 1047\*(C'\fB\fR" 4 +.IX Item "Ps = 1047" +.TS +l l . +h Use Alternate Screen Buffer +l Use Normal Screen Buffer - clear Alternate Screen Buffer if returning from it +.TE + +.ie n .IP "\fB\fB\*(C`Ps = 1048\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`Ps = 1048\*(C'\fB\fR" 4 +.IX Item "Ps = 1048" +.TS +l l . +h Save cursor position +l Restore cursor position +.TE + +.ie n .IP "\fB\fB\*(C`Ps = 1049\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`Ps = 1049\*(C'\fB\fR" 4 +.IX Item "Ps = 1049" +.TS +l l . +h Use Alternate Screen Buffer - clear Alternate Screen Buffer if switching to it +l Use Normal Screen Buffer +.TE + +.RE +.RS 4 +.RE +.PD +.PP + +.IX Xref "XTerm" +.SH "XTerm Operating System Commands" +.IX Header "XTerm Operating System Commands" +.ie n .IP "\fB\fB\*(C`ESC ] Ps;Pt ST\*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC ] Ps;Pt ST\*(C'\fB\fR" 4 +.IX Item "ESC ] Ps;Pt ST" +Set XTerm Parameters. 8\-bit \s-1ST:\s0 0x9c, 7\-bit \s-1ST\s0 sequence: \s-1ESC\s0 \e (0x1b, +0x5c), backwards compatible terminator \s-1BEL\s0 (0x07) is also accepted. any +\&\fBoctet\fR can be escaped by prefixing it with \s-1SYN\s0 (0x16, ^V). +.TS +l l . +Ps = 0 Change Icon Name and Window Title to Pt +Ps = 1 Change Icon Name to Pt +Ps = 2 Change Window Title to Pt +Ps = 3 If Pt starts with a ?, query the (STRING) property of the window and return it. If Pt contains a =, set the named property to the given value, else delete the specified property. +Ps = 4 Pt is a semi-colon separated sequence of one or more semi-colon separated number/name pairs, where number is an index to a colour and name is the name of a colour. Each pair causes the numbered colour to be changed to name. Numbers 0-7 corresponds to low-intensity (normal) colours and 8-15 corresponds to high-intensity colours. 0=black, 1=red, 2=green, 3=yellow, 4=blue, 5=magenta, 6=cyan, 7=white +Ps = 10 Change colour of text foreground to Pt (NB: may change in future) +Ps = 11 Change colour of text background to Pt (NB: may change in future) +Ps = 12 Change colour of text cursor foreground to Pt +Ps = 13 Change colour of mouse foreground to Pt +Ps = 17 Change colour of highlight characters to Pt +Ps = 18 Change colour of bold characters to Pt +Ps = 19 Change colour of underlined characters to Pt +Ps = 20 Change default background to Pt +Ps = 39 Change default foreground colour to Pt rxvt compile-time option +Ps = 46 Change Log File to Pt unimplemented +Ps = 49 Change default background colour to Pt rxvt compile-time option +Ps = 50 Set fontset to Pt, with the following special values of Pt (rxvt) #+n change up n #-n change down n if n is missing of 0, a value of 1 is used empty change to font0 n change to font n +Ps = 55 Log all scrollback buffer and all of screen to Pt +Ps = 701 Change current locale to Pt, or, if Pt is ?, return the current locale (@@RXVT_NAME@@ extension) +Ps = 703 Menubar command Pt rxvt compile-time option (rxvt-unicode extension) +Ps = 704 Change colour of italic characters to Pt +Ps = 705 Change background pixmap tint colour to Pt +Ps = 710 Set normal fontset to Pt. Same as Ps = 50. +Ps = 711 Set bold fontset to Pt. Similar to Ps = 50. +Ps = 712 Set italic fontset to Pt. Similar to Ps = 50. +Ps = 713 Set bold-italic fontset to Pt. Similar to Ps = 50. +.TE + +.PP + +.IX Xref "menuBar" +.SH "menuBar" +.IX Header "menuBar" +\&\fBThe exact syntax used is \f(BIalmost\fB solidified.\fR +In the menus, \fB\s-1DON\s0'T\fR try to use menuBar commands that add or remove a +menuBar. +.PP +Note that in all of the commands, the \fB\f(BI/path/\fB\fR \fIcannot\fR be +omitted: use \fB./\fR to specify a menu relative to the current menu. +.Sh "Overview of menuBar operation" +.IX Subsection "Overview of menuBar operation" +For the menuBar XTerm escape sequence \f(CW\*(C`ESC ] 703 ; Pt ST\*(C'\fR, the syntax +of \f(CW\*(C`Pt\*(C'\fR can be used for a variety of tasks: +.PP +At the top level is the current menuBar which is a member of a circular +linked-list of other such menuBars. +.PP +The menuBar acts as a parent for the various drop-down menus, which in +turn, may have labels, separator lines, menuItems and subMenus. +.PP +The menuItems are the useful bits: you can use them to mimic keyboard +input or even to send text or escape sequences back to rxvt. +.PP +The menuBar syntax is intended to provide a simple yet robust method of +constructing and manipulating menus and navigating through the +menuBars. +.PP +The first step is to use the tag \fB[menu:\f(BIname\fB]\fR which creates +the menuBar called \fIname\fR and allows access. You may now or menus, +subMenus, and menuItems. Finally, use the tag \fB[done]\fR to set the +menuBar access as \fBreadonly\fR to prevent accidental corruption of the +menus. To re-access the current menuBar for alterations, use the tag +\&\fB[menu]\fR, make the alterations and then use \fB[done]\fR +.PP + +.IX Xref "menuBarCommands" +.Sh "Commands" +.IX Subsection "Commands" +.IP "\fB[menu:+\f(BIname\fB]\fR" 4 +.IX Item "[menu:+name]" +access the named menuBar for creation or alteration. If a new menuBar +is created, it is called \fIname\fR (max of 15 chars) and the current +menuBar is pushed onto the stack +.IP "\fB[menu]\fR" 4 +.IX Item "[menu]" +access the current menuBar for alteration +.IP "\fB[title:+\f(BIstring\fB]\fR" 4 +.IX Item "[title:+string]" +set the current menuBar's title to \fIstring\fR, which may contain the +following format specifiers: +\&\fB%%\fR : literal \fB%\fR character +\&\fB%n\fR : rxvt name (as per the \fB\-name\fR command-line option) +\&\fB%v\fR : rxvt version +.IP "\fB[done]\fR" 4 +.IX Item "[done]" +set menuBar access as \fBreadonly\fR. +End-of-file tag for \fB[read:+\f(BIfile\fB]\fR operations. +.IP "\fB[read:+\f(BIfile\fB]\fR" 4 +.IX Item "[read:+file]" +read menu commands directly from \fIfile\fR (extension \*(L".menu\*(R" will be +appended if required.) Start reading at a line with \fB[menu]\fR or \fB[menu:+\f(BIname\fB\fR and continuing until \fB[done]\fR is encountered. +.Sp +Blank and comment lines (starting with \fB#\fR) are ignored. Actually, +since any invalid menu commands are also ignored, almost anything could +be construed as a comment line, but this may be tightened up in the +future ... so don't count on it!. +.IP "\fB[read:+\f(BIfile\fB;+\f(BIname\fB]\fR" 4 +.IX Item "[read:+file;+name]" +The same as \fB[read:+\f(BIfile\fB]\fR, but start reading at a line with +\&\fB[menu:+\f(BIname\fB]\fR and continuing until \fB[done:+\f(BIname\fB]\fR or +\&\fB[done]\fR is encountered. +.IP "\fB[dump]\fR" 4 +.IX Item "[dump]" +dump all menuBars to the file \fB/tmp/rxvt\-PID\fR in a format suitable for +later rereading. +.IP "\fB[rm:name]\fR" 4 +.IX Item "[rm:name]" +remove the named menuBar +.IP "\fB[rm] [rm:]\fR" 4 +.IX Item "[rm] [rm:]" +remove the current menuBar +.IP "\fB[rm*] [rm:*]\fR" 4 +.IX Item "[rm*] [rm:*]" +remove all menuBars +.IP "\fB[swap]\fR" 4 +.IX Item "[swap]" +swap the top two menuBars +.IP "\fB[prev]\fR" 4 +.IX Item "[prev]" +access the previous menuBar +.IP "\fB[next]\fR" 4 +.IX Item "[next]" +access the next menuBar +.IP "\fB[show]\fR" 4 +.IX Item "[show]" +Enable display of the menuBar +.IP "\fB[hide]\fR" 4 +.IX Item "[hide]" +Disable display of the menuBar +.IP "\fB[pixmap:+\f(BIname\fB]\fR" 4 +.IX Item "[pixmap:+name]" +.PD 0 +.IP "\fB[pixmap:+\f(BIname\fB;\f(BIscaling\fB]\fR" 4 +.IX Item "[pixmap:+name;scaling]" +.PD +(set the background pixmap globally +.Sp +\&\fBA Future implementation \f(BImay\fB make this local to the menubar\fR) +.IP "\fB[:+\f(BIcommand\fB:]\fR" 4 +.IX Item "[:+command:]" +ignore the menu readonly status and issue a \fIcommand\fR to or a menu or +menuitem or change the ; a useful shortcut for setting the quick arrows +from a menuBar. +.PP + +.IX Xref "menuBarAdd" +.Sh "Adding and accessing menus" +.IX Subsection "Adding and accessing menus" +The following commands may also be \fB+\fR prefixed. +.IP "\fB/+\fR" 4 +.IX Item "/+" +access menuBar top level +.IP "\fB./+\fR" 4 +.IX Item "./+" +access current menu level +.IP "\fB../+\fR" 4 +.IX Item "../+" +access parent menu (1 level up) +.IP "\fB../../\fR" 4 +.IX Item "../../" +access parent menu (multiple levels up) +.IP "\fB\f(BI/path/\fBmenu\fR" 4 +.IX Item "/path/menu" +add/access menu +.IP "\fB\f(BI/path/\fBmenu/*\fR" 4 +.IX Item "/path/menu/*" +add/access menu and clear it if it exists +.IP "\fB\f(BI/path/\fB{\-}\fR" 4 +.IX Item "/path/{-}" +add separator +.IP "\fB\f(BI/path/\fB{item}\fR" 4 +.IX Item "/path/{item}" +add \fBitem\fR as a label +.IP "\fB\f(BI/path/\fB{item} action\fR" 4 +.IX Item "/path/{item} action" +add/alter \fImenuitem\fR with an associated \fIaction\fR +.IP "\fB\f(BI/path/\fB{item}{right\-text}\fR" 4 +.IX Item "/path/{item}{right-text}" +add/alter \fImenuitem\fR with \fBright-text\fR as the right-justified text +and as the associated \fIaction\fR +.IP "\fB\f(BI/path/\fB{item}{rtext} action\fR" 4 +.IX Item "/path/{item}{rtext} action" +add/alter \fImenuitem\fR with an associated \fIaction\fR and with \fBrtext\fR as +the right-justified text. +.IP "Special characters in \fIaction\fR must be backslash\-escaped:" 4 +.IX Item "Special characters in action must be backslash-escaped:" +\&\fB\ea \eb \eE \ee \en \er \et \eoctal\fR +.IP "or in control-character notation:" 4 +.IX Item "or in control-character notation:" +\&\fB^@, ^A .. ^Z .. ^_, ^?\fR +.PP +To send a string starting with a \fB\s-1NUL\s0\fR (\fB^@\fR) character to the +program, start \fIaction\fR with a pair of \fB\s-1NUL\s0\fR characters (\fB^@^@\fR), +the first of which will be stripped off and the balance directed to the +program. Otherwise if \fIaction\fR begins with \fB\s-1NUL\s0\fR followed by +non\-+\fB\s-1NUL\s0\fR characters, the leading \fB\s-1NUL\s0\fR is stripped off and the +balance is sent back to rxvt. +.PP +As a convenience for the many Emacs-type editors, \fIaction\fR may start +with \fBM\-\fR (eg, \fBM\-$\fR is equivalent to \fB\eE$\fR) and a \fB\s-1CR\s0\fR will be +appended if missed from \fBM\-x\fR commands. +.PP +As a convenience for issuing XTerm \fB\s-1ESC\s0]\fR sequences from a menubar (or +quick arrow), a \fB\s-1BEL\s0\fR (\fB^G\fR) will be appended if needed. +.IP "For example," 4 +.IX Item "For example," +\&\fBM\-xapropos\fR is equivalent to \fB\eExapropos\er\fR +.IP "and" 4 +.IX Item "and" +\&\fB\eE]703;mona;100\fR is equivalent to \fB\eE]703;mona;100\ea\fR +.PP +The option \fB{\f(BIright-rtext\fB}\fR will be right\-justified. In the +absence of a specified action, this text will be used as the \fIaction\fR +as well. +.IP "For example," 4 +.IX Item "For example," +\&\fB/File/{Open}{^X^F}\fR is equivalent to \fB/File/{Open}{^X^F} ^X^F\fR +.PP +The left label \fIis\fR necessary, since it's used for matching, but +implicitly hiding the left label (by using same name for both left and +right labels), or explicitly hiding the left label (by preceeding it +with a dot), makes it possible to have right-justified text only. +.IP "For example," 4 +.IX Item "For example," +\&\fB/File/{Open}{Open} Open-File-Action\fR +.IP "or hiding it" 4 +.IX Item "or hiding it" +\&\fB/File/{.anylabel}{Open} Open-File-Action\fR +.PP + +.IX Xref "menuBarRemove" +.Sh "Removing menus" +.IX Subsection "Removing menus" +.IP "\fB\-/*+\fR" 4 +.IX Item "-/*+" +remove all menus from the menuBar, the same as \fB[clear]\fR +.IP "\fB\-+\f(BI/path\fBmenu+\fR" 4 +.IX Item "-+/pathmenu+" +remove menu +.IP "\fB\-+\f(BI/path\fB{item}+\fR" 4 +.IX Item "-+/path{item}+" +remove item +.IP "\fB\-+\f(BI/path\fB{\-}\fR" 4 +.IX Item "-+/path{-}" +remove separator) +.IP "\fB\-/path/menu/*\fR" 4 +.IX Item "-/path/menu/*" +remove all items, separators and submenus from menu +.PP + +.IX Xref "menuBarArrows" +.Sh "Quick Arrows" +.IX Subsection "Quick Arrows" +The menus also provide a hook for \fIquick arrows\fR to provide easier +user access. If nothing has been explicitly set, the default is to +emulate the curror keys. The syntax permits each arrow to be altered +individually or all four at once without re-entering their common +beginning/end text. For example, to explicitly associate cursor actions +with the arrows, any of the following forms could be used: +.IP "\fB+\f(BIRight\fB\fR" 4 +.IX Item "+Right" +.PD 0 +.IP "\fB+\f(BILeft\fB\fR" 4 +.IX Item "+Left" +.IP "\fB+\f(BIUp\fB\fR" 4 +.IX Item "+Up" +.IP "\fB+\f(BIDown\fB\fR" 4 +.IX Item "+Down" +.PD +Define actions for the respective arrow buttons +.IP "\fB+\f(BIBegin\fB\fR" 4 +.IX Item "+Begin" +.PD 0 +.IP "\fB+\f(BIEnd\fB\fR" 4 +.IX Item "+End" +.PD +Define common beginning/end parts for \fIquick arrows\fR which used in +conjunction with the above constructs +.IP "For example, define arrows individually," 4 +.IX Item "For example, define arrows individually," +.Vb 1 +\& \eE[A +.Ve +.Sp +.Vb 1 +\& \eE[B +.Ve +.Sp +.Vb 1 +\& \eE[C +.Ve +.Sp +.Vb 1 +\& \eE[D +.Ve +.IP "or all at once" 4 +.IX Item "or all at once" +.Vb 1 +\& \eE[AZ<>\eE[BZ<>\eE[CZ<>\eE[D +.Ve +.IP "or more compactly (factoring out common parts)" 4 +.IX Item "or more compactly (factoring out common parts)" +.Vb 1 +\& \eE[AZ<>BZ<>CZ<>D +.Ve +.PP + +.IX Xref "menuBarSummary" +.Sh "Command Summary" +.IX Subsection "Command Summary" +A short summary of the most \fIcommon\fR commands: +.IP "[menu:name]" 4 +.IX Item "[menu:name]" +use an existing named menuBar or start a new one +.IP "[menu]" 4 +.IX Item "[menu]" +use the current menuBar +.IP "[title:string]" 4 +.IX Item "[title:string]" +set menuBar title +.IP "[done]" 4 +.IX Item "[done]" +set menu access to readonly and, if reading from a file, signal \s-1EOF\s0 +.IP "[done:name]" 4 +.IX Item "[done:name]" +if reading from a file using [read:file;name] signal \s-1EOF\s0 +.IP "[rm:name]" 4 +.IX Item "[rm:name]" +remove named menuBar(s) +.IP "[rm] [rm:]" 4 +.IX Item "[rm] [rm:]" +remove current menuBar +.IP "[rm*] [rm:*]" 4 +.IX Item "[rm*] [rm:*]" +remove all menuBar(s) +.IP "[swap]" 4 +.IX Item "[swap]" +swap top two menuBars +.IP "[prev]" 4 +.IX Item "[prev]" +access the previous menuBar +.IP "[next]" 4 +.IX Item "[next]" +access the next menuBar +.IP "[show]" 4 +.IX Item "[show]" +map menuBar +.IP "[hide]" 4 +.IX Item "[hide]" +unmap menuBar +.IP "[pixmap;file]" 4 +.IX Item "[pixmap;file]" +.PD 0 +.IP "[pixmap;file;scaling]" 4 +.IX Item "[pixmap;file;scaling]" +.PD +set a background pixmap +.IP "[read:file]" 4 +.IX Item "[read:file]" +.PD 0 +.IP "[read:file;name]" 4 +.IX Item "[read:file;name]" +.PD +read in a menu from a file +.IP "[dump]" 4 +.IX Item "[dump]" +dump out all menuBars to /tmp/rxvt\-PID +.IP "/" 4 +access menuBar top level +.IP "./" 4 +.PD 0 +.IP "../" 4 +.IP "../../" 4 +.PD +access current or parent menu level +.IP "/path/menu" 4 +.IX Item "/path/menu" +add/access menu +.IP "/path/{\-}" 4 +.IX Item "/path/{-}" +add separator +.IP "/path/{item}{rtext} action" 4 +.IX Item "/path/{item}{rtext} action" +add/alter menu item +.IP "\-/*" 4 +remove all menus from the menuBar +.IP "\-/path/menu" 4 +.IX Item "-/path/menu" +remove menu items, separators and submenus from menu +.IP "\-/path/menu" 4 +.IX Item "-/path/menu" +remove menu +.IP "\-/path/{item}" 4 +.IX Item "-/path/{item}" +remove item +.IP "\-/path/{\-}" 4 +.IX Item "-/path/{-}" +remove separator +.IP "BeginRightLeftUpDownEnd" 4 +.IX Item "BeginRightLeftUpDownEnd" +menu quick arrows +.SH "XPM" +.IX Header "XPM" +For the \s-1XPM\s0 XTerm escape sequence \fB\f(CB\*(C`ESC ] 20 ; Pt ST\*(C'\fB\fR then value +of \fB\f(CB\*(C`Pt\*(C'\fB\fR can be the name of the background pixmap followed by a +sequence of scaling/positioning commands separated by semi\-colons. The +scaling/positioning commands are as follows: +.IP "query scale/position" 4 +.IX Item "query scale/position" +\&\fB?\fR +.IP "change scale and position" 4 +.IX Item "change scale and position" +\&\fBWxH+X+Y\fR +.Sp +\&\fBWxH+X\fR (== \fBWxH+X+X\fR) +.Sp +\&\fBWxH\fR (same as \fBWxH+50+50\fR) +.Sp +\&\fBW+X+Y\fR (same as \fBWxW+X+Y\fR) +.Sp +\&\fBW+X\fR (same as \fBWxW+X+X\fR) +.Sp +\&\fBW\fR (same as \fBWxW+50+50\fR) +.IP "change position (absolute)" 4 +.IX Item "change position (absolute)" +\&\fB=+X+Y\fR +.Sp +\&\fB=+X\fR (same as \fB=+X+Y\fR) +.IP "change position (relative)" 4 +.IX Item "change position (relative)" +\&\fB+X+Y\fR +.Sp +\&\fB+X\fR (same as \fB+X+Y\fR) +.IP "rescale (relative)" 4 +.IX Item "rescale (relative)" +\&\fBWx0\fR \-> \fBW *= (W/100)\fR +.Sp +\&\fB0xH\fR \-> \fBH *= (H/100)\fR +.PP +For example: +.IP "\fB\eE]20;funky\ea\fR" 4 +.IX Item "E]20;funkya" +load \fBfunky.xpm\fR as a tiled image +.IP "\fB\eE]20;mona;100\ea\fR" 4 +.IX Item "E]20;mona;100a" +load \fBmona.xpm\fR with a scaling of 100% +.IP "\fB\eE]20;;200;?\ea\fR" 4 +.IX Item "E]20;;200;?a" +rescale the current pixmap to 200% and display the image geometry in +the title +.SH "Mouse Reporting" +.IX Header "Mouse Reporting" +.ie n .IP "\fB\fB\*(C`ESC [ M \*(C'\fB\fR" 4 +.el .IP "\fB\f(CB\*(C`ESC [ M \*(C'\fB\fR" 4 +.IX Item "ESC [ M " +report mouse position +.PP +The lower 2 bits of \fB\f(CB\*(C`\*(C'\fB\fR indicate the button: +.ie n .IP "Button = \fB\fB\*(C`( \- SPACE) & 3\*(C'\fB\fR" 4 +.el .IP "Button = \fB\f(CB\*(C`( \- SPACE) & 3\*(C'\fB\fR" 4 +.IX Item "Button = ( - SPACE) & 3" +.TS +l l . +0 Button1 pressed +1 Button2 pressed +2 Button3 pressed +3 button released (X11 mouse report) +.TE + +.PP +The upper bits of \fB\f(CB\*(C`\*(C'\fB\fR indicate the modifiers when the +button was pressed and are added together (X11 mouse report only): +.ie n .IP "State = \fB\fB\*(C`( \- SPACE) & 60\*(C'\fB\fR" 4 +.el .IP "State = \fB\f(CB\*(C`( \- SPACE) & 60\*(C'\fB\fR" 4 +.IX Item "State = ( - SPACE) & 60" +.TS +l l . +4 Shift +8 Meta +16 Control +32 Double Click (Rxvt extension) +.TE + +Col = \fB\f(CB\*(C` \- SPACE\*(C'\fB\fR +.Sp +Row = \fB\f(CB\*(C` \- SPACE\*(C'\fB\fR +.SH "Key Codes" +.IX Header "Key Codes" +Note: \fBShift\fR + \fBF1\fR\-\fBF10\fR generates \fBF11\fR\-\fBF20\fR +.PP +For the keypad, use \fBShift\fR to temporarily override Application-Keypad +setting use \fBNum_Lock\fR to toggle Application-Keypad setting if +\&\fBNum_Lock\fR is off, toggle Application-Keypad setting. Also note that +values of \fBHome\fR, \fBEnd\fR, \fBDelete\fR may have been compiled differently on +your system. +.TS +l l l l l . + Normal Shift Control Ctrl+Shift +Tab ^I ESC [ Z ^I ESC [ Z +BackSpace ^H ^? ^? ^? +Find ESC [ 1 ~ ESC [ 1 $ ESC [ 1 ^ ESC [ 1 @ +Insert ESC [ 2 ~ paste ESC [ 2 ^ ESC [ 2 @ +Execute ESC [ 3 ~ ESC [ 3 $ ESC [ 3 ^ ESC [ 3 @ +Select ESC [ 4 ~ ESC [ 4 $ ESC [ 4 ^ ESC [ 4 @ +Prior ESC [ 5 ~ scroll-up ESC [ 5 ^ ESC [ 5 @ +Next ESC [ 6 ~ scroll-down ESC [ 6 ^ ESC [ 6 @ +Home ESC [ 7 ~ ESC [ 7 $ ESC [ 7 ^ ESC [ 7 @ +End ESC [ 8 ~ ESC [ 8 $ ESC [ 8 ^ ESC [ 8 @ +Delete ESC [ 3 ~ ESC [ 3 $ ESC [ 3 ^ ESC [ 3 @ +F1 ESC [ 11 ~ ESC [ 23 ~ ESC [ 11 ^ ESC [ 23 ^ +F2 ESC [ 12 ~ ESC [ 24 ~ ESC [ 12 ^ ESC [ 24 ^ +F3 ESC [ 13 ~ ESC [ 25 ~ ESC [ 13 ^ ESC [ 25 ^ +F4 ESC [ 14 ~ ESC [ 26 ~ ESC [ 14 ^ ESC [ 26 ^ +F5 ESC [ 15 ~ ESC [ 28 ~ ESC [ 15 ^ ESC [ 28 ^ +F6 ESC [ 17 ~ ESC [ 29 ~ ESC [ 17 ^ ESC [ 29 ^ +F7 ESC [ 18 ~ ESC [ 31 ~ ESC [ 18 ^ ESC [ 31 ^ +F8 ESC [ 19 ~ ESC [ 32 ~ ESC [ 19 ^ ESC [ 32 ^ +F9 ESC [ 20 ~ ESC [ 33 ~ ESC [ 20 ^ ESC [ 33 ^ +F10 ESC [ 21 ~ ESC [ 34 ~ ESC [ 21 ^ ESC [ 34 ^ +F11 ESC [ 23 ~ ESC [ 23 $ ESC [ 23 ^ ESC [ 23 @ +F12 ESC [ 24 ~ ESC [ 24 $ ESC [ 24 ^ ESC [ 24 @ +F13 ESC [ 25 ~ ESC [ 25 $ ESC [ 25 ^ ESC [ 25 @ +F14 ESC [ 26 ~ ESC [ 26 $ ESC [ 26 ^ ESC [ 26 @ +F15 (Help) ESC [ 28 ~ ESC [ 28 $ ESC [ 28 ^ ESC [ 28 @ +F16 (Menu) ESC [ 29 ~ ESC [ 29 $ ESC [ 29 ^ ESC [ 29 @ +F17 ESC [ 31 ~ ESC [ 31 $ ESC [ 31 ^ ESC [ 31 @ +F18 ESC [ 32 ~ ESC [ 32 $ ESC [ 32 ^ ESC [ 32 @ +F19 ESC [ 33 ~ ESC [ 33 $ ESC [ 33 ^ ESC [ 33 @ +F20 ESC [ 34 ~ ESC [ 34 $ ESC [ 34 ^ ESC [ 34 @ + Application +Up ESC [ A ESC [ a ESC O a ESC O A +Down ESC [ B ESC [ b ESC O b ESC O B +Right ESC [ C ESC [ c ESC O c ESC O C +Left ESC [ D ESC [ d ESC O d ESC O D +KP_Enter ^M ESC O M +KP_F1 ESC O P ESC O P +KP_F2 ESC O Q ESC O Q +KP_F3 ESC O R ESC O R +KP_F4 ESC O S ESC O S +XK_KP_Multiply * ESC O j +XK_KP_Add + ESC O k +XK_KP_Separator , ESC O l +XK_KP_Subtract - ESC O m +XK_KP_Decimal . ESC O n +XK_KP_Divide / ESC O o +XK_KP_0 0 ESC O p +XK_KP_1 1 ESC O q +XK_KP_2 2 ESC O r +XK_KP_3 3 ESC O s +XK_KP_4 4 ESC O t +XK_KP_5 5 ESC O u +XK_KP_6 6 ESC O v +XK_KP_7 7 ESC O w +XK_KP_8 8 ESC O x +XK_KP_9 9 ESC O y +.TE + +.SH "CONFIGURE OPTIONS" +.IX Header "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 +. +.IP "\-\-enable\-everything" 4 +.IX Item "--enable-everything" +Add support for all non-multichoice options listed in \*(L"./configure +\&\-\-help\*(R". Note that unlike other enable options this is order dependant. +You can specify this and then disable options which this enables by +\&\fIfollowing\fR this with the appropriate commands. +.IP "\-\-enable\-xft" 4 +.IX 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. +.IP "\-\-enable\-font\-styles" 4 +.IX Item "--enable-font-styles" +Add support for \fBbold\fR, \fIitalic\fR and \fB\f(BIbold italic\fB\fR font +styles. The fonts can be set manually or automatically. +.IP "\-\-with\-codesets=NAME,..." 4 +.IX 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. +.TS +l l . +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 +.TE + +.IP "\-\-enable\-xim" 4 +.IX Item "--enable-xim" +Add support for \s-1XIM\s0 (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. +.IP "\-\-enable\-unicode3" 4 +.IX 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. +.Sp +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). +.IP "\-\-enable\-combining" 4 +.IX 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. +.Sp +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. +.Sp +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. +.IP "\-\-enable\-fallback(=CLASS)" 4 +.IX Item "--enable-fallback(=CLASS)" +When reading resource settings, also read settings for class \s-1CLASS\s0 +(default: Rxvt). To disable resource fallback use \-\-disable\-fallback. +.IP "\-\-with\-res\-name=NAME" 4 +.IX 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. +.IP "\-\-with\-res\-class=CLASS" 4 +.IX 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. +.IP "\-\-enable\-utmp" 4 +.IX Item "--enable-utmp" +Write user and tty to utmp file (used by programs like \fIw\fR) at +start of rxvt execution and delete information when rxvt exits. +.IP "\-\-enable\-wtmp" 4 +.IX Item "--enable-wtmp" +Write user and tty to wtmp file (used by programs like \fIlast\fR) at +start of rxvt execution and write logout when rxvt exits. This +option requires \-\-enable\-utmp to also be specified. +.IP "\-\-enable\-lastlog" 4 +.IX Item "--enable-lastlog" +Write user and tty to lastlog file (used by programs like +\&\fIlastlogin\fR) at start of rxvt execution. This option requires +\&\-\-enable\-utmp to also be specified. +.IP "\-\-enable\-xpm\-background" 4 +.IX Item "--enable-xpm-background" +Add support for \s-1XPM\s0 background pixmaps. +.IP "\-\-enable\-transparency" 4 +.IX Item "--enable-transparency" +Add support for inheriting parent backgrounds thus giving a fake +transparency to the term. +.IP "\-\-enable\-fading" 4 +.IX Item "--enable-fading" +Add support for fading the text when focus is lost. +.IP "\-\-enable\-tinting" 4 +.IX Item "--enable-tinting" +Add support for tinting of transparent backgrounds. +.IP "\-\-enable\-menubar" 4 +.IX Item "--enable-menubar" +Add support for our menu bar system (this interacts badly with +dynamic locale switching currently). +.IP "\-\-enable\-rxvt\-scroll" 4 +.IX Item "--enable-rxvt-scroll" +Add support for the original rxvt scrollbar. +.IP "\-\-enable\-next\-scroll" 4 +.IX Item "--enable-next-scroll" +Add support for a NeXT-like scrollbar. +.IP "\-\-enable\-xterm\-scroll" 4 +.IX Item "--enable-xterm-scroll" +Add support for an Xterm-like scrollbar. +.IP "\-\-enable\-plain\-scroll" 4 +.IX 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. +.IP "\-\-enable\-half\-shadow" 4 +.IX Item "--enable-half-shadow" +Make shadows on the scrollbar only half the normal width & height. +only applicable to rxvt scrollbars. +.IP "\-\-enable\-ttygid" 4 +.IX Item "--enable-ttygid" +Change tty device setting to group \*(L"tty\*(R" \- only use this if +your system uses this type of security. +.IP "\-\-disable\-backspace\-key" 4 +.IX Item "--disable-backspace-key" +Disable any handling of the backspace key by us \- let the X server +do it. +.IP "\-\-disable\-delete\-key" 4 +.IX Item "--disable-delete-key" +Disable any handling of the delete key by us \- let the X server +do it. +.IP "\-\-disable\-resources" 4 +.IX Item "--disable-resources" +Remove all resources checking. +.IP "\-\-enable\-xgetdefault" 4 +.IX Item "--enable-xgetdefault" +Make resources checking via \fIXGetDefault()\fR instead of our small +version which only checks ~/.Xdefaults, or if that doesn't exist +then ~/.Xresources. +.IP "\-\-enable\-strings" 4 +.IX Item "--enable-strings" +Add support for our possibly faster \fImemset()\fR 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). +.IP "\-\-disable\-swapscreen" 4 +.IX Item "--disable-swapscreen" +Remove support for swap screen. +.IP "\-\-enable\-frills" 4 +.IX 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. +.IP "\-\-enable\-iso14755" 4 +.IX Item "--enable-iso14755" +Enable extended \s-1ISO\s0 14755 support (see @@RXVT_NAME@@(1), or +\&\fIdoc/rxvt.1.txt\fR). Basic support (section 5.1) is enabled by +\&\f(CW\*(C`\-\-enable\-frills\*(C'\fR, while support for 5.2, 5.3 and 5.4 is enabled with +this switch. +.IP "\-\-enable\-keepscrolling" 4 +.IX Item "--enable-keepscrolling" +Add support for continual scrolling of the display when you hold +the mouse button down on a scrollbar arrow. +.IP "\-\-enable\-mousewheel" 4 +.IX Item "--enable-mousewheel" +Add support for scrolling via mouse wheel or buttons 4 & 5. +.IP "\-\-enable\-slipwheeling" 4 +.IX 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. +.IP "\-\-disable\-new\-selection" 4 +.IX Item "--disable-new-selection" +Remove support for mouse selection style like that of xterm. +.IP "\-\-enable\-dmalloc" 4 +.IX 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 +\&\s-1DINCLUDE\s0 and \s-1DLIB\s0 to the right places. +.Sp +You can only use either this option and the following (should +you use either) . +.IP "\-\-enable\-dlmalloc" 4 +.IX Item "--enable-dlmalloc" +Use Doug Lea's malloc \- which is good for a production version +See for details. +.IP "\-\-enable\-smart\-resize" 4 +.IX 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. +.IP "\-\-enable\-cursor\-blink" 4 +.IX Item "--enable-cursor-blink" +Add support for a blinking cursor. +.IP "\-\-enable\-pointer\-blank" 4 +.IX Item "--enable-pointer-blank" +Add support to have the pointer disappear when typing or inactive. +.IP "\-\-with\-name=NAME" 4 +.IX 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. +.IP "\-\-with\-term=NAME" 4 +.IX Item "--with-term=NAME" +Change the environmental variable for the terminal to \s-1NAME\s0 (default +\&\*(L"rxvt\*(R") +.IP "\-\-with\-terminfo=PATH" 4 +.IX Item "--with-terminfo=PATH" +Change the environmental variable for the path to the terminfo tree to +\&\s-1PATH\s0. +.IP "\-\-with\-x" 4 +.IX Item "--with-x" +Use the X Window System (pretty much default, eh?). +.IP "\-\-with\-xpm\-includes=DIR" 4 +.IX Item "--with-xpm-includes=DIR" +Look for the \s-1XPM\s0 includes in \s-1DIR\s0. +.IP "\-\-with\-xpm\-library=DIR" 4 +.IX Item "--with-xpm-library=DIR" +Look for the \s-1XPM\s0 library in \s-1DIR\s0. +.IP "\-\-with\-xpm" 4 +.IX Item "--with-xpm" +Not needed \- define via \-\-enable\-xpm\-background. +.SH "AUTHORS" +.IX Header "AUTHORS" +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. diff --git a/doc/rxvt.7.txt b/doc/rxvt.7.txt new file mode 100644 index 00000000..a5670489 --- /dev/null +++ b/doc/rxvt.7.txt @@ -0,0 +1,1806 @@ +NAME + RXVT REFERENCE - FAQ, command sequences and other background information + +FREQUENTLY ASKED QUESTIONS + How do I know which rxvt-unicode version I'm using? + The version number is displayed with the usage (-h). Also the escape + sequence "ESC[8n" sets the window title to the version number. + + 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 + "TERM=rxvt" or even "TERM=xterm", 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 rxvt (quite common...) you could also + replace the rxvt terminfo file with the rxvt-unicode one. + + 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: + + Why does "ls" no longer have coloured output? + The "ls" in the GNU coreutils unfortunately doesn't use terminfo to + decide wether a terminal has colour, but uses it's own configuration + file. Needless to say, "rxvt-unicode" is not in it's default file + (among with most other terminals supporting colour). Either add: + + TERM rxvt-unicode + + to "/etc/DIR_COLORS" or simply add: + + alias ls='ls --color=auto' + + to your ".profile" or ".bashrc". + + Why doesn't vim/emacs etc. use the 88 colour mode? + Why doesn't vim/emacs etc. make use of italic? + Why are the secondary screen-related options not working properly? + Make sure you are using "TERM=rxvt-unicode". Some pre-packaged + distributions (most notably Debian GNU/Linux) break rxvt-unicode by + setting "TERM" to "rxvt", which doesn't have these extra features. + Unfortunately, some of these (most notably, again, Debian GNU/Linux) + furthermore fail to even install the "rxvt-unicode" terminfo file, + so you will need to install it on your own (See the question When I + log-in to another system it tells me about missing terminfo data? on + how to do this). + + Rxvt-unicode does not seem to understand the selected encoding? + 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 "LC_CTYPE" 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. "en_GB.UTF-8". 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 "LC_CTYPE" specification + not supported on your systems. Some systems have a "locale" 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 :( + + Why do some characters look so much different than others? + 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. + + rxvt-unicode 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 -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. + + 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). + + 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 you + might try using the "-lsp" option to give the font more height. If + that doesn't work, you might be forced to use a different font. + + All of this is not a problem when using X11 core fonts, as their + bounding box data is correct. + + 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 preeditStyle that is not supported + by your input method. For example, if you specified OverTheSpot 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 preeditStyle or specify more + than one pre-edit style, such as OverTheSpot,Root,None. + + I cannot type "Ctrl-Shift-2" to get an ASCII NUL character due to ISO + 14755 + Either try "Ctrl-2" alone (it often is mapped to ASCII NUL even on + international keyboards) or simply use ISO 14755 support to your + advantage, typing to get a ASCII NUL. This works for + other codes, too, such as "Ctrl-Shift-1-d" to type the default + telnet escape character and so on. + + How can I keep rxvt-unicode from using reverse video so much? + First of all, make sure you are running with the right terminfo + ("urxvt"), 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 + + 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 "urxvt" terminfo + definition to only claim 8 colour support or use "TERM=rxvt", which + will fix colours but keep you from using other rxvt-unicode + features. + + I am on FreeBSD and rxvt-unicode does not seem to work at all. + Rxvt-unicode requires the symbol "__STDC_ISO_10646__" to be defined + in your compile environment, or an implementation that implements + it, wether it defines the symbol or not. "__STDC_ISO_10646__" + requires that wchar_t 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 wchar_t. This is, of course, completely legal. + + However, "__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 wchar_t makes it impossible to + convert between wchar_t (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 wchar_t + into anything except the current locale encoding. + + Some applications (such as the formidable mlterm) 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. + + How does rxvt-unicode determine the encoding to use? + 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 *locale*. + + Rxvt-unicode uses the "LC_CTYPE" 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 "LC_CTYPE" environment variable + contains an arbitrary string which corresponds to an + already-installed locale. Common names for locales are + "en_US.UTF-8", "de_DE.ISO-8859-15", "ja_JP.EUC-JP", i.e. + "language_country.encoding", but other forms (i.e. "de" or "german") + are also common. + + Rxvt-unicode ignores all other locale categories, and except for the + encoding, ignores country or language-specific settings, i.e. + "de_DE.UTF-8" and "ja_JP.UTF-8" 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 "LC_CTYPE" category. + + Can I switch locales at runtime? + Yes, using an escape sequence. Try sth. like this, which sets + rxvt-unicode's idea of "LC_CTYPE". + + 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. "de_DE.UTF-8") but some programs don't support + UTF-8. For example, I use this script to start "xjdic", 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 + + Can I switch the fonts at runtime? + Yes, using an escape sequence. Try sth. like this, which has the + same effect as using the "-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. + + 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 "xft:Bitstream Vera + Sans Mono" 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 + + 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 "imlocale": + + URxvt*imlocale: ja_JP.EUC-JP + + Now you can start your terminal with "LC_CTYPE=ja_JP.UTF-8" and + still use your input method. Please note, however, that you will not + be able to input characters outside "EUC-JP" in a normal way then, + as your input method limits you. + + 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 "--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 "--enable-unicode3" + it gets worse, as rxvt-unicode then uses 8 bytes per screen cell. + + 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 ":antialiasing=false"), which + saves lots of memory and also speeds up rendering considerably. + + 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. + + 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(7) + + What's with this bold/blink stuff? + If no bold colour is set via "colorBD:", bold will invert text using + the standard foreground colour. + + For the standard background colour, blinking will actually make the + text blink when compiled with "--enable-blinking". with standard + colours. Without "--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. + + I don't like the screen colors. How do I change them? + You can change the screen colors at run-time using ~/.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: + + URxvt*color0: #000000 + URxvt*color1: #A80000 + URxvt*color2: #00A800 + URxvt*color3: #A8A800 + URxvt*color4: #0000A8 + URxvt*color5: #A800A8 + URxvt*color6: #00A8A8 + URxvt*color7: #A8A8A8 + + URxvt*color8: #000054 + URxvt*color9: #FF0054 + URxvt*color10: #00FF54 + URxvt*color11: #FFFF54 + URxvt*color12: #0000FF + URxvt*color13: #FF00FF + URxvt*color14: #00FFFF + URxvt*color15: #FFFFFF + + And here is a more complete set of non-standard colors described as + "pretty girly": + + URxvt.cursorColor: #dc74d1 + URxvt.pointerColor: #dc74d1 + URxvt.background: #0e0e0e + URxvt.foreground: #4ad5e1 + URxvt.color0: #000000 + URxvt.color8: #8b8f93 + URxvt.color1: #dc74d1 + URxvt.color9: #dc74d1 + URxvt.color2: #0eb8c7 + URxvt.color10: #0eb8c7 + URxvt.color3: #dfe37e + URxvt.color11: #dfe37e + URxvt.color5: #9e88f0 + URxvt.color13: #9e88f0 + URxvt.color6: #73f7ff + URxvt.color14: #73f7ff + URxvt.color7: #e1dddd + URxvt.color15: #e1dddd + + 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: "^H" and "^?". + + Historically, either value is correct, but rxvt-unicode adopts the + debian policy of using "^?" 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 + + # use Backspace = ^? + $ stty erase ^? + $ rxvt + + Toggle with "ESC[36h" / "ESC[36l" as documented in rxvt(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 = "^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. + + 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 "--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 + 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 + + 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. + + 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. + + 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 + + How do I compile the manual pages for myself? + You need to have a recent version of perl installed as + /usr/bin/perl, one that comes with pod2man, pod2text and pod2html. + Then go to the doc subdirectory and enter "make alldoc". + + My question isn't answered here, can I ask a human? + Before sending me mail, you could go to IRC: "irc.freenode.net", + channel "#rxvt-unicode" has some rxvt-unicode enthusiasts that might + be interested in learning about new and exciting problems (but not + FAQs :). + +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" + +DESCRIPTION + The rest of this document describes various technical aspects of + rxvt-unicode. First the description of supported command sequences, + followed by menu and pixmap support and last by a description of all + features selectable at "configure" time. + +RXVT TECHNICAL REFERENCE +Definitions + "c" The literal character c. + + "C" A single (required) character. + + "Ps" + A single (usually optional) numeric parameter, composed of one or + more digits. + + "Pm" + A multiple numeric parameter composed of any number of single + numeric parameters, separated by ";" character(s). + + "Pt" + A text parameter composed of printable characters. + +Values + "ENQ" + Enquiry (Ctrl-E) = Send Device Attributes (DA) request attributes + from terminal. See "ESC [ Ps c". + + "BEL" + Bell (Ctrl-G) + + "BS" + Backspace (Ctrl-H) + + "TAB" + Horizontal Tab (HT) (Ctrl-I) + + "LF" + Line Feed or New Line (NL) (Ctrl-J) + + "VT" + Vertical Tab (Ctrl-K) same as "LF" + + "FF" + Form Feed or New Page (NP) (Ctrl-L) same as "LF" + + "CR" + Carriage Return (Ctrl-M) + + "SO" + Shift Out (Ctrl-N), invokes the G1 character set. Switch to + Alternate Character Set + + "SI" + Shift In (Ctrl-O), invokes the G0 character set (the default). + Switch to Standard Character Set + + "SPC" + Space Character + +Escape Sequences + "ESC # 8" + DEC Screen Alignment Test (DECALN) + + "ESC 7" + Save Cursor (SC) + + "ESC 8" + Restore Cursor + + "ESC =" + Application Keypad (SMKX). See also next sequence. + + "ESC" + Normal Keypad (RMKX) + + Note: If the numeric keypad is activated, eg, Num_Lock has been + pressed, numbers or control functions are generated by the numeric + keypad (see Key Codes). + + "ESC D" + Index (IND) + + "ESC E" + Next Line (NEL) + + "ESC H" + Tab Set (HTS) + + "ESC M" + Reverse Index (RI) + + "ESC N" + Single Shift Select of G2 Character Set (SS2): affects next + character only *unimplemented* + + "ESC O" + Single Shift Select of G3 Character Set (SS3): affects next + character only *unimplemented* + + "ESC Z" + Obsolete form of returns: "ESC[?1;2C" *rxvt-unicode compile-time + option* + + "ESC c" + Full reset (RIS) + + "ESC n" + Invoke the G2 Character Set (LS2) + + "ESC o" + Invoke the G3 Character Set (LS3) + + "ESC" ( C> + Designate G0 Character Set (ISO 2022), see below for values of "C". + + "ESC" ) C> + Designate G1 Character Set (ISO 2022), see below for values of "C". + + "ESC * C" + Designate G2 Character Set (ISO 2022), see below for values of "C". + + "ESC + C" + Designate G3 Character Set (ISO 2022), see below for values of "C". + + "ESC $ C" + Designate Kanji Character Set + + Where "C" is one of: + + C = 0 DEC Special Character and Line Drawing Set + C = A United Kingdom (UK) + C = B United States (USASCII) + C = < Multinational character set unimplemented + C = 5 Finnish character set unimplemented + C = C Finnish character set unimplemented + C = K German character set unimplemented + + + +CSI (Command Sequence Introducer) Sequences + "ESC [ Ps @" + Insert "Ps" (Blank) Character(s) [default: 1] (ICH) + + "ESC [ Ps A" + Cursor Up "Ps" Times [default: 1] (CUU) + + "ESC [ Ps B" + Cursor Down "Ps" Times [default: 1] (CUD) + + "ESC [ Ps C" + Cursor Forward "Ps" Times [default: 1] (CUF) + + "ESC [ Ps D" + Cursor Backward "Ps" Times [default: 1] (CUB) + + "ESC [ Ps E" + Cursor Down "Ps" Times [default: 1] and to first column + + "ESC [ Ps F" + Cursor Up "Ps" Times [default: 1] and to first column + + "ESC [ Ps G" + Cursor to Column "Ps" (HPA) + + "ESC [ Ps;Ps H" + Cursor Position [row;column] [default: 1;1] (CUP) + + "ESC [ Ps I" + Move forward "Ps" tab stops [default: 1] + + "ESC [ Ps J" + Erase in Display (ED) + + Ps = 0 Clear Below (default) + Ps = 1 Clear Above + Ps = 2 Clear All + + "ESC [ Ps K" + Erase in Line (EL) + + Ps = 0 Clear to Right (default) + Ps = 1 Clear to Left + Ps = 2 Clear All + + "ESC [ Ps L" + Insert "Ps" Line(s) [default: 1] (IL) + + "ESC [ Ps M" + Delete "Ps" Line(s) [default: 1] (DL) + + "ESC [ Ps P" + Delete "Ps" Character(s) [default: 1] (DCH) + + "ESC [ Ps;Ps;Ps;Ps;Ps T" + Initiate . *unimplemented* Parameters are + [func;startx;starty;firstrow;lastrow]. + + "ESC [ Ps W" + Tabulator functions + + Ps = 0 Tab Set (HTS) + Ps = 2 Tab Clear (TBC), Clear Current Column (default) + Ps = 5 Tab Clear (TBC), Clear All + + "ESC [ Ps X" + Erase "Ps" Character(s) [default: 1] (ECH) + + "ESC [ Ps Z" + Move backward "Ps" [default: 1] tab stops + + "ESC [ Ps '" + See "ESC [ Ps G" + + "ESC [ Ps a" + See "ESC [ Ps C" + + "ESC [ Ps c" + Send Device Attributes (DA) "Ps = 0" (or omitted): request + attributes from terminal returns: "ESC[?1;2c" (``I am a VT100 with + Advanced Video Option'') + + "ESC [ Ps d" + Cursor to Line "Ps" (VPA) + + "ESC [ Ps e" + See "ESC [ Ps A" + + "ESC [ Ps;Ps f" + Horizontal and Vertical Position [row;column] (HVP) [default: 1;1] + + "ESC [ Ps g" + Tab Clear (TBC) + + Ps = 0 Clear Current Column (default) + Ps = 3 Clear All (TBC) + + "ESC [ Pm h" + Set Mode (SM). See "ESC [ Pm l" sequence for description of "Pm". + + "ESC [ Ps i" + Printing. See also the "print-pipe" resource. + + Ps = 0 print screen (MC0) + Ps = 4 disable transparent print mode (MC4) + Ps = 5 enable transparent print mode (MC5) + + "ESC [ Pm l" + Reset Mode (RM) + + "Ps = 4" + h Insert Mode (SMIR) + l Replace Mode (RMIR) + + "Ps = 20" (partially implemented) + h Automatic Newline (LNM) + l Normal Linefeed (LNM) + + "ESC [ Pm m" + Character Attributes (SGR) + + Ps = 0 Normal (default) + Ps = 1 / 21 On / Off Bold (bright fg) + Ps = 3 / 23 On / Off Italic + Ps = 4 / 24 On / Off Underline + Ps = 5 / 25 On / Off Slow Blink (bright bg) + Ps = 6 / 26 On / Off Rapid Blink (bright bg) + Ps = 7 / 27 On / Off Inverse + Ps = 8 / 27 On / Off Invisible (NYI) + Ps = 30 / 40 fg/bg Black + Ps = 31 / 41 fg/bg Red + Ps = 32 / 42 fg/bg Green + Ps = 33 / 43 fg/bg Yellow + Ps = 34 / 44 fg/bg Blue + Ps = 35 / 45 fg/bg Magenta + Ps = 36 / 46 fg/bg Cyan + Ps = 38;5 / 48;5 set fg/bg to color #m (ISO 8613-6) + Ps = 37 / 47 fg/bg White + Ps = 39 / 49 fg/bg Default + Ps = 90 / 100 fg/bg Bright Black + Ps = 91 / 101 fg/bg Bright Red + Ps = 92 / 102 fg/bg Bright Green + Ps = 93 / 103 fg/bg Bright Yellow + Ps = 94 / 104 fg/bg Bright Blue + Ps = 95 / 105 fg/bg Bright Magenta + Ps = 96 / 106 fg/bg Bright Cyan + Ps = 97 / 107 fg/bg Bright White + Ps = 99 / 109 fg/bg Bright Default + + "ESC [ Ps n" + Device Status Report (DSR) + + Ps = 5 Status Report ESC [ 0 n (``OK'') + Ps = 6 Report Cursor Position (CPR) [row;column] as ESC [ r ; c R + Ps = 7 Request Display Name + Ps = 8 Request Version Number (place in window title) + + "ESC [ Ps;Ps r" + Set Scrolling Region [top;bottom] [default: full size of window] + (CSR) + + "ESC [ s" + Save Cursor (SC) + + "ESC [ Ps x" + Request Terminal Parameters (DECREQTPARM) + + "ESC [ u" + Restore Cursor + + + +DEC Private Modes + "ESC [ ? Pm h" + DEC Private Mode Set (DECSET) + + "ESC [ ? Pm l" + DEC Private Mode Reset (DECRST) + + "ESC [ ? Pm r" + Restore previously saved DEC Private Mode Values. + + "ESC [ ? Pm s" + Save DEC Private Mode Values. + + "ESC [ ? Pm t" + Toggle DEC Private Mode Values (rxvt extension). *where* + + "Ps = 1" (DECCKM) + h Application Cursor Keys + l Normal Cursor Keys + + "Ps = 2" (ANSI/VT52 mode) + h Enter VT52 mode + l Enter VT52 mode + + "Ps = 3" + h 132 Column Mode (DECCOLM) + l 80 Column Mode (DECCOLM) + + "Ps = 4" + h Smooth (Slow) Scroll (DECSCLM) + l Jump (Fast) Scroll (DECSCLM) + + "Ps = 5" + h Reverse Video (DECSCNM) + l Normal Video (DECSCNM) + + "Ps = 6" + h Origin Mode (DECOM) + l Normal Cursor Mode (DECOM) + + "Ps = 7" + h Wraparound Mode (DECAWM) + l No Wraparound Mode (DECAWM) + + "Ps = 8" *unimplemented* + h Auto-repeat Keys (DECARM) + l No Auto-repeat Keys (DECARM) + + "Ps = 9" X10 XTerm + h Send Mouse X & Y on button press. + l No mouse reporting. + + "Ps = 10" (rxvt) + h menuBar visible + l menuBar invisible + + "Ps = 25" + h Visible cursor {cnorm/cvvis} + l Invisible cursor {civis} + + "Ps = 30" + h scrollBar visisble + l scrollBar invisisble + + "Ps = 35" (rxvt) + h Allow XTerm Shift+key sequences + l Disallow XTerm Shift+key sequences + + "Ps = 38" *unimplemented* + Enter Tektronix Mode (DECTEK) + + "Ps = 40" + h Allow 80/132 Mode + l Disallow 80/132 Mode + + "Ps = 44" *unimplemented* + h Turn On Margin Bell + l Turn Off Margin Bell + + "Ps = 45" *unimplemented* + h Reverse-wraparound Mode + l No Reverse-wraparound Mode + + "Ps = 46" *unimplemented* + "Ps = 47" + h Use Alternate Screen Buffer + l Use Normal Screen Buffer + + + + "Ps = 66" + h Application Keypad (DECPAM) == ESC = + l Normal Keypad (DECPNM) == ESC > + + "Ps = 67" + h Backspace key sends BS (DECBKM) + l Backspace key sends DEL + + "Ps = 1000" (X11 XTerm) + h Send Mouse X & Y on button press and release. + l No mouse reporting. + + "Ps = 1001" (X11 XTerm) *unimplemented* + h Use Hilite Mouse Tracking. + l No mouse reporting. + + "Ps = 1010" (rxvt) + h Don't scroll to bottom on TTY output + l Scroll to bottom on TTY output + + "Ps = 1011" (rxvt) + h Scroll to bottom when a key is pressed + l Don't scroll to bottom when a key is pressed + + "Ps = 1047" + h Use Alternate Screen Buffer + l Use Normal Screen Buffer - clear Alternate Screen Buffer if returning from it + + "Ps = 1048" + h Save cursor position + l Restore cursor position + + "Ps = 1049" + h Use Alternate Screen Buffer - clear Alternate Screen Buffer if switching to it + l Use Normal Screen Buffer + + + +XTerm Operating System Commands + "ESC ] Ps;Pt ST" + Set XTerm Parameters. 8-bit ST: 0x9c, 7-bit ST sequence: ESC \ + (0x1b, 0x5c), backwards compatible terminator BEL (0x07) is also + accepted. any octet can be escaped by prefixing it with SYN (0x16, + ^V). + + Ps = 0 Change Icon Name and Window Title to Pt + Ps = 1 Change Icon Name to Pt + Ps = 2 Change Window Title to Pt + Ps = 3 If Pt starts with a ?, query the (STRING) property of the window and return it. If Pt contains a =, set the named property to the given value, else delete the specified property. + Ps = 4 Pt is a semi-colon separated sequence of one or more semi-colon separated number/name pairs, where number is an index to a colour and name is the name of a colour. Each pair causes the numbered colour to be changed to name. Numbers 0-7 corresponds to low-intensity (normal) colours and 8-15 corresponds to high-intensity colours. 0=black, 1=red, 2=green, 3=yellow, 4=blue, 5=magenta, 6=cyan, 7=white + Ps = 10 Change colour of text foreground to Pt (NB: may change in future) + Ps = 11 Change colour of text background to Pt (NB: may change in future) + Ps = 12 Change colour of text cursor foreground to Pt + Ps = 13 Change colour of mouse foreground to Pt + Ps = 17 Change colour of highlight characters to Pt + Ps = 18 Change colour of bold characters to Pt + Ps = 19 Change colour of underlined characters to Pt + Ps = 20 Change default background to Pt + Ps = 39 Change default foreground colour to Pt rxvt compile-time option + Ps = 46 Change Log File to Pt unimplemented + Ps = 49 Change default background colour to Pt rxvt compile-time option + Ps = 50 Set fontset to Pt, with the following special values of Pt (rxvt) #+n change up n #-n change down n if n is missing of 0, a value of 1 is used empty change to font0 n change to font n + Ps = 55 Log all scrollback buffer and all of screen to Pt + Ps = 701 Change current locale to Pt, or, if Pt is ?, return the current locale (rxvt extension) + Ps = 703 Menubar command Pt rxvt compile-time option (rxvt-unicode extension) + Ps = 704 Change colour of italic characters to Pt + Ps = 705 Change background pixmap tint colour to Pt + Ps = 710 Set normal fontset to Pt. Same as Ps = 50. + Ps = 711 Set bold fontset to Pt. Similar to Ps = 50. + Ps = 712 Set italic fontset to Pt. Similar to Ps = 50. + Ps = 713 Set bold-italic fontset to Pt. Similar to Ps = 50. + + + +menuBar + The exact syntax used is *almost* solidified. In the menus, DON'T try to + use menuBar commands that add or remove a menuBar. + + Note that in all of the commands, the */path/* *cannot* be omitted: use + ./ to specify a menu relative to the current menu. + + Overview of menuBar operation + For the menuBar XTerm escape sequence "ESC ] 703 ; Pt ST", the syntax of + "Pt" can be used for a variety of tasks: + + At the top level is the current menuBar which is a member of a circular + linked-list of other such menuBars. + + The menuBar acts as a parent for the various drop-down menus, which in + turn, may have labels, separator lines, menuItems and subMenus. + + The menuItems are the useful bits: you can use them to mimic keyboard + input or even to send text or escape sequences back to rxvt. + + The menuBar syntax is intended to provide a simple yet robust method of + constructing and manipulating menus and navigating through the menuBars. + + The first step is to use the tag [menu:*name*] which creates the menuBar + called *name* and allows access. You may now or menus, subMenus, and + menuItems. Finally, use the tag [done] to set the menuBar access as + readonly to prevent accidental corruption of the menus. To re-access the + current menuBar for alterations, use the tag [menu], make the + alterations and then use [done] + + + + Commands + [menu:+*name*] + access the named menuBar for creation or alteration. If a new + menuBar is created, it is called *name* (max of 15 chars) and the + current menuBar is pushed onto the stack + + [menu] + access the current menuBar for alteration + + [title:+*string*] + set the current menuBar's title to *string*, which may contain the + following format specifiers: %% : literal % character %n : rxvt name + (as per the -name command-line option) %v : rxvt version + + [done] + set menuBar access as readonly. End-of-file tag for [read:+*file*] + operations. + + [read:+*file*] + read menu commands directly from *file* (extension ".menu" will be + appended if required.) Start reading at a line with [menu] or + [menu:+*name* and continuing until [done] is encountered. + + Blank and comment lines (starting with #) are ignored. Actually, + since any invalid menu commands are also ignored, almost anything + could be construed as a comment line, but this may be tightened up + in the future ... so don't count on it!. + + [read:+*file*;+*name*] + The same as [read:+*file*], but start reading at a line with + [menu:+*name*] and continuing until [done:+*name*] or [done] is + encountered. + + [dump] + dump all menuBars to the file /tmp/rxvt-PID in a format suitable for + later rereading. + + [rm:name] + remove the named menuBar + + [rm] [rm:] + remove the current menuBar + + [rm*] [rm:*] + remove all menuBars + + [swap] + swap the top two menuBars + + [prev] + access the previous menuBar + + [next] + access the next menuBar + + [show] + Enable display of the menuBar + + [hide] + Disable display of the menuBar + + [pixmap:+*name*] + [pixmap:+*name*;*scaling*] + (set the background pixmap globally + + A Future implementation *may* make this local to the menubar) + + [:+*command*:] + ignore the menu readonly status and issue a *command* to or a menu + or menuitem or change the ; a useful shortcut for setting the quick + arrows from a menuBar. + + + + Adding and accessing menus + The following commands may also be + prefixed. + + /+ access menuBar top level + + ./+ access current menu level + + ../+ + access parent menu (1 level up) + + ../../ + access parent menu (multiple levels up) + + */path/*menu + add/access menu + + */path/*menu/* + add/access menu and clear it if it exists + + */path/*{-} + add separator + + */path/*{item} + add item as a label + + */path/*{item} action + add/alter *menuitem* with an associated *action* + + */path/*{item}{right-text} + add/alter *menuitem* with right-text as the right-justified text and + as the associated *action* + + */path/*{item}{rtext} action + add/alter *menuitem* with an associated *action* and with rtext as + the right-justified text. + + Special characters in *action* must be backslash-escaped: + \a \b \E \e \n \r \t \octal + + or in control-character notation: + ^@, ^A .. ^Z .. ^_, ^? + + To send a string starting with a NUL (^@) character to the program, + start *action* with a pair of NUL characters (^@^@), the first of which + will be stripped off and the balance directed to the program. Otherwise + if *action* begins with NUL followed by non-+NUL characters, the leading + NUL is stripped off and the balance is sent back to rxvt. + + As a convenience for the many Emacs-type editors, *action* may start + with M- (eg, M-$ is equivalent to \E$) and a CR will be appended if + missed from M-x commands. + + As a convenience for issuing XTerm ESC] sequences from a menubar (or + quick arrow), a BEL (^G) will be appended if needed. + + For example, + M-xapropos is equivalent to \Exapropos\r + + and \E]703;mona;100 is equivalent to \E]703;mona;100\a + + The option {*right-rtext*} will be right-justified. In the absence of a + specified action, this text will be used as the *action* as well. + + For example, + /File/{Open}{^X^F} is equivalent to /File/{Open}{^X^F} ^X^F + + The left label *is* necessary, since it's used for matching, but + implicitly hiding the left label (by using same name for both left and + right labels), or explicitly hiding the left label (by preceeding it + with a dot), makes it possible to have right-justified text only. + + For example, + /File/{Open}{Open} Open-File-Action + + or hiding it + /File/{.anylabel}{Open} Open-File-Action + + + + Removing menus + -/*+ + remove all menus from the menuBar, the same as [clear] + + -+*/path*menu+ + remove menu + + -+*/path*{item}+ + remove item + + -+*/path*{-} + remove separator) + + -/path/menu/* + remove all items, separators and submenus from menu + + + + Quick Arrows + The menus also provide a hook for *quick arrows* to provide easier user + access. If nothing has been explicitly set, the default is to emulate + the curror keys. The syntax permits each arrow to be altered + individually or all four at once without re-entering their common + beginning/end text. For example, to explicitly associate cursor actions + with the arrows, any of the following forms could be used: + + +*Right* + +*Left* + +*Up* + +*Down* + Define actions for the respective arrow buttons + + +*Begin* + +*End* + Define common beginning/end parts for *quick arrows* which used in + conjunction with the above constructs + + For example, define arrows individually, + \E[A + + \E[B + + \E[C + + \E[D + + or all at once + \E[AZ<>\E[BZ<>\E[CZ<>\E[D + + or more compactly (factoring out common parts) + \E[AZ<>BZ<>CZ<>D + + + + Command Summary + A short summary of the most *common* commands: + + [menu:name] + use an existing named menuBar or start a new one + + [menu] + use the current menuBar + + [title:string] + set menuBar title + + [done] + set menu access to readonly and, if reading from a file, signal EOF + + [done:name] + if reading from a file using [read:file;name] signal EOF + + [rm:name] + remove named menuBar(s) + + [rm] [rm:] + remove current menuBar + + [rm*] [rm:*] + remove all menuBar(s) + + [swap] + swap top two menuBars + + [prev] + access the previous menuBar + + [next] + access the next menuBar + + [show] + map menuBar + + [hide] + unmap menuBar + + [pixmap;file] + [pixmap;file;scaling] + set a background pixmap + + [read:file] + [read:file;name] + read in a menu from a file + + [dump] + dump out all menuBars to /tmp/rxvt-PID + + / access menuBar top level + + ./ + ../ + ../../ + access current or parent menu level + + /path/menu + add/access menu + + /path/{-} + add separator + + /path/{item}{rtext} action + add/alter menu item + + -/* remove all menus from the menuBar + + -/path/menu + remove menu items, separators and submenus from menu + + -/path/menu + remove menu + + -/path/{item} + remove item + + -/path/{-} + remove separator + + BeginRightLeftUpDownEnd + menu quick arrows + +XPM + For the XPM XTerm escape sequence "ESC ] 20 ; Pt ST" then value of "Pt" + can be the name of the background pixmap followed by a sequence of + scaling/positioning commands separated by semi-colons. The + scaling/positioning commands are as follows: + + query scale/position + ? + + change scale and position + WxH+X+Y + + WxH+X (== WxH+X+X) + + WxH (same as WxH+50+50) + + W+X+Y (same as WxW+X+Y) + + W+X (same as WxW+X+X) + + W (same as WxW+50+50) + + change position (absolute) + =+X+Y + + =+X (same as =+X+Y) + + change position (relative) + +X+Y + + +X (same as +X+Y) + + rescale (relative) + Wx0 -> W *= (W/100) + + 0xH -> H *= (H/100) + + For example: + + \E]20;funky\a + load funky.xpm as a tiled image + + \E]20;mona;100\a + load mona.xpm with a scaling of 100% + + \E]20;;200;?\a + rescale the current pixmap to 200% and display the image geometry in + the title + +Mouse Reporting + "ESC [ M " + report mouse position + + The lower 2 bits of "" indicate the button: + + Button = "( - SPACE) & 3" + 0 Button1 pressed + 1 Button2 pressed + 2 Button3 pressed + 3 button released (X11 mouse report) + + The upper bits of "" indicate the modifiers when the button was + pressed and are added together (X11 mouse report only): + + State = "( - SPACE) & 60" + 4 Shift + 8 Meta + 16 Control + 32 Double Click (Rxvt extension) + + Col = " - SPACE" + + Row = " - SPACE" + +Key Codes + Note: Shift + F1-F10 generates F11-F20 + + For the keypad, use Shift to temporarily override Application-Keypad + setting use Num_Lock to toggle Application-Keypad setting if Num_Lock is + off, toggle Application-Keypad setting. Also note that values of Home, + End, Delete may have been compiled differently on your system. + + Normal Shift Control Ctrl+Shift + Tab ^I ESC [ Z ^I ESC [ Z + BackSpace ^H ^? ^? ^? + Find ESC [ 1 ~ ESC [ 1 $ ESC [ 1 ^ ESC [ 1 @ + Insert ESC [ 2 ~ paste ESC [ 2 ^ ESC [ 2 @ + Execute ESC [ 3 ~ ESC [ 3 $ ESC [ 3 ^ ESC [ 3 @ + Select ESC [ 4 ~ ESC [ 4 $ ESC [ 4 ^ ESC [ 4 @ + Prior ESC [ 5 ~ scroll-up ESC [ 5 ^ ESC [ 5 @ + Next ESC [ 6 ~ scroll-down ESC [ 6 ^ ESC [ 6 @ + Home ESC [ 7 ~ ESC [ 7 $ ESC [ 7 ^ ESC [ 7 @ + End ESC [ 8 ~ ESC [ 8 $ ESC [ 8 ^ ESC [ 8 @ + Delete ESC [ 3 ~ ESC [ 3 $ ESC [ 3 ^ ESC [ 3 @ + F1 ESC [ 11 ~ ESC [ 23 ~ ESC [ 11 ^ ESC [ 23 ^ + F2 ESC [ 12 ~ ESC [ 24 ~ ESC [ 12 ^ ESC [ 24 ^ + F3 ESC [ 13 ~ ESC [ 25 ~ ESC [ 13 ^ ESC [ 25 ^ + F4 ESC [ 14 ~ ESC [ 26 ~ ESC [ 14 ^ ESC [ 26 ^ + F5 ESC [ 15 ~ ESC [ 28 ~ ESC [ 15 ^ ESC [ 28 ^ + F6 ESC [ 17 ~ ESC [ 29 ~ ESC [ 17 ^ ESC [ 29 ^ + F7 ESC [ 18 ~ ESC [ 31 ~ ESC [ 18 ^ ESC [ 31 ^ + F8 ESC [ 19 ~ ESC [ 32 ~ ESC [ 19 ^ ESC [ 32 ^ + F9 ESC [ 20 ~ ESC [ 33 ~ ESC [ 20 ^ ESC [ 33 ^ + F10 ESC [ 21 ~ ESC [ 34 ~ ESC [ 21 ^ ESC [ 34 ^ + F11 ESC [ 23 ~ ESC [ 23 $ ESC [ 23 ^ ESC [ 23 @ + F12 ESC [ 24 ~ ESC [ 24 $ ESC [ 24 ^ ESC [ 24 @ + F13 ESC [ 25 ~ ESC [ 25 $ ESC [ 25 ^ ESC [ 25 @ + F14 ESC [ 26 ~ ESC [ 26 $ ESC [ 26 ^ ESC [ 26 @ + F15 (Help) ESC [ 28 ~ ESC [ 28 $ ESC [ 28 ^ ESC [ 28 @ + F16 (Menu) ESC [ 29 ~ ESC [ 29 $ ESC [ 29 ^ ESC [ 29 @ + F17 ESC [ 31 ~ ESC [ 31 $ ESC [ 31 ^ ESC [ 31 @ + F18 ESC [ 32 ~ ESC [ 32 $ ESC [ 32 ^ ESC [ 32 @ + F19 ESC [ 33 ~ ESC [ 33 $ ESC [ 33 ^ ESC [ 33 @ + F20 ESC [ 34 ~ ESC [ 34 $ ESC [ 34 ^ ESC [ 34 @ + Application + Up ESC [ A ESC [ a ESC O a ESC O A + Down ESC [ B ESC [ b ESC O b ESC O B + Right ESC [ C ESC [ c ESC O c ESC O C + Left ESC [ D ESC [ d ESC O d ESC O D + KP_Enter ^M ESC O M + KP_F1 ESC O P ESC O P + KP_F2 ESC O Q ESC O Q + KP_F3 ESC O R ESC O R + KP_F4 ESC O S ESC O S + XK_KP_Multiply * ESC O j + XK_KP_Add + ESC O k + XK_KP_Separator , ESC O l + XK_KP_Subtract - ESC O m + XK_KP_Decimal . ESC O n + XK_KP_Divide / ESC O o + XK_KP_0 0 ESC O p + XK_KP_1 1 ESC O q + XK_KP_2 2 ESC O r + XK_KP_3 3 ESC O s + XK_KP_4 4 ESC O t + XK_KP_5 5 ESC O u + XK_KP_6 6 ESC O v + XK_KP_7 7 ESC O w + XK_KP_8 8 ESC O x + XK_KP_9 9 ESC O y + +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 + . + + --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 *following* this with the appropriate commands. + + --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. + + --enable-font-styles + Add support for bold, *italic* and *bold italic* font styles. The + fonts can be set manually or automatically. + + --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. + + 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 + + --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. + + --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). + + --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. + + --enable-fallback(=CLASS) + When reading resource settings, also read settings for class CLASS + (default: Rxvt). To disable resource fallback use + --disable-fallback. + + --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. + + --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. + + --enable-utmp + Write user and tty to utmp file (used by programs like w) at start + of rxvt execution and delete information when rxvt exits. + + --enable-wtmp + Write user and tty to wtmp file (used by programs like last) at + start of rxvt execution and write logout when rxvt exits. This + option requires --enable-utmp to also be specified. + + --enable-lastlog + Write user and tty to lastlog file (used by programs like lastlogin) + at start of rxvt execution. This option requires --enable-utmp to + also be specified. + + --enable-xpm-background + Add support for XPM background pixmaps. + + --enable-transparency + Add support for inheriting parent backgrounds thus giving a fake + transparency to the term. + + --enable-fading + Add support for fading the text when focus is lost. + + --enable-tinting + Add support for tinting of transparent backgrounds. + + --enable-menubar + Add support for our menu bar system (this interacts badly with + dynamic locale switching currently). + + --enable-rxvt-scroll + Add support for the original rxvt scrollbar. + + --enable-next-scroll + Add support for a NeXT-like scrollbar. + + --enable-xterm-scroll + Add support for an Xterm-like scrollbar. + + --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. + + --enable-half-shadow + Make shadows on the scrollbar only half the normal width & height. + only applicable to rxvt scrollbars. + + --enable-ttygid + Change tty device setting to group "tty" - only use this if your + system uses this type of security. + + --disable-backspace-key + Disable any handling of the backspace key by us - let the X server + do it. + + --disable-delete-key + Disable any handling of the delete key by us - let the X server do + it. + + --disable-resources + Remove all resources checking. + + --enable-xgetdefault + Make resources checking via XGetDefault() instead of our small + version which only checks ~/.Xdefaults, or if that doesn't exist + then ~/.Xresources. + + --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). + + --disable-swapscreen + Remove support for swap screen. + + --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. + + --enable-iso14755 + Enable extended ISO 14755 support (see rxvt(1), or doc/rxvt.1.txt). + Basic support (section 5.1) is enabled by "--enable-frills", while + support for 5.2, 5.3 and 5.4 is enabled with this switch. + + --enable-keepscrolling + Add support for continual scrolling of the display when you hold the + mouse button down on a scrollbar arrow. + + --enable-mousewheel + Add support for scrolling via mouse wheel or buttons 4 & 5. + + --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. + + --disable-new-selection + Remove support for mouse selection style like that of xterm. + + --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) . + + --enable-dlmalloc + Use Doug Lea's malloc - which is good for a production version See + for details. + + --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. + + --enable-cursor-blink + Add support for a blinking cursor. + + --enable-pointer-blank + Add support to have the pointer disappear when typing or inactive. + + --with-name=NAME + Set the basename for the installed binaries (default: urxvt, + resulting in urxvt, urxvtd etc.). Specify --with-name=rxvt to + replace rxvt. + + --with-term=NAME + Change the environmental variable for the terminal to NAME (default + "rxvt") + + --with-terminfo=PATH + Change the environmental variable for the path to the terminfo tree + to PATH. + + --with-x + Use the X Window System (pretty much default, eh?). + + --with-xpm-includes=DIR + Look for the XPM includes in DIR. + + --with-xpm-library=DIR + Look for the XPM library in DIR. + + --with-xpm + Not needed - define via --enable-xpm-background. + +AUTHORS + 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. +