-------------------------------------------------------------------------- FAQ -------------------------------------------------------------------------- ----- Q: How do I know which rxvt version I'm using? A: The version number is displayed with the usage (-h). For rxvt version 2.14 and later, the escape sequence `ESC[8n' sets the window title to the version number. ----- Q: Mouse cut/paste suddenly no longer works. A: 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 doc/refer.txt ----- Q: What's with this bold/blink stuff? I can never get blinking text! A: It is not possible, and likely will never be, for rxvt to have actual blinking text. Instead (if rxvt was compiled without NO_BOLDCOLOR), bold/blink attributes are used to set high-intensity foreground/background colors ... like what you'd see on a PC video adapter. There are programs, notably John Davis' SLang-based ones , that use bold/blink attributes to permit 16 colors. color0-7 are the low-intensity colors. color8-15 are the corresponding high-intensity colors. A side issue of this bold/blink stuff is the question of how the normal default foreground/background colors are to be treated. If the default foreground/background match one of the low-intensity colors (color0-7), the bold/blink attribute will invoke the appropriate high-intensity color (color8-15). In the case that the default foreground doesn't match one of the low-intensity colors, the bold attribute will use an `overstrike' to simulate a bold font. But note this leaves pixel-droppings and so, rather than wasting an inordinate amounts of energy to fix it, its use is simply deprecated. In the case that the default background doesn't match one of the low-intensity colors, the blink attribute is simply ignored (rather than representing it as bold as xterm does). ----- Q: I don't like the screen colors. How do I change them? A: You can change the screen colors at run-time using ~/.Xdefaults resources (or as long-options) ... see the man-page. Here are values that are supposed to resemble a VGA screen, including the murky brown that passes for low-intensity yellow: Rxvt*color0: #000000 Rxvt*color1: #A80000 Rxvt*color2: #00A800 Rxvt*color3: #A8A800 Rxvt*color4: #0000A8 Rxvt*color5: #A800A8 Rxvt*color6: #00A8A8 Rxvt*color7: #A8A8A8 Rxvt*color8: #000054 Rxvt*color9: #FF0054 Rxvt*color10: #00FF54 Rxvt*color11: #FFFF54 Rxvt*color12: #0000FF Rxvt*color13: #FF00FF Rxvt*color14: #00FFFF Rxvt*color15: #FFFFFF ----- Q: What's with the strange Backspace/Delete key behaviour? A: 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 ^?. Rxvt tries to inherit the current stty settings and uses the value of `erase' to guess the value for backspace. If rxvt 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: use Backspace = ^H $ stty erase ^H $ rxvt use Backspace = ^? $ stty erase ^? $ rxvt NB: generate either value with BackSpace and Ctrl/Shift-BackSpace. Toggle with "ESC[36h" / "ESC[36l" as documented in "doc/refer.txt" For an existing rxvt: 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 = ^?, make sure that the termcap/terminfo value properly reflects that. The Delete key (which one would expect to emit ^?) 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 ... and maybe xterm will have Home/End values too! ----- Q: Why doesn't the Backspace key work on my Linux machine? A: The XFree86 server has a notorious problem of mapping the Backspace key as Delete in order to match the Linux console. The correct way to fix this: 0 - Complain to your Linux distributer and the XFree86 team, maybe they'll fix it. 1 - Use xmodmap to correct the Backspace mapping ! ~/.Xmodmap ! a correctly-mapped BackSpace keycode 22 = BackSpace *** Make sure the keycode above matches the physical Backspace key on your machine!! (use xev) *** This will also fix the BackSpace problem with Motif applications, such as ``why doesn't Backspace work for Netscape?'' You now have a Backspace key that functions as described in the previous question. 1a - You may also want to fix the regular xterm if it doesn't generates the desired value for BackSpace xterm*vt100.translations: #override \ BackSpace: string(\010) \n or xterm*vt100.translations: #override \ BackSpace: string(\177) \n while you are at it, you may also want to have consistent values to Home/End/Delete xterm*vt100.translations: #override \ Home: string("\033[7~") \n\ End: string("\033[8~") \n\ Delete: string("\033[3~") \n Finally, you can also remap the rxvt key-binding at run-time (next question) but you'll lose the ability to have Ctrl/Shift-Backspace work differently as well as losing the escape sequence toggling of Backspace. ----- Q: I don't like the key-bindings. How do I change them? A: 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 ----- Q: 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 doesn't recognize. KP_Insert == Insert F22 == Print F27 == Home F29 == Prior F33 == End F35 == Next A: Rather than have rxvt try to accomodate all the various possible keyboard mappings, it is better to use `xmodmap' to remap the keys as required for your particular machine. ----- Q: How do I distinguish if I'm running rxvt or a regular xterm? I need this to decide about setting colors etc. A: rxvt always exports 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. ----- Q: How do I set the correct, full IP address for the DISPLAY variable? A: If you've compiled rxvt with DISPLAY_IS_IP then it is possible to use the following shell script snippets to correctly set the display. If your version of rxvt wasn't also compiled with ESCZ_ANSWER (as assumed in these snippets) then the COLORTERM variable can be used to distinguish rxvt 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 csh/tcsh family of shells: if ( !(${?TERM}) ) then # if term is unset, we are probably in an xterm TERM = xterm endif if ( ${TERM} =~ xterm ) then stty -icanon -echo min 0 time 15 # see if enhanced rxvt or not echo -n '^[Z' set term_id=$< stty icanon echo if ( ""${term_id} == "^[[?1;2C" && ${?DISPLAY} == 0 ) then echo -n '^[[7n' # query the rxvt we're in for the DISPLAY string setenv DISPLAY "$<" # set it in our local shell endif endif ----- Q: How do I compile the manual pages for myself? Where do I obtain yodl from? A: You need to obtain yodl and compile it to make the manual pages from source. The source code for yodl can currently be obtained from http://www.xs4all.nl/~jantien/yodl/index.html -- EOF