diff options
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/rxvt.1.man.in | 1806 | ||||
| -rw-r--r-- | doc/rxvt.7.man.in | 2750 | ||||
| -rw-r--r-- | doc/rxvtc.1.man.in | 195 | ||||
| -rw-r--r-- | doc/rxvtd.1.man.in | 238 |
4 files changed, 4989 insertions, 0 deletions
diff --git a/doc/rxvt.1.man.in b/doc/rxvt.1.man.in new file mode 100644 index 0000000..1f285e5 --- /dev/null +++ b/doc/rxvt.1.man.in @@ -0,0 +1,1806 @@ +.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.30) +.\" +.\" Standard preamble: +.\" ======================================================================== +.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. \*(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- +.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" '' +. ds C` +. ds C' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX +.. +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{ +. if \nF \{ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. if !\nF==2 \{ +. nr % 0 +. nr F 2 +. \} +. \} +.\} +.rr rF +.\" +.\" 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_NAME@@ 1" +.TH @@RXVT_NAME@@ 1 "2016-01-23" "@@RXVT_VERSION@@" "RXVT-UNICODE" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.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. +.PP +This document is also available on the World-Wide-Web at +<http://pod.tst.eu/http://cvs.schmorp.de/rxvt\-unicode/doc/rxvt.1.pod>. +.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. That document is also accessible on the World-Wide-Web at +<http://pod.tst.eu/http://cvs.schmorp.de/rxvt\-unicode/doc/rxvt.7.pod>. +.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 devanagari. 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 right-to-left scripts, such +as hebrew: \fBrxvt-unicode\fR adopts the view that bidirectional algorithms +belong in 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 user friendly, 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 its 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 +its predecessor, supports things such as \s-1XFT\s0 and \s-1ISO 14755\s0 that are handy +in i18n\-environments, is faster, and has a lot bugs less 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 its 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) more 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 (the older form \fB\-d\fR +is still respected. but deprecated). In the absence of this option, the +display specified by the \fB\s-1DISPLAY\s0\fR environment variable is used. +.IP "\fB\-depth\fR \fIbitdepth\fR" 4 +.IX Item "-depth bitdepth" +Compile \fIfrills\fR: Attempt to find a visual with the given bit depth; +resource \fBdepth\fR. +.Sp +[Please note that many X servers (and libXft) are buggy with +respect to \f(CW\*(C`\-depth 32\*(C'\fR and/or alpha channels, and will cause all sorts +of graphical corruption. This is harmless, but we can't do anything about +this, so watch out] +.IP "\fB\-visual\fR \fIvisualID\fR" 4 +.IX Item "-visual visualID" +Compile \fIfrills\fR: Use the given visual (see e.g. \f(CW\*(C`xdpyinfo\*(C'\fR for +possible visual ids) instead of the default, and also allocate a private +colormap. All visual types except for DirectColor are supported. +.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 (allow multiple lines per refresh); resource \fBjumpScroll\fR. +.IP "\fB\-ss\fR|\fB+ss\fR" 4 +.IX Item "-ss|+ss" +Turn on/off skip scrolling (allow multiple screens per refresh); resource \fBskipScroll\fR. +.IP "\fB\-fade\fR \fInumber\fR" 4 +.IX Item "-fade number" +Fade the text by the given percentage when focus is lost. Small values +fade a little only, 100 completely replaces all colours by the fade +colour; resource \fBfading\fR. +.IP "\fB\-fadecolor\fR \fIcolour\fR" 4 +.IX Item "-fadecolor colour" +Fade to this colour when fading is used (see \fB\-fade\fR). The default colour +is opaque black. resource \fBfadeColor\fR. +.IP "\fB\-icon\fR \fIfile\fR" 4 +.IX Item "-icon file" +Compile \fIpixbuf\fR: Use the specified image as application icon. This +is used by many window managers, taskbars and pagers to represent the +application window; resource \fIiconFile\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\-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 checked in order when trying to find glyphs for 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 its 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 \fIfont-styles\fR: The bold font list to use when \fBbold\fR characters +are to be printed. See resource \fBboldFont\fR for details. +.IP "\fB\-fi\fR \fIfontlist\fR" 4 +.IX Item "-fi fontlist" +Compile \fIfont-styles\fR: The italic font list to use when \fIitalic\fR +characters are to be printed. See resource \fBitalicFont\fR for details. +.IP "\fB\-fbi\fR \fIfontlist\fR" 4 +.IX Item "-fbi fontlist" +Compile \fIfont-styles\fR: The bold italic font list to use when \fB\f(BIbold +italic\fB\fR characters are to be printed. See resource \fBboldItalicFont\fR +for details. +.IP "\fB\-is\fR|\fB+is\fR" 4 +.IX Item "-is|+is" +Compile \fIfont-styles\fR: Bold/Blink font styles imply high intensity +foreground/background (default). See resource \fBintensityStyles\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\-mc\fR \fImilliseconds\fR" 4 +.IX Item "-mc milliseconds" +Specify the maximum time between multi-click selections. +.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\-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 rxvt (non XTerm/NeXT) scrollbar without/with a trough; +resource \fBscrollBar_floating\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\-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\-uc\fR|\fB+uc\fR" 4 +.IX Item "-uc|+uc" +Make the cursor underlined; resource \fBcursorUnderline\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. If the window manager does not +support \s-1MWM\s0 hints (e.g. kwin), enables override-redirect mode. +.IP "\fB\-override\-redirect\fR" 4 +.IX Item "-override-redirect" +Compile \fIfrills\fR: Sets override-redirect on the window; resource +\&\fBoverride-redirect\fR. +.IP "\fB\-dockapp\fR" 4 +.IX Item "-dockapp" +Sets the initial state of the window to WithdrawnState, which makes +window managers that support this extension treat it as a dockapp. +.IP "\fB\-sbg\fR" 4 +.IX Item "-sbg" +Compile \fIfrills\fR: Disable the usage of the built-in block graphics/line +drawing characters and just rely on what the specified fonts provide. Use +this if you have a good font and want to use its block graphic glyphs; +resource \fBskipBuiltinGlyphs\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\-letsp\fR \fInumber\fR" 4 +.IX Item "-letsp number" +Compile \fIfrills\fR: Amount to adjust the computed character width by +to control overall letter spacing. Negative values will tighten up the +letter spacing, positive values will space letters out more. Useful to +work around odd font metrics; resource \fBletterSpace\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. +.Sp +Please note that you must specify a program with arguments. If you want to +run shell commands, you have to specify the shell, like this: +.Sp +.Vb 1 +\& @@RXVT_NAME@@ \-e sh \-c "shell commands" +.Ve +.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. +.Sp +If the perl extension \f(CW\*(C`xim\-onthespot\*(C'\fR is used (which is the default), +then additionally the \f(CW\*(C`OnTheSpot\*(C'\fR preedit type is available. +.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 \f(CW\*(C`LC_CTYPE\*(C'\fR of e.g. +\&\f(CW\*(C`de_DE.UTF\-8\*(C'\fR for normal text processing but \f(CW\*(C`ja_JP.EUC\-JP\*(C'\fR for the +input extension to be able to input japanese characters while staying in +another locale. resource \fBimLocale\fR. +.IP "\fB\-imfont\fR \fIfontset\fR" 4 +.IX Item "-imfont fontset" +Set the font set to use for the X Input Method, see resource \fBimFont\fR +for more info. +.IP "\fB\-tcw\fR" 4 +.IX Item "-tcw" +Change the meaning of triple-click selection with the left mouse +button. Only effective when the original (non-perl) selection code is +in-use. Instead of selecting a full line it will extend the selection to +the end of the logical line only. resource \fBtripleclickwords\fR. +.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\-hold\fR|\fB+hold\fR" 4 +.IX Item "-hold|+hold" +Turn on/off hold window after exit support. If enabled, @@RXVT_NAME@@ +will not immediately destroy its window when the program executed within +it exits. Instead, it will wait till it is being killed or closed by the +user; resource \fBhold\fR. +.IP "\fB\-cd\fR \fIpath\fR" 4 +.IX Item "-cd path" +Sets the working directory for the shell (or the command specified via +\&\fB\-e\fR). The \fIpath\fR must be an absolute path and it must exist for +@@RXVT_NAME@@ to start; resource \fBchdir\fR. +.IP "\fB\-xrm\fR \fIstring\fR" 4 +.IX Item "-xrm string" +Works like the X Toolkit option of the same name, by adding the \fIstring\fR +as if it were specified in a resource file. Resource values specified this +way take precedence over all other resource specifications. +.Sp +Note that you need to use the \fIsame\fR syntax as in the .Xdefaults file, +e.g. \f(CW\*(C`*.background: black\*(C'\fR. Also note that all @@RXVT_NAME@@\-specific +options can be specified as long-options on the commandline, so use +of \fB\-xrm\fR is mostly limited to cases where you want to specify other +resources (e.g. for input methods) or for compatibility with other +programs. +.IP "\fB\-keysym.\fR\fIsym\fR \fIstring\fR" 4 +.IX Item "-keysym.sym string" +Remap a key symbol. See resource \fBkeysym\fR. +.IP "\fB\-embed\fR \fIwindowid\fR" 4 +.IX Item "-embed windowid" +Tells @@RXVT_NAME@@ to embed its windows into an already-existing window, +which enables applications to easily embed a terminal. +.Sp +Right now, @@RXVT_NAME@@ will first unmap/map the specified window, so it +shouldn't be a top-level window. @@RXVT_NAME@@ will also reconfigure it +quite a bit, so don't expect it to keep some specific state. It's best to +create an extra subwindow for @@RXVT_NAME@@ and leave it alone. +.Sp +The window will not be destroyed when @@RXVT_NAME@@ exits. +.Sp +It might be useful to know that @@RXVT_NAME@@ will not close file +descriptors passed to it (except for stdin/out/err, of course), so you +can use file descriptors to communicate with the programs within the +terminal. This works regardless of whether the \f(CW\*(C`\-embed\*(C'\fR option was used or +not. +.Sp +Here is a short Gtk2\-perl snippet that illustrates how this option can be +used (a longer example is in \fIdoc/embed\fR): +.Sp +.Vb 5 +\& my $rxvt = new Gtk2::Socket; +\& $rxvt\->signal_connect_after (realize => sub { +\& my $xid = $_[0]\->window\->get_xid; +\& system "@@RXVT_NAME@@ \-embed $xid &"; +\& }); +.Ve +.IP "\fB\-pty\-fd\fR \fIfile descriptor\fR" 4 +.IX Item "-pty-fd file descriptor" +Tells @@RXVT_NAME@@ \s-1NOT\s0 to execute any commands or create a new pty/tty +pair but instead use the given file descriptor as the tty master. This is +useful if you want to drive @@RXVT_NAME@@ as a generic terminal emulator +without having to run a program within it. +.Sp +If this switch is given, @@RXVT_NAME@@ will not create any utmp/wtmp +entries and will not tinker with pty/tty permissions \- you have to do that +yourself if you want that. +.Sp +As an extremely special case, specifying \f(CW\*(C`\-1\*(C'\fR will completely suppress +pty/tty operations, which is probably only useful in conjunction with some +perl extension that manages the terminal. +.Sp +Here is a example in perl that illustrates how this option can be used (a +longer example is in \fIdoc/pty\-fd\fR): +.Sp +.Vb 2 +\& use IO::Pty; +\& use Fcntl; +\& +\& my $pty = new IO::Pty; +\& fcntl $pty, F_SETFD, 0; # clear close\-on\-exec +\& system "@@RXVT_NAME@@ \-pty\-fd " . (fileno $pty) . "&"; +\& close $pty; +\& +\& # now communicate with rxvt +\& my $slave = $pty\->slave; +\& while (<$slave>) { print $slave "got <$_>\en" } +.Ve +.IP "\fB\-pe\fR \fIstring\fR" 4 +.IX Item "-pe string" +Comma-separated list of perl extension scripts to use (or not to use) in +this terminal instance. See resource \fBperl-ext\fR for details. +.SH "RESOURCES" +.IX Header "RESOURCES" +Note: `@@RXVT_NAME@@ \-\-help' gives a list of all resources (long +options) compiled into your version. All resources are also available as +long-options. +.PP +You can set and change the resources using X11 tools like \fBxrdb\fR. Many +distribution do also load settings from the \fB~/.Xresources\fR file when X +starts. @@RXVT_NAME@@ will consult the following files/resources in order, +with later settings overwriting earlier ones: +.PP +.Vb 6 +\& 1. app\-defaults file in $XAPPLRESDIR +\& 2. $HOME/.Xdefaults +\& 3. RESOURCE_MANAGER property on root\-window of screen 0 +\& 4. SCREEN_RESOURCES property on root\-window of the current screen +\& 5. $XENVIRONMENT file OR $HOME/.Xdefaults\-<nodename> +\& 6. resources specified via \-xrm on the commandline +.Ve +.PP +Note that when reading X resources, \fB@@RXVT_NAME@@\fR recognizes two class +names: \fBRxvt\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, 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 supported (you might want to +check the @@RXVT_NAME@@\fIperl\fR\|(3) manpage for additional settings by perl +extensions not documented here): +.IP "\fBdepth:\fR \fIbitdepth\fR" 4 +.IX Item "depth: bitdepth" +Compile \fIxft\fR: Attempt to find a visual with the given bit depth; +option \fB\-depth\fR. +.IP "\fBbuffered:\fR \fIboolean\fR" 4 +.IX Item "buffered: boolean" +Compile \fIxft\fR: Turn on/off double-buffering for xft (default enabled). +On some card/driver combination enabling it slightly decreases +performance, on most it greatly helps it. The slowdown is small, so it +should normally be enabled. +.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-1COLOURS AND GRAPHICS\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 \fIstyles\fR) 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 "\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 "\fBhighlightColor:\fR \fIcolour\fR" 4 +.IX Item "highlightColor: colour" +If set, use the specified colour as the background for highlighted +characters. If unset, use reverse video. +.IP "\fBhighlightTextColor:\fR \fIcolour\fR" 4 +.IX Item "highlightTextColor: colour" +If set and highlightColor is set, use the specified colour as the +foreground for highlighted characters. +.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-1COLOURS AND GRAPHICS\s0\fR section. +.IP "\fBjumpScroll:\fR \fIboolean\fR" 4 +.IX Item "jumpScroll: boolean" +\&\fBTrue\fR: specify that jump scrolling should be used. When receiving lots +of lines, @@RXVT_NAME@@ will only scroll once a whole screen height of lines +has been read, resulting in fewer updates while still displaying every +received line; option \fB\-j\fR. +.Sp +\&\fBFalse\fR: specify that smooth scrolling should be used. @@RXVT_NAME@@ will +force a screen refresh on each new line it received; option \fB+j\fR. +.IP "\fBskipScroll:\fR \fIboolean\fR" 4 +.IX Item "skipScroll: boolean" +\&\fBTrue\fR: (the default) specify that skip scrolling should be used. When +receiving lots of lines, @@RXVT_NAME@@ will only scroll once in a while +(around 60 times per second), resulting in far fewer updates. This can +result in @@RXVT_NAME@@ not ever displaying some of the lines it receives; +option \fB\-ss\fR. +.Sp +\&\fBFalse\fR: specify that everything is to be displayed, even +if the refresh is too fast for the human eye to read anything (or the +monitor to display anything); option \fB+ss\fR. +.IP "\fBfading:\fR \fInumber\fR" 4 +.IX Item "fading: number" +Fade the text by the given percentage when focus is lost; option \fB\-fade\fR. +.IP "\fBfadeColor:\fR \fIcolour\fR" 4 +.IX Item "fadeColor: colour" +Fade to this colour, when fading is used (see \fBfading:\fR). The default +colour is black; option \fB\-fadecolor\fR. +.IP "\fBiconFile:\fR \fIfile\fR" 4 +.IX Item "iconFile: file" +Set the application icon pixmap; option \fB\-icon\fR. +.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 rxvt (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 "\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 checked in order when trying to find glyphs for 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; 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 \fIxft\fR), 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 fewer 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 0208\s0\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 "\fBintensityStyles:\fR \fIboolean\fR" 4 +.IX Item "intensityStyles: boolean" +When font styles are not enabled, or this option is enabled (\fBTrue\fR, +option \fB\-is\fR, the default), bold/blink font styles imply high +intensity foreground/background colours. Disabling this option (\fBFalse\fR, +option \fB+is\fR) disables this behaviour, the high intensity colours are not +reachable. +.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 "\fBurgentOnBell:\fR \fIboolean\fR" 4 +.IX Item "urgentOnBell: boolean" +\&\fBTrue\fR: set the urgency hint for the wm on receipt of a bell character. +\&\fBFalse\fR: do not set the urgency hint [default]. +.Sp +@@RXVT_NAME@@ resets the urgency hint on every focus change. +.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 "\fBmultiClickTime:\fR \fInumber\fR" 4 +.IX Item "multiClickTime: number" +Specify the maximum time in milliseconds between multi-click select +events. The default is 500 milliseconds; option \fB\-mc\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. +.Sp +The string will be interpreted as if typed into the shell as-is. +.Sp +Example: +.Sp +.Vb 1 +\& URxvt.print\-pipe: cat > $(TMPDIR=$HOME mktemp urxvt.XXXXXX) +.Ve +.Sp +This creates a new file in your home directory with the screen contents +every time you hit \f(CW\*(C`Print\*(C'\fR. +.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 "\fBthickness:\fR \fInumber\fR" 4 +.IX Item "thickness: number" +Set the scrollbar width in pixels. +.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 (i.e. +try to show the same lines) and \fBscrollTtyOutput\fR is False; option +\&\fB\-sw\fR. \fBFalse\fR: do not scroll with scrollback buffer when tty receives +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 1000]; 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 "\fBskipBuiltinGlyphs:\fR \fIboolean\fR" 4 +.IX Item "skipBuiltinGlyphs: boolean" +Compile \fIfrills\fR: Disable the usage of the built-in block graphics/line +drawing characters and just rely on what the specified fonts provide. Use +this if you have a good font and want to use its block graphic glyphs; +option \fB\-sbg\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 "\fBcursorUnderline:\fR \fIboolean\fR" 4 +.IX Item "cursorUnderline: boolean" +\&\fBTrue\fR: Make the cursor underlined. \fBFalse\fR: Make the cursor a box [default]; +option \fB\-uc\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 "\fBpointerShape:\fR \fIstring\fR" 4 +.IX Item "pointerShape: string" +Compile \fIfrills\fR: Specifies the name of the mouse pointer shape +[default \fBxterm\fR]. See the macros in the \fBX11/cursorfont.h\fR include +file for possible values (omit the \f(CW\*(C`XC_\*(C'\fR prefix). +.IP "\fBpointerBlankDelay:\fR \fInumber\fR" 4 +.IX Item "pointerBlankDelay: number" +Specifies number of seconds before blanking the pointer [default 2]. Use a +large number (e.g. \f(CW987654321\fR) to effectively disable the timeout. +.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, with control, \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 +(whitespace delimiting is added automatically if resource is given). +.Sp +When the perl selection extension is in use (the default if compiled +in, see the @@RXVT_NAME@@\fIperl\fR\|(3) manpage), a suitable regex using these +characters will be created (if the resource exists, otherwise, no regex +will be created). In this mode, characters outside \s-1ISO\-8859\-1\s0 can be used. +.Sp +When the selection extension is not used, only \s-1ISO\-8859\-1\s0 characters can +be used. If not specified, the built-in default is used: +.Sp +\&\fB\s-1BACKSLASH\s0 `"'&()*,;<=>?@[]^{|}\fR +.IP "\fBpreeditType:\fR \fIstyle\fR" 4 +.IX Item "preeditType: style" +\&\fBOnTheSpot\fR, \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 \f(CW\*(C`LC_CTYPE\*(C'\fR of e.g. +\&\f(CW\*(C`de_DE.UTF\-8\*(C'\fR for normal text processing but \f(CW\*(C`ja_JP.EUC\-JP\*(C'\fR for the +input extension to be able to input japanese characters while staying in +another locale; option \fB\-imlocale\fR. +.IP "\fBimFont:\fR \fIfontset\fR" 4 +.IX Item "imFont: fontset" +Specify the font-set used for \s-1XIM\s0 styles \f(CW\*(C`OverTheSpot\*(C'\fR or +\&\f(CW\*(C`OffTheSpot\*(C'\fR. It must be a standard X font set (\s-1XLFD\s0 patterns separated +by commas), i.e. it's not in the same format as the other font lists used +in @@RXVT_NAME@@. The default will be set-up to chose *any* suitable found +found, preferably one or two pixels differing in size to the base font. +option \fB\-imfont\fR. +.IP "\fBtripleclickwords:\fR \fIboolean\fR" 4 +.IX Item "tripleclickwords: boolean" +Change the meaning of triple-click selection with the left mouse +button. Instead of selecting a full line it will extend the selection to +the end of the logical line only; option \fB\-tcw\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 +through a mail client displaying mail bodies unfiltered or through +\&\fIwrite\fR\|(1) or any other means. Therefore, these sequences are disabled by +default. (Note that many other terminals, including xterm, have these +sequences enabled by default, which doesn't make it safer, though). +.Sp +You can enable them by setting this boolean resource or specifying +\&\fB\-insecure\fR as an option. At the moment, this enables display-answer, +locale, findfont, icon label and window title requests. +.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 \fIboolean\fR" 4 +.IX Item "secondaryScreen: boolean" +Turn on/off secondary screen (default enabled). +.IP "\fBsecondaryScroll:\fR \fIboolean\fR" 4 +.IX Item "secondaryScroll: boolean" +Turn on/off secondary screen scroll (default enabled). If this +option is enabled, scrolls on the secondary screen will change the +scrollback buffer and, when secondaryScreen is off, switching +to/from the secondary screen will instead scroll the screen up. +.IP "\fBhold\fR: \fIboolean\fR" 4 +.IX Item "hold: boolean" +Turn on/off hold window after exit support. If enabled, @@RXVT_NAME@@ +will not immediately destroy its window when the program executed within +it exits. Instead, it will wait till it is being killed or closed by the +user. +.IP "\fBchdir\fR: \fIpath\fR" 4 +.IX Item "chdir: path" +Sets the working directory for the shell (or the command specified via +\&\fB\-e\fR). The \fIpath\fR must be an absolute path and it must exist for +@@RXVT_NAME@@ to start. If it isn't specified then the current working +directory will be used; option \fB\-cd\fR. +.IP "\fBkeysym.\fR\fIsym\fR: \fIaction\fR" 4 +.IX Item "keysym.sym: action" +Compile \fIfrills\fR: Associate \fIaction\fR with keysym \fIsym\fR. The intervening +resource name \fBkeysym.\fR cannot be omitted. +.Sp +Using this resource, you can map key combinations such as +\&\f(CW\*(C`Ctrl\-Shift\-BackSpace\*(C'\fR to various actions, such as outputting a different +string than would normally result from that combination, making the +terminal scroll up or down the way you want it, or any other thing an +extension might provide. +.Sp +The key combination that triggers the action, \fIsym\fR, has the following format: +.Sp +.Vb 1 +\& (modifiers\-)key +.Ve +.Sp +Where \fImodifiers\fR can be any combination of \fBISOLevel3\fR, \fBAppKeypad\fR, +\&\fBControl\fR, \fBNumLock\fR, \fBShift\fR, \fBMeta\fR, \fBLock\fR, \fBMod1\fR, \fBMod2\fR, +\&\fBMod3\fR, \fBMod4\fR, \fBMod5\fR, and the abbreviated \fBI\fR, \fBK\fR, \fBC\fR, \fBN\fR, +\&\fBS\fR, \fBM\fR, \fBA\fR, \fBL\fR, \fB1\fR, \fB2\fR, \fB3\fR, \fB4\fR, \fB5\fR. +.Sp +The \fBNumLock\fR, \fBMeta\fR and \fBISOLevel3\fR modifiers are usually aliased to +whatever modifier the NumLock key, Meta/Alt keys or \s-1ISO\s0 Level3 Shift/AltGr +keys are being mapped. \fBAppKeypad\fR is a synthetic modifier mapped to the +current application keymap mode state. +.Sp +Due the the large number of modifier combinations, a key mapping will +match if \fIat least\fR the specified identifiers are being set, and no other +key mappings with those and more bits are being defined. That means that +defining a mapping for \f(CW\*(C`a\*(C'\fR will automatically provide definitions for +\&\f(CW\*(C`Meta\-a\*(C'\fR, \f(CW\*(C`Shift\-a\*(C'\fR and so on, unless some of those are defined mappings +themselves. See the \f(CW\*(C`builtin:\*(C'\fR action, below, for a way to work around +this when this is a problem. +.Sp +The spelling of \fIkey\fR depends on your implementation of X. An easy way to +find a key name is to use the \fBxev\fR(1) command. You can find a list by +looking for the \f(CW\*(C`XK_\*(C'\fR macros in the \fBX11/keysymdef.h\fR include file (omit +the \f(CW\*(C`XK_\*(C'\fR prefix). Alternatively you can specify \fIkey\fR by its hex keysym +value (\fB0x0000 \- 0xFFFF\fR). +.Sp +As with any resource value, the \fIaction\fR string may contain backslash +escape sequences (\f(CW\*(C`\en\*(C'\fR: newline, \f(CW\*(C`\e\e\*(C'\fR: backslash, \f(CW\*(C`\e000\*(C'\fR: octal +number), see \s-1RESOURCES\s0 in \f(CW\*(C`man 7 X\*(C'\fR for further details. +.Sp +An action starts with an action prefix that selects a certain type +of action, followed by a colon. An action string without colons is +interpreted as a literal string to pass to the tty (as if it was +prefixed with \f(CW\*(C`string:\*(C'\fR). +.Sp +The following action prefixes are known \- extensions can provide +additional prefixes: +.RS 4 +.IP "string:STRING" 4 +.IX Item "string:STRING" +If the \fIaction\fR starts with \f(CW\*(C`string:\*(C'\fR (or otherwise contains no colons), +then the remaining \f(CW\*(C`STRING\*(C'\fR will be passed to the program running in the +terminal. For example, you could replace whatever Shift-Tab outputs by the +string \f(CW\*(C`echo rm \-rf /\*(C'\fR followed by a newline: +.Sp +.Vb 1 +\& URxvt.keysym.Shift\-Tab: string:echo rm \-rf /\en +.Ve +.Sp +This could in theory be used to completely redefine your keymap. +.Sp +In addition, for actions of this type, you can define a range of +keysyms in one shot by loading the \f(CW\*(C`keysym\-list\*(C'\fR perl extension and +providing an \fIaction\fR with pattern \fBlist/PREFIX/MIDDLE/SUFFIX\fR, where +the delimiter `/' should be a character not used by the strings. +.Sp +Its usage can be demonstrated by an example: +.Sp +.Vb 1 +\& URxvt.keysym.M\-C\-0x61: list|\e033<|abc|> +.Ve +.Sp +The above line is equivalent to the following three lines: +.Sp +.Vb 3 +\& URxvt.keysym.Meta\-Control\-0x61: string:\e033<a> +\& URxvt.keysym.Meta\-Control\-0x62: string:\e033<b> +\& URxvt.keysym.Meta\-Control\-0x63: string:\e033<c> +.Ve +.IP "command:STRING" 4 +.IX Item "command:STRING" +If \fIaction\fR takes the form of \f(CW\*(C`command:STRING\*(C'\fR, the specified \fB\s-1STRING\s0\fR +is interpreted and executed as @@RXVT_NAME@@'s control sequence (basically +the opposite of \f(CW\*(C`string:\*(C'\fR \- instead of sending it to the program running +in the terminal, it will be treated as if it were program output). This is +most useful to feed command sequences into @@RXVT_NAME@@. +.Sp +For example the following means "change the current locale to \f(CW\*(C`zh_CN.GBK\*(C'\fR +when Control-Meta-c is being pressed": +.Sp +.Vb 1 +\& URxvt.keysym.M\-C\-c: command:\e033]701;zh_CN.GBK\e007 +.Ve +.Sp +The following example will map Control\-Meta\-1 and Control\-Meta\-2 to +the fonts \f(CW\*(C`suxuseuro\*(C'\fR and \f(CW\*(C`9x15bold\*(C'\fR, so you can have some limited +font-switching at runtime: +.Sp +.Vb 2 +\& URxvt.keysym.M\-C\-1: command:\e033]50;suxuseuro\e007 +\& URxvt.keysym.M\-C\-2: command:\e033]50;9x15bold\e007 +.Ve +.Sp +Other things are possible, e.g. resizing (see @@RXVT_NAME@@(7) for more +info): +.Sp +.Vb 2 +\& URxvt.keysym.M\-C\-3: command:\e033[8;25;80t +\& URxvt.keysym.M\-C\-4: command:\e033[8;48;110t +.Ve +.IP "builtin:" 4 +.IX Item "builtin:" +The builtin action is the action that @@RXVT_NAME@@ would execute if no +key binding existed for the key combination. The obvious use is to undo +the effect of existing bindings. The not so obvious use is to reinstate +bindings when another binding overrides too many modifiers. +.Sp +For example if you overwrite the \f(CW\*(C`Insert\*(C'\fR key you will disable +@@RXVT_NAME@@'s \f(CW\*(C`Shift\-Insert\*(C'\fR mapping. To re-enable that, you can poke +\&\*(L"holes\*(R" into the user-defined keymap using the \f(CW\*(C`builtin:\*(C'\fR replacement: +.Sp +.Vb 2 +\& URxvt.keysym.Insert: <my insert key sequence> +\& URxvt.keysym.S\-Insert: builtin: +.Ve +.Sp +The first line defines a mapping for \f(CW\*(C`Insert\*(C'\fR and \fIany\fR combination +of modifiers. The second line re-establishes the default mapping for +\&\f(CW\*(C`Shift\-Insert\*(C'\fR. +.IP "builtin-string:" 4 +.IX Item "builtin-string:" +This action is mainly useful to restore string mappings for keys that +have predefined actions in @@RXVT_NAME@@. The exact semantics are a bit +difficult to explain \- basically, this action will send the string to the +application that would be sent if @@RXVT_NAME@@ wouldn't have a built-in +action for it. +.Sp +An example might make it clearer: @@RXVT_NAME@@ normally pastes the +selection when you press \f(CW\*(C`Shift\-Insert\*(C'\fR. With the following bindings, it +would instead emit the (undocumented, but what applications running in the +terminal might expect) sequence \f(CW\*(C`ESC [ 2 $\*(C'\fR instead: +.Sp +.Vb 2 +\& URxvt.keysym.S\-Insert: builtin\-string: +\& URxvt.keysym.C\-S\-Insert: builtin: +.Ve +.Sp +The first line disables the paste functionality for that key +combination, and the second reinstates the default behaviour for +\&\f(CW\*(C`Control\-Shift\-Insert\*(C'\fR, which would otherwise be overridden. +.Sp +Similarly, to let applications gain access to the \f(CW\*(C`C\-M\-c\*(C'\fR (copy to +clipboard) and \f(CW\*(C`C\-M\-v\*(C'\fR (paste clipboard) key combination, you can do +this: +.Sp +.Vb 2 +\& URxvt.keysym.C\-M\-c: builtin\-string: +\& URxvt.keysym.C\-M\-v: builtin\-string: +.Ve +.IP "\s-1EXTENSION:STRING\s0" 4 +.IX Item "EXTENSION:STRING" +An action of this form invokes the action \fB\s-1STRING\s0\fR, if any, provided +by the @@RXVT_NAME@@\fIperl\fR\|(3) extension \fB\s-1EXTENSION\s0\fR. The extension will +be loaded automatically if necessary. +.Sp +Not all extensions define actions, but popular extensions that do +include the \fIselection\fR and \fImatcher\fR extensions (documented in their +own manpages, @@RXVT_NAME@@\-\fIselection\fR\|(1) and @@RXVT_NAME@@\-\fImatcher\fR\|(1), +respectively). +.Sp +From the silly examples department, this will rot13\-\*(L"encrypt\*(R" +@@RXVT_NAME@@'s selection when Alt-Control-c is pressed on typical \s-1PC\s0 +keyboards: +.Sp +.Vb 1 +\& URxvt.keysym.M\-C\-c: selection:rot13 +.Ve +.IP "perl:STRING *DEPRECATED*" 4 +.IX Item "perl:STRING *DEPRECATED*" +This is a deprecated way of invoking commands provided by perl +extensions. It is still supported, but should not be used anymore. +.RE +.RS 4 +.RE +.IP "\fBperl-ext-common\fR: \fIstring\fR" 4 +.IX Item "perl-ext-common: string" +.PD 0 +.IP "\fBperl-ext\fR: \fIstring\fR" 4 +.IX Item "perl-ext: string" +.PD +Comma-separated list(s) of perl extension scripts (default: \f(CW\*(C`default\*(C'\fR) to +use in this terminal instance; option \fB\-pe\fR. +.Sp +Extension names can be prefixed with a \f(CW\*(C`\-\*(C'\fR sign to prohibit using +them. This can be useful to selectively disable some extensions loaded +by default, or specified via the \f(CW\*(C`perl\-ext\-common\*(C'\fR resource. For +example, \f(CW\*(C`default,\-selection\*(C'\fR will use all the default extensions except +\&\f(CW\*(C`selection\*(C'\fR. +.Sp +The default set includes the \f(CW\*(C`selection\*(C'\fR, \f(CW\*(C`option\-popup\*(C'\fR, +\&\f(CW\*(C`selection\-popup\*(C'\fR, \f(CW\*(C`readline\*(C'\fR and \f(CW\*(C`searchable\-scrollback\*(C'\fR +extensions, and extensions which are mentioned in \fBkeysym\fR resources. +.Sp +Any extension such that a corresponding resource is given on the +command line is automatically appended to \fBperl-ext\fR. +.Sp +Each extension is looked up in the library directories, loaded if +necessary, and bound to the current terminal instance. When the library +search path contains multiple extension files of the same name, then the +first one found will be used. +.Sp +If both of these resources are the empty string, then the perl interpreter +will not be initialized. The rationale for having two options is that +\&\fBperl-ext-common\fR will be used for extensions that should be available to +all instances, while \fBperl-ext\fR is used for specific instances. +.IP "\fBperl-eval\fR: \fIstring\fR" 4 +.IX Item "perl-eval: string" +Perl code to be evaluated when all extensions have been registered. See +the @@RXVT_NAME@@\fIperl\fR\|(3) manpage. +.IP "\fBperl-lib\fR: \fIpath\fR" 4 +.IX Item "perl-lib: path" +Colon-separated list of additional directories that hold extension +scripts. When looking for perl extensions, @@RXVT_NAME@@ will first look +in these directories, then in \f(CW$URXVT_PERL_LIB\fR, \fI\f(CI$HOME\fI/.urxvt/ext\fR and +lastly in \fI@@RXVT_LIBDIR@@/urxvt/perl/\fR. +.Sp +See the @@RXVT_NAME@@\fIperl\fR\|(3) manpage. +.IP "\fBselection.pattern\-\f(BIidx\fB\fR: \fIperl-regex\fR" 4 +.IX Item "selection.pattern-idx: perl-regex" +Additional selection patterns, see the @@RXVT_NAME@@\fIperl\fR\|(3) manpage for +details. +.IP "\fBselection-autotransform.\f(BIidx\fB\fR: \fIperl-transform\fR" 4 +.IX Item "selection-autotransform.idx: perl-transform" +Selection auto-transform patterns, see the @@RXVT_NAME@@\fIperl\fR\|(3) manpage +for details. +.IP "\fBsearchable-scrollback:\fR \fIkeysym\fR *DEPRECATED*" 4 +.IX Item "searchable-scrollback: keysym *DEPRECATED*" +This resource is deprecated and will be removed. Use a \fBkeysym\fR resource +instead, e.g.: +.Sp +.Vb 1 +\& URxvt.keysym.M\-s: searchable\-scrollback:start +.Ve +.IP "\fBurl-launcher\fR: \fIstring\fR" 4 +.IX Item "url-launcher: string" +Specifies the program to be started with a \s-1URL\s0 argument. Used by the +\&\f(CW\*(C`selection\-popup\*(C'\fR and \f(CW\*(C`matcher\*(C'\fR perl extensions. +.IP "\fBtransient-for\fR: \fIwindowid\fR" 4 +.IX Item "transient-for: windowid" +Compile \fIfrills\fR: Sets the \s-1WM_TRANSIENT_FOR\s0 property to the given window id. +.IP "\fBoverride-redirect\fR: \fIboolean\fR" 4 +.IX Item "override-redirect: boolean" +Compile \fIfrills\fR: Sets override-redirect for the terminal window, making +it almost invisible to window managers; option \fB\-override\-redirect\fR. +.IP "\fBiso14755:\fR \fIboolean\fR" 4 +.IX Item "iso14755: boolean" +Turn on/off \s-1ISO 14755 \s0(default enabled). +.IP "\fBiso14755_52:\fR \fIboolean\fR" 4 +.IX Item "iso14755_52: boolean" +Turn on/off \s-1ISO 14755 5.2\s0 mode (default enabled). +.SH "BACKGROUND IMAGE OPTIONS AND RESOURCES" +.IX Header "BACKGROUND IMAGE OPTIONS AND RESOURCES" +.IP "\fB\-pixmap\fR \fIfile[;oplist]\fR" 4 +.IX Item "-pixmap file[;oplist]" +.PD 0 +.IP "\fBbackgroundPixmap:\fR \fIfile[;oplist]\fR" 4 +.IX Item "backgroundPixmap: file[;oplist]" +.PD +Compile \fIpixbuf\fR: Use the specified image file as the window's +background and also optionally specify a colon separated list of +operations to modify it. Note that you may need to quote the \f(CW\*(C`;\*(C'\fR +character when using the command line option, as \f(CW\*(C`;\*(C'\fR is usually a +metacharacter in shells. Supported operations are: +.RS 4 +.IP "\fBWxH+X+Y\fR" 4 +.IX Item "WxH+X+Y" +sets scale and position. \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 disables scaling. +.IP "\fBop=tile\fR" 4 +.IX Item "op=tile" +enables tiling +.IP "\fBop=keep\-aspect\fR" 4 +.IX Item "op=keep-aspect" +maintain the image aspect ratio when scaling +.IP "\fBop=root\-align\fR" 4 +.IX Item "op=root-align" +use the position of the terminal window relative to the root window as +the image offset, simulating a root window background +.RE +.RS 4 +.Sp +The default scale and position setting is \f(CW\*(C`100x100+50+50\*(C'\fR. +Alternatively, a predefined set of templates can be used to achieve +the most common setups: +.IP "\fBstyle=tiled\fR" 4 +.IX Item "style=tiled" +the image is tiled with no scaling. Equivalent to 0x0+0+0:op=tile +.IP "\fBstyle=aspect\-stretched\fR" 4 +.IX Item "style=aspect-stretched" +the image is scaled to fill the whole window maintaining the aspect +ratio and centered. Equivalent to 100x100+50+50:op=keep\-aspect +.IP "\fBstyle=stretched\fR" 4 +.IX Item "style=stretched" +the image is scaled to fill the whole window. Equivalent to 100x100 +.IP "\fBstyle=centered\fR" 4 +.IX Item "style=centered" +the image is centered with no scaling. Equivalent to 0x0+50+50 +.IP "\fBstyle=root\-tiled\fR" 4 +.IX Item "style=root-tiled" +the image is tiled with no scaling and using 'root' positioning. +Equivalent to 0x0:op=tile:op=root\-align +.RE +.RS 4 +.Sp +If multiple templates are specified the last one wins. Note that a +template overrides all the scale, position and operations settings. +.Sp +If used in conjunction with pseudo-transparency, the specified pixmap +will be blended over the transparent background using alpha-blending. +.RE +.IP "\fB\-tr\fR|\fB+tr\fR" 4 +.IX Item "-tr|+tr" +.PD 0 +.IP "\fBtransparent:\fR \fIboolean\fR" 4 +.IX Item "transparent: boolean" +.PD +Turn on/off pseudo-transparency by using the root pixmap as background. +.Sp +\&\fB\-ip\fR (\fBinheritPixmap\fR) is still accepted as an obsolete alias but +will be removed in future versions. +.IP "\fB\-tint\fR \fIcolour\fR" 4 +.IX Item "-tint colour" +.PD 0 +.IP "\fBtintColor:\fR \fIcolour\fR" 4 +.IX Item "tintColor: colour" +.PD +Tint the transparent background with the given colour. Note that a +black tint yields a completely black image while a white tint yields +the image unchanged. +.IP "\fB\-sh\fR \fInumber\fR" 4 +.IX Item "-sh number" +.PD 0 +.IP "\fBshading:\fR \fInumber\fR" 4 +.IX Item "shading: number" +.PD +Darken (0 .. 99) or lighten (101 .. 200) the transparent background. +A value of 100 means no shading. +.IP "\fB\-blr\fR \fIHxV\fR" 4 +.IX Item "-blr HxV" +.PD 0 +.IP "\fBblurRadius:\fR \fIHxV\fR" 4 +.IX Item "blurRadius: HxV" +.PD +Apply gaussian blur with the specified radius to the transparent +background. If a single number is specified, the vertical and +horizontal radii are considered to be the same. Setting one of the +radii to 1 and the other to a large number creates interesting effects +on some backgrounds. The maximum radius value is 128. An horizontal or +vertical radius of 0 disables blurring. +.IP "\fBpath:\fR \fIpath\fR" 4 +.IX Item "path: path" +Specify the colon-delimited search path for finding background image files. +.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 \fB\s-1ESC\s0 [ 6 ~\fR +(Next) and \fB\s-1ESC\s0 [ 5 ~\fR (Prior), respectively. Similarly, clicking on the +up and down arrows sends \fB\s-1ESC\s0 [ A\fR (Up) and \fB\s-1ESC\s0 [ B\fR (Down), +respectively. +.SH "THE SELECTION: SELECTING AND PASTING TEXT" +.IX Header "THE SELECTION: SELECTING AND PASTING TEXT" +The behaviour of text selection and insertion/pasting mechanism is similar +to \fIxterm\fR(1). +.IP "\fBSelecting\fR:" 4 +.IX Item "Selecting:" +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 logical line +(which can span multiple screen lines), unless modified by resource +\&\fBtripleclickwords\fR. +.Sp +Starting a selection while pressing the \fBMeta\fR key (or \fBMeta+Ctrl\fR keys) +(Compile: \fIfrills\fR) will create a rectangular selection instead of a +normal one. In this mode, every selected row becomes its own line in the +selection, and trailing whitespace is visually underlined and removed from +the selection. +.IP "\fBPasting\fR:" 4 +.IX Item "Pasting:" +Pressing and releasing the Middle mouse button in an \fB@@RXVT_NAME@@\fR +window causes the value of the \s-1PRIMARY\s0 selection (or \s-1CLIPBOARD\s0 with the +\&\fBMeta\fR modifier) to be inserted as if it had been typed on the keyboard. +.Sp +Pressing \fBShift-Insert\fR causes the value of the \s-1PRIMARY\s0 selection to be +inserted too. +.Sp +rxvt-unicode also provides the bindings \fBCtrl-Meta-c\fR and +<Ctrl\-Meta\-v> to interact with the \s-1CLIPBOARD\s0 selection. The first +binding causes the value of the internal selection to be copied to the +\&\s-1CLIPBOARD\s0 selection, while the second binding causes the value of the +\&\s-1CLIPBOARD\s0 selection to be inserted. +.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, e.g.: +.PP +.Vb 1 +\& printf \*(Aq\ee]710;%s\e007\*(Aq "9x15bold,xft:Kochi Gothic" +.Ve +.PP +You can use keyboard shortcuts, too: +.PP +.Vb 2 +\& URxvt.keysym.M\-C\-1: command:\e033]710;suxuseuro\e007\e033]711;suxuseuro\e007 +\& URxvt.keysym.M\-C\-2: command:\e033]710;9x15bold\e007\e033]711;9x15bold\e007 +.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 14755\s0 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 if 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 "\(bu" 4 +5.1: Basic method +.Sp +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 "\(bu" 4 +5.2: Keyboard symbols entry method +.Sp +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 its 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 "\(bu" 4 +5.3: Screen-selection entry method +.Sp +While this is implemented already (it's basically the selection +mechanism), it could be extended by displaying a unicode character map. +.IP "\(bu" 4 +5.4: Feedback method for identifying displayed characters for later input +.Sp +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 14755,\s0 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 may need to be installed setuid root +on some systems or setgid to root or to some other group on others. +.SH "COLOURS AND GRAPHICS" +.IX Header "COLOURS AND GRAPHICS" +In addition to the default foreground and background colours, +\&\fB@@RXVT_NAME@@\fR can display up to 88/256 colours: 8 \s-1ANSI\s0 colours plus +high-intensity (potentially bold/blink) versions of the same, and 72 (or +240 in 256 colour mode) colours arranged in an 4x4x4 (or 6x6x6) colour \s-1RGB\s0 +cube plus a 8 (24) colour greyscale ramp. +.PP +Here is a list of the \s-1ANSI\s0 colours with their 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 +The following text gives values for the standard 88 colour mode (and +values for the 256 colour mode in parentheses). +.PP +The \s-1RGB\s0 cube uses indices 16..79 (16..231) using the following formulas: +.PP +.Vb 2 +\& index_88 = (r * 4 + g) * 4 + b + 16 # r, g, b = 0..3 +\& index_256 = (r * 6 + g) * 6 + b + 16 # r, g, b = 0..5 +.Ve +.PP +The grayscale ramp uses indices 80..87 (232..239), from 10% to 90% in 10% +steps (1/26 to 25/26 in 1/26 steps) \- black and white are already part of +the \s-1RGB\s0 cube. +.PP +Together, all those colours implement the 88 (256) colour xterm +colours. Only the first 16 can be changed using resources currently, the +rest can only be changed via command sequences (\*(L"escape codes\*(R"). +.PP +Applications are advised to use terminfo or command sequences to discover +number and \s-1RGB\s0 values of all colours (yes, you can query this...). +.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, +.PP +.Vb 1 +\& @@RXVT_NAME@@ \-fg Black \-bg White \-rv +.Ve +.PP +would yield White on Black, while on \fIxterm\fR(1) it would yield Black on +White. +.SS "\s-1ALPHA CHANNEL SUPPORT\s0" +.IX Subsection "ALPHA CHANNEL SUPPORT" +If Xft support has been compiled in and as long as Xft/Xrender/X don't get +their act together, rxvt-unicode will do its own alpha channel management: +.PP +You can prefix any colour with an opaqueness percentage enclosed in +brackets, i.e. \f(CW\*(C`[percent]\*(C'\fR, where \f(CW\*(C`percent\*(C'\fR is a decimal percentage +(0\-100) that specifies the opacity of the colour, where \f(CW0\fR is completely +transparent and \f(CW100\fR is completely opaque. For example, \f(CW\*(C`[50]red\*(C'\fR is a +half-transparent red, while \f(CW\*(C`[95]#00ff00\*(C'\fR is an almost opaque green. This +is the recommended format to specify transparency values, and works with +all ways to specify a colour. +.PP +For complete control, rxvt-unicode also supports +\&\f(CW\*(C`rgba:rrrr/gggg/bbbb/aaaa\*(C'\fR (exactly four hex digits/component) colour +specifications, where the additional \f(CW\*(C`aaaa\*(C'\fR component specifies opacity +(alpha) values. The minimum value of \f(CW0000\fR is completely transparent, +while \f(CW\*(C`ffff\*(C'\fR is completely opaque). The two example colours from +earlier could also be specified as \f(CW\*(C`rgba:ff00/0000/0000/8000\*(C'\fR and +\&\f(CW\*(C`rgba:0000/ff00/0000/f332\*(C'\fR. +.PP +You probably need to specify \fB\*(L"\-depth 32\*(R"\fR, too, to force a visual with +alpha channels, and have the luck that your X\-server uses \s-1ARGB\s0 pixel +layout, as X is far from just supporting \s-1ARGB\s0 visuals out of the box, and +rxvt-unicode just fudges around. +.PP +For example, the following selects an almost completely transparent black +background, and an almost opaque pink foreground: +.PP +.Vb 1 +\& @@RXVT_NAME@@ \-depth 32 \-bg rgba:0000/0000/0000/4444 \-fg "[80]pink" +.Ve +.PP +When not using a background image, then the interpretation of the +alpha channel is up to your compositing manager (most interpret it as +transparency of course). +.PP +When using a background pixmap or pseudo-transparency, then the background +colour will always behave as if it were completely transparent (so the +background image shows instead), regardless of how it was specified, while +other colours will either be transparent as specified (the background +image will show through) on servers supporting the \s-1RENDER\s0 extension, or +fully opaque on servers not supporting the \s-1RENDER EXTENSION.\s0 +.PP +Please note that due to bugs in Xft, specifying alpha values might result +in garbage being displayed when the X\-server does not support the \s-1RENDER\s0 +extension. +.SH "ENVIRONMENT" +.IX Header "ENVIRONMENT" +\&\fB@@RXVT_NAME@@\fR sets and/or uses the following environment variables: +.IP "\fB\s-1TERM\s0\fR" 4 +.IX Item "TERM" +Normally set to \f(CW\*(C`rxvt\-unicode\*(C'\fR, unless overwritten at configure time, via +resources or on the command line. +.IP "\fB\s-1COLORTERM\s0\fR" 4 +.IX Item "COLORTERM" +Either \f(CW\*(C`rxvt\*(C'\fR, \f(CW\*(C`rxvt\-xpm\*(C'\fR, depending on whether @@RXVT_NAME@@ was +compiled with background image support, and optionally with the added +extension \f(CW\*(C`\-mono\*(C'\fR to indicate that rxvt-unicode runs on a monochrome +screen. +.IP "\fB\s-1COLORFGBG\s0\fR" 4 +.IX Item "COLORFGBG" +Set to a string of the form \f(CW\*(C`fg;bg\*(C'\fR or \f(CW\*(C`fg;xpm;bg\*(C'\fR, where \f(CW\*(C`fg\*(C'\fR is +the colour code used as default foreground/text colour (or the string +\&\f(CW\*(C`default\*(C'\fR to indicate that the default-colour escape sequence is to be +used), \f(CW\*(C`bg\*(C'\fR is the colour code used as default background colour (or the +string \f(CW\*(C`default\*(C'\fR), and \f(CW\*(C`xpm\*(C'\fR is the string \f(CW\*(C`default\*(C'\fR if @@RXVT_NAME@@ +was compiled with background image support. Libraries like \f(CW\*(C`ncurses\*(C'\fR +and \f(CW\*(C`slang\*(C'\fR can (and do) use this information to optimize screen output. +.IP "\fB\s-1WINDOWID\s0\fR" 4 +.IX Item "WINDOWID" +Set to the (decimal) X Window \s-1ID\s0 of the @@RXVT_NAME@@ window (the toplevel +window, which usually has subwindows for the scrollbar, the terminal +window and so on). +.IP "\fB\s-1TERMINFO\s0\fR" 4 +.IX Item "TERMINFO" +Set to the terminfo directory iff @@RXVT_NAME@@ was configured with +\&\f(CW\*(C`\-\-with\-terminfo=PATH\*(C'\fR. +.IP "\fB\s-1DISPLAY\s0\fR" 4 +.IX Item "DISPLAY" +Used by @@RXVT_NAME@@ to connect to the display and set to the correct +display in its child processes if \f(CW\*(C`\-display\*(C'\fR isn't used to override. It +defaults to \f(CW\*(C`:0\*(C'\fR if it doesn't exist. +.IP "\fB\s-1SHELL\s0\fR" 4 +.IX Item "SHELL" +The shell to be used for command execution, defaults to \f(CW\*(C`/bin/sh\*(C'\fR. +.IP "\fB\s-1RXVT_SOCKET\s0\fR [\fIsic\fR]" 4 +.IX Item "RXVT_SOCKET [sic]" +The unix domain socket path used by @@RXVT_NAME@@c(1) and +@@RXVT_NAME@@d(1). +.Sp +Default \fI\f(CI$HOME\fI/.urxvt/urxvtd\-\fI<nodename>\fI\fR. +.IP "\fB\s-1URXVT_PERL_LIB\s0\fR" 4 +.IX Item "URXVT_PERL_LIB" +Additional \fI:\fR\-separated library search path for perl extensions. Will be +searched after \fB\-perl\-lib\fR but before \fI~/.urxvt/ext\fR and the system library +directory. +.IP "\fB\s-1URXVT_PERL_VERBOSITY\s0\fR" 4 +.IX Item "URXVT_PERL_VERBOSITY" +See @@RXVT_NAME@@perl(3). +.IP "\fB\s-1HOME\s0\fR" 4 +.IX Item "HOME" +Used to locate the default directory for the unix domain socket for +daemon communications and to locate various resource files (such as +\&\f(CW\*(C`.Xdefaults\*(C'\fR) +.IP "\fB\s-1XAPPLRESDIR\s0\fR" 4 +.IX Item "XAPPLRESDIR" +Directory where application-specific X resource files are located. +.IP "\fB\s-1XENVIRONMENT\s0\fR" 4 +.IX Item "XENVIRONMENT" +If set and accessible, gives the name of a X resource file to be loaded by +@@RXVT_NAME@@. +.SH "FILES" +.IX Header "FILES" +.IP "\fB/usr/lib/X11/rgb.txt\fR" 4 +.IX Item "/usr/lib/X11/rgb.txt" +Colour names. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +@@RXVT_NAME@@(7), @@RXVT_NAME@@c(1), @@RXVT_NAME@@d(1), @@RXVT_NAME@@\-\fIextensions\fR\|(1), +@@RXVT_NAME@@\fIperl\fR\|(3), \fIxterm\fR\|(1), \fIsh\fR\|(1), \fIresize\fR\|(1), X(1), \fIpty\fR\|(4), \fItty\fR\|(4), \fIutmp\fR\|(5) +.SH "CURRENT PROJECT COORDINATOR" +.IX Header "CURRENT PROJECT COORDINATOR" +.IP "Project Coordinator" 4 +.IX Item "Project Coordinator" +Marc A. Lehmann <rxvt\-unicode@schmorp.de>. +.Sp +<http://software.schmorp.de/pkg/rxvt\-unicode.html> +.SH "AUTHORS" +.IX Header "AUTHORS" +.IP "John Bovey" 4 +.IX Item "John Bovey" +University of Kent, 1992, wrote the original Xvt. +.IP "Rob Nation <nation@rocket.sanders.lockheed.com>" 4 +.IX Item "Rob Nation <nation@rocket.sanders.lockheed.com>" +very heavily modified Xvt and came up with Rxvt +.IP "Angelo Haritsis <ah@doc.ic.ac.uk>" 4 +.IX Item "Angelo Haritsis <ah@doc.ic.ac.uk>" +wrote the Greek Keyboard Input (no longer in code) +.IP "mj olesen <olesen@me.QueensU.CA>" 4 +.IX Item "mj olesen <olesen@me.QueensU.CA>" +Wrote the menu system. +.Sp +Project Coordinator (changes.txt 2.11 to 2.21) +.IP "Oezguer Kesim <kesim@math.fu\-berlin.de>" 4 +.IX Item "Oezguer Kesim <kesim@math.fu-berlin.de>" +Project Coordinator (changes.txt 2.21a to 2.4.5) +.IP "Geoff Wing <gcw@pobox.com>" 4 +.IX Item "Geoff Wing <gcw@pobox.com>" +Rewrote screen display and text selection routines. +.Sp +Project Coordinator (changes.txt 2.4.6 \- rxvt-unicode) +.IP "Marc Alexander Lehmann <rxvt\-unicode@schmorp.de>" 4 +.IX Item "Marc Alexander Lehmann <rxvt-unicode@schmorp.de>" +Forked rxvt-unicode, unicode support, rewrote almost all the code, perl +extension, random hacks, numerous bugfixes and extensions. +.Sp +Project Coordinator (Changes 1.0 \-) +.IP "Emanuele Giaquinta <emanuele.giaquinta@gmail.com>" 4 +.IX Item "Emanuele Giaquinta <emanuele.giaquinta@gmail.com>" +pty/utmp code rewrite, image code improvements, many random hacks and bugfixes. diff --git a/doc/rxvt.7.man.in b/doc/rxvt.7.man.in new file mode 100644 index 0000000..14b0c0a --- /dev/null +++ b/doc/rxvt.7.man.in @@ -0,0 +1,2750 @@ +.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.30) +.\" +.\" Standard preamble: +.\" ======================================================================== +.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. \*(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- +.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" '' +. ds C` +. ds C' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX +.. +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{ +. if \nF \{ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. if !\nF==2 \{ +. nr % 0 +. nr F 2 +. \} +. \} +.\} +.rr rF +.\" +.\" 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_NAME@@ 7" +.TH @@RXVT_NAME@@ 7 "2016-01-23" "@@RXVT_VERSION@@" "RXVT-UNICODE" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +RXVT REFERENCE \- FAQ, command sequences and other background information +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +.Vb 2 +\& # set a new font set +\& printf \*(Aq\e33]50;%s\e007\*(Aq 9x15,xft:Kochi" Mincho" +\& +\& # change the locale and tell rxvt\-unicode about it +\& export LC_CTYPE=ja_JP.EUC\-JP; printf "\e33]701;$LC_CTYPE\e007" +\& +\& # set window title +\& printf \*(Aq\e33]2;%s\e007\*(Aq "new window title" +.Ve +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +This document contains the \s-1FAQ,\s0 the \s-1RXVT TECHNICAL REFERENCE\s0 documenting +all escape sequences, and other background information. +.PP +The newest version of this document is also available on the World Wide Web at +<http://pod.tst.eu/http://cvs.schmorp.de/rxvt\-unicode/doc/rxvt.7.pod>. +.PP +The main manual page for @@RXVT_NAME@@ itself is available at +<http://pod.tst.eu/http://cvs.schmorp.de/rxvt\-unicode/doc/rxvt.1.pod>. +.SH "RXVT\-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS" +.IX Header "RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS" +.SS "Meta, Features & Commandline Issues" +.IX Subsection "Meta, Features & Commandline Issues" +\fIMy question isn't answered here, can I ask a human?\fR +.IX Subsection "My question isn't answered here, can I ask a human?" +.PP +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 :). +.PP +\fII use Gentoo, and I have a problem...\fR +.IX Subsection "I use Gentoo, and I have a problem..." +.PP +There are two big problems with Gentoo Linux: first, most if not all +Gentoo systems are completely broken (missing or mismatched header +files, broken compiler etc. are just the tip of the iceberg); +secondly, it should be called Gentoo GNU/Linux. +.PP +For these reasons, it is impossible to support rxvt-unicode on +Gentoo. Problems appearing on Gentoo systems will usually simply be +ignored unless they can be reproduced on non-Gentoo systems. +.PP +\fIDoes it support tabs, can I have a tabbed rxvt-unicode?\fR +.IX Subsection "Does it support tabs, can I have a tabbed rxvt-unicode?" +.PP +Beginning with version 7.3, there is a perl extension that implements a +simple tabbed terminal. It is installed by default, so any of these should +give you tabs: +.PP +.Vb 1 +\& @@URXVT_NAME@@ \-pe tabbed +\& +\& URxvt.perl\-ext\-common: default,tabbed +.Ve +.PP +It will also work fine with tabbing functionality of many window managers +or similar tabbing programs, and its embedding-features allow it to be +embedded into other programs, as witnessed by \fIdoc/rxvt\-tabbed\fR or +the upcoming \f(CW\*(C`Gtk2::URxvt\*(C'\fR perl module, which features a tabbed urxvt +(murxvt) terminal as an example embedding application. +.PP +\fIHow do I know which rxvt-unicode version I'm using?\fR +.IX Subsection "How do I know which rxvt-unicode version I'm using?" +.PP +The version number is displayed with the usage (\-h). Also the escape +sequence \f(CW\*(C`ESC [ 8 n\*(C'\fR sets the window title to the version number. When +using the @@URXVT_NAME@@c client, the version displayed is that of the +daemon. +.PP +\fIRxvt-unicode uses gobs of memory, how can I reduce that?\fR +.IX Subsection "Rxvt-unicode uses gobs of memory, how can I reduce that?" +.PP +Rxvt-unicode tries to obey the rule of not charging you for something 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. +.PP +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. +.PP +\fIHow can I start @@URXVT_NAME@@d in a race-free way?\fR +.IX Subsection "How can I start @@URXVT_NAME@@d in a race-free way?" +.PP +Try \f(CW\*(C`@@URXVT_NAME@@d \-f \-o\*(C'\fR, which tells @@URXVT_NAME@@d to open the +display, create the listening socket and then fork. +.PP +\fIHow can I start @@URXVT_NAME@@d automatically when I run @@URXVT_NAME@@c?\fR +.IX Subsection "How can I start @@URXVT_NAME@@d automatically when I run @@URXVT_NAME@@c?" +.PP +If you want to start @@URXVT_NAME@@d automatically whenever you run +@@URXVT_NAME@@c and the daemon isn't running yet, use this script: +.PP +.Vb 6 +\& #!/bin/sh +\& @@URXVT_NAME@@c "$@" +\& if [ $? \-eq 2 ]; then +\& @@URXVT_NAME@@d \-q \-o \-f +\& @@URXVT_NAME@@c "$@" +\& fi +.Ve +.PP +This tries to create a new terminal, and if fails with exit status 2, +meaning it couldn't connect to the daemon, it will start the daemon and +re-run the command. Subsequent invocations of the script will re-use the +existing daemon. +.PP +\fIHow do I distinguish whether I'm running rxvt-unicode or a regular xterm? I need this to decide about setting colours etc.\fR +.IX Subsection "How do I distinguish whether I'm running rxvt-unicode or a regular xterm? I need this to decide about setting colours etc." +.PP +The original rxvt and rxvt-unicode always export the variable \*(L"\s-1COLORTERM\*(R",\s0 +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 colour. +.PP +\fIHow do I set the correct, full \s-1IP\s0 address for the \s-1DISPLAY\s0 variable?\fR +.IX Subsection "How do I set the correct, full IP address for the DISPLAY variable?" +.PP +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. +.PP +Courtesy of Chuck Blake <cblake@BBN.COM> with the following shell script +snippets: +.PP +.Vb 12 +\& # Bourne/Korn/POSIX family of shells: +\& [ ${TERM:\-foo} = foo ] && TERM=xterm # assume an xterm if we don\*(Aqt know +\& if [ ${TERM:\-foo} = xterm ]; then +\& stty \-icanon \-echo min 0 time 15 # see if enhanced rxvt or not +\& printf "\eeZ" +\& read term_id +\& stty icanon echo +\& if [ ""${term_id} = \*(Aq^[[?1;2C\*(Aq \-a ${DISPLAY:\-foo} = foo ]; then +\& printf \*(Aq\ee[7n\*(Aq # query the rxvt we are in for the DISPLAY string +\& read DISPLAY # set it in our local shell +\& fi +\& fi +.Ve +.PP +\fIHow do I compile the manual pages on my own?\fR +.IX Subsection "How do I compile the manual pages on my own?" +.PP +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 \fIpod2xhtml\fR (from +\&\fIPod::Xhtml\fR). Then go to the doc subdirectory and enter \f(CW\*(C`make alldoc\*(C'\fR. +.PP +\fIIsn't rxvt-unicode supposed to be small? Don't all those features bloat?\fR +.IX Subsection "Isn't rxvt-unicode supposed to be small? Don't all those features bloat?" +.PP +I often get asked about this, and I think, no, they didn't cause extra +bloat. If you compare a minimal rxvt and a minimal urxvt, you can see +that the urxvt binary is larger (due to some encoding tables always being +compiled in), but it actually uses less memory (\s-1RSS\s0) after startup. Even +with \f(CW\*(C`\-\-disable\-everything\*(C'\fR, this comparison is a bit unfair, as many +features unique to urxvt (locale, encoding conversion, iso14755 etc.) are +already in use in this mode. +.PP +.Vb 3 +\& text data bss drs rss filename +\& 98398 1664 24 15695 1824 rxvt \-\-disable\-everything +\& 188985 9048 66616 18222 1788 urxvt \-\-disable\-everything +.Ve +.PP +When you \f(CW\*(C`\-\-enable\-everything\*(C'\fR (which \fIis\fR unfair, as this involves xft +and full locale/XIM support which are quite bloaty inside libX11 and my +libc), the two diverge, but not unreasonably so. +.PP +.Vb 3 +\& text data bss drs rss filename +\& 163431 2152 24 20123 2060 rxvt \-\-enable\-everything +\& 1035683 49680 66648 29096 3680 urxvt \-\-enable\-everything +.Ve +.PP +The very large size of the text section is explained by the east-asian +encoding tables, which, if unused, take up disk space but nothing else +and can be compiled out unless you rely on X11 core fonts that use those +encodings. The \s-1BSS\s0 size comes from the 64k emergency buffer that my c++ +compiler allocates (but of course doesn't use unless you are out of +memory). Also, using an xft font instead of a core font immediately adds a +few megabytes of \s-1RSS.\s0 Xft indeed is responsible for a lot of \s-1RSS\s0 even when +not used. +.PP +Of course, due to every character using two or four bytes instead of one, +a large scrollback buffer will ultimately make rxvt-unicode use more +memory. +.PP +Compared to e.g. Eterm (5112k), aterm (3132k) and xterm (4680k), this +still fares rather well. And compared to some monsters like gnome-terminal +(21152k + extra 4204k in separate processes) or konsole (22200k + extra +43180k in daemons that stay around after exit, plus half a minute of +startup time, including the hundreds of warnings it spits out), it fares +extremely well *g*. +.PP +\fIWhy \*(C+, isn't that unportable/bloated/uncool?\fR +.IX Subsection "Why , isn't that unportable/bloated/uncool?" +.PP +Is this a question? :) It comes up very often. The simple answer is: I had +to write it, and \*(C+ allowed me to write and maintain it in a fraction +of the time and effort (which is a scarce resource for me). Put even +shorter: It simply wouldn't exist without \*(C+. +.PP +My personal stance on this is that \*(C+ is less portable than C, but in +the case of rxvt-unicode this hardly matters, as its portability limits +are defined by things like X11, pseudo terminals, locale support and unix +domain sockets, which are all less portable than \*(C+ itself. +.PP +Regarding the bloat, see the above question: It's easy to write programs +in C that use gobs of memory, and certainly possible to write programs in +\&\*(C+ that don't. \*(C+ also often comes with large libraries, but this is +not necessarily the case with \s-1GCC.\s0 Here is what rxvt links against on my +system with a minimal config: +.PP +.Vb 4 +\& libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000) +\& libc.so.6 => /lib/libc.so.6 (0x00002aaaaadde000) +\& libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab01d000) +\& /lib64/ld\-linux\-x86\-64.so.2 (0x00002aaaaaaab000) +.Ve +.PP +And here is rxvt-unicode: +.PP +.Vb 5 +\& libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00002aaaaabc3000) +\& libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00002aaaaada2000) +\& libc.so.6 => /lib/libc.so.6 (0x00002aaaaaeb0000) +\& libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab0ee000) +\& /lib64/ld\-linux\-x86\-64.so.2 (0x00002aaaaaaab000) +.Ve +.PP +No large bloated libraries (of course, none were linked in statically), +except maybe libX11 :) +.SS "Rendering, Font & Look and Feel Issues" +.IX Subsection "Rendering, Font & Look and Feel Issues" +\fII can't get transparency working, what am I doing wrong?\fR +.IX Subsection "I can't get transparency working, what am I doing wrong?" +.PP +First of all, transparency isn't officially supported in rxvt-unicode, so +you are mostly on your own. Do not bug the author about it (but you may +bug everybody else). Also, if you can't get it working consider it a rite +of passage: ... and you failed. +.PP +Here are four ways to get transparency. \fBDo\fR read the manpage and option +descriptions for the programs mentioned and rxvt-unicode. Really, do it! +.PP +1. Use transparent mode: +.PP +.Vb 2 +\& Esetroot wallpaper.jpg +\& @@URXVT_NAME@@ \-tr \-tint red \-sh 40 +.Ve +.PP +That works. If you think it doesn't, you lack transparency and tinting +support, or you are unable to read. +This method requires that the background-setting program sets the +_XROOTPMAP_ID or \s-1ESETROOT_PMAP_ID\s0 property. Compatible programs +are Esetroot, hsetroot and feh. +.PP +2. Use a simple pixmap and emulate pseudo-transparency. This enables you +to use effects other than tinting and shading: Just shade/tint/whatever +your picture with gimp or any other tool: +.PP +.Vb 2 +\& convert wallpaper.jpg \-blur 20x20 \-modulate 30 background.jpg +\& @@URXVT_NAME@@ \-pixmap "background.jpg;:root" +.Ve +.PP +That works. If you think it doesn't, you lack GDK-PixBuf support, or you +are unable to read. +.PP +3. Use an \s-1ARGB\s0 visual: +.PP +.Vb 1 +\& @@URXVT_NAME@@ \-depth 32 \-fg grey90 \-bg rgba:0000/0000/4444/cccc +.Ve +.PP +This requires \s-1XFT\s0 support, and the support of your X\-server. If that +doesn't work for you, blame Xorg and Keith Packard. \s-1ARGB\s0 visuals aren't +there yet, no matter what they claim. Rxvt-Unicode contains the necessary +bugfixes and workarounds for Xft and Xlib to make it work, but that +doesn't mean that your \s-1WM\s0 has the required kludges in place. +.PP +4. Use xcompmgr and let it do the job: +.PP +.Vb 2 +\& xprop \-frame \-f _NET_WM_WINDOW_OPACITY 32c \e +\& \-set _NET_WM_WINDOW_OPACITY 0xc0000000 +.Ve +.PP +Then click on a window you want to make transparent. Replace \f(CW0xc0000000\fR +by other values to change the degree of opacity. If it doesn't work and +your server crashes, you got to keep the pieces. +.PP +\fIWhy does rxvt-unicode sometimes leave pixel droppings?\fR +.IX Subsection "Why does rxvt-unicode sometimes leave pixel droppings?" +.PP +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. +.PP +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). +.PP +It's not clear (to me at least), whether 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. +.PP +All of this is not a problem when using X11 core fonts, as their bounding +box data is correct. +.PP +\fIHow can I keep rxvt-unicode from using reverse video so much?\fR +.IX Subsection "How can I keep rxvt-unicode from using reverse video so much?" +.PP +First of all, make sure you are running with the right terminal settings +(\f(CW\*(C`TERM=rxvt\-unicode\*(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: +.PP +.Vb 2 +\& URxvt.colorBD: white +\& URxvt.colorIT: green +.Ve +.PP +\fISome programs assume totally weird colours (red instead of blue), how can I fix that?\fR +.IX Subsection "Some programs assume totally weird colours (red instead of blue), how can I fix that?" +.PP +For some unexplainable reason, some rare programs 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. +.PP +In the meantime, you can either edit your \f(CW\*(C`rxvt\-unicode\*(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. +.PP +\fICan I switch the fonts at runtime?\fR +.IX Subsection "Can I switch the fonts at runtime?" +.PP +Yes, using an escape sequence. Try something like this, which has the same +effect as using the \f(CW\*(C`\-fn\*(C'\fR switch, and takes effect immediately: +.PP +.Vb 1 +\& printf \*(Aq\e33]50;%s\e007\*(Aq "9x15bold,xft:Kochi Gothic" +.Ve +.PP +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. +.PP +You can think of this as a kind of manual \s-1ISO\-2022\s0 switching. +.PP +\fIWhy do italic characters look as if clipped?\fR +.IX Subsection "Why do italic characters look as if clipped?" +.PP +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 its italic face. A workaround might be to +enable freetype autohinting, i.e. like this: +.PP +.Vb 2 +\& URxvt.italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true +\& URxvt.boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true +.Ve +.PP +\fICan I speed up Xft rendering somehow?\fR +.IX Subsection "Can I speed up Xft rendering somehow?" +.PP +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`:antialias=false\*(C'\fR), which saves lots of +memory and also speeds up rendering considerably. +.PP +\fIRxvt-unicode doesn't seem to anti-alias its fonts, what is wrong?\fR +.IX Subsection "Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong?" +.PP +Rxvt-unicode will use whatever you specify as a font. If it needs to +fall back to its 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. +.PP +If you want antialiasing, you have to specify the fonts manually. +.PP +\fIWhat's with this bold/blink stuff?\fR +.IX Subsection "What's with this bold/blink stuff?" +.PP +If no bold colour is set via \f(CW\*(C`colorBD:\*(C'\fR, bold will invert text using the +standard foreground colour. +.PP +For the standard background colour, blinking will actually make +the text blink when compiled with \f(CW\*(C`\-\-enable\-text\-blink\*(C'\fR. Without +\&\f(CW\*(C`\-\-enable\-text\-blink\*(C'\fR, the blink attribute will be ignored. +.PP +On \s-1ANSI\s0 colours, bold/blink attributes are used to set high-intensity +foreground/background colours. +.PP +color0\-7 are the low-intensity colours. +.PP +color8\-15 are the corresponding high-intensity colours. +.PP +\fII don't like the screen colours. How do I change them?\fR +.IX Subsection "I don't like the screen colours. How do I change them?" +.PP +You can change the screen colours at run-time using \fI~/.Xdefaults\fR +resources (or as long-options). +.PP +Here are values that are supposed to resemble a \s-1VGA\s0 screen, +including the murky brown that passes for low-intensity yellow: +.PP +.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 +\& +\& 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 +.PP +And here is a more complete set of non-standard colours. +.PP +.Vb 10 +\& 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 +.PP +They have been described (not by me) as \*(L"pretty girly\*(R". +.PP +\fIWhy do some characters look so much different than others?\fR +.IX Subsection "Why do some characters look so much different than others?" +.PP +See next entry. +.PP +\fIHow does rxvt-unicode choose fonts?\fR +.IX Subsection "How does rxvt-unicode choose fonts?" +.PP +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. +.PP +\&\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/ugly/wrong. Some 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 claims to contain indeed look correct. +.PP +In that case, select a font of your taste and add it to the font list, +e.g.: +.PP +.Vb 1 +\& @@URXVT_NAME@@ \-fn basefont,font2,font3... +.Ve +.PP +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. +.PP +The only limitation is that none of the fonts may be larger than the base +font, as the base font defines the terminal character cell size, which +must be the same due to the way terminals work. +.PP +\fIWhy do some chinese characters look so different than others?\fR +.IX Subsection "Why do some chinese characters look so different than others?" +.PP +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/chinese character, it might choose a japanese font for +display. Subsequent japanese characters will use 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 +chinese characters that are also in the japanese font. +.PP +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. +.PP +In the future it might be possible to switch language 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). +.PP +Until then, you might get away with switching fonts at runtime (see \*(L"Can +I switch the fonts at runtime?\*(R" later in this document). +.PP +\fIHow can I make mplayer display video correctly?\fR +.IX Subsection "How can I make mplayer display video correctly?" +.PP +We are working on it, in the meantime, as a workaround, use something like: +.PP +.Vb 1 +\& @@URXVT_NAME@@ \-b 600 \-geometry 20x1 \-e sh \-c \*(Aqmplayer \-wid $WINDOWID file...\*(Aq +.Ve +.PP +\fIWhy is the cursor now blinking in emacs/vi/...?\fR +.IX Subsection "Why is the cursor now blinking in emacs/vi/...?" +.PP +This is likely caused by your editor/program's use of the \f(CW\*(C`cvvis\*(C'\fR +terminfo capability. Emacs uses it by default, as well as some versions of +vi and possibly other programs. +.PP +In emacs, you can switch that off by adding this to your \f(CW\*(C`.emacs\*(C'\fR file: +.PP +.Vb 1 +\& (setq visible\-cursor nil) +.Ve +.PP +For other programs, if they do not have an option, your have to remove the +\&\f(CW\*(C`cvvis\*(C'\fR capability from the terminfo description. +.PP +When @@URXVT_NAME@@ first added the blinking cursor option, it didn't +add a \f(CW\*(C`cvvis\*(C'\fR capability, which served no purpose before. Version 9.21 +introduced \f(CW\*(C`cvvis\*(C'\fR (and the ability to control blinking independent of +cursor shape) for compatibility with other terminals, which traditionally +use a blinking cursor for \f(CW\*(C`cvvis\*(C'\fR. This also reflects the intent of +programs such as emacs, who expect \f(CW\*(C`cvvis\*(C'\fR to enable a blinking cursor. +.SS "Keyboard, Mouse & User Interaction" +.IX Subsection "Keyboard, Mouse & User Interaction" +\fIThe new selection selects pieces that are too big, how can I select single words?\fR +.IX Subsection "The new selection selects pieces that are too big, how can I select single words?" +.PP +If you want to select e.g. alphanumeric words, you can use the following +setting: +.PP +.Vb 1 +\& URxvt.selection.pattern\-0: ([[:word:]]+) +.Ve +.PP +If you click more than twice, the selection will be extended +more and more. +.PP +To get a selection that is very similar to the old code, try this pattern: +.PP +.Vb 1 +\& URxvt.selection.pattern\-0: ([^"&\*(Aq()*,;<=>?@[\e\e\e\e]^\`{|})]+) +.Ve +.PP +Please also note that the \fILeftClick Shift-LeftClick\fR combination also +selects words like the old code. +.PP +\fII don't like the new selection/popups/hotkeys/perl, how do I change/disable it?\fR +.IX Subsection "I don't like the new selection/popups/hotkeys/perl, how do I change/disable it?" +.PP +You can disable the perl extension completely by setting the +\&\fBperl-ext-common\fR resource to the empty string, which also keeps +rxvt-unicode from initialising perl, saving memory. +.PP +If you only want to disable specific features, you first have to +identify which perl extension is responsible. For this, read the section +\&\fB\s-1PREPACKAGED EXTENSIONS\s0\fR in the @@URXVT_NAME@@\fIperl\fR\|(3) manpage. For +example, to disable the \fBselection-popup\fR and \fBoption-popup\fR, specify +this \fBperl-ext-common\fR resource: +.PP +.Vb 1 +\& URxvt.perl\-ext\-common: default,\-selection\-popup,\-option\-popup +.Ve +.PP +This will keep the default extensions, but disable the two popup +extensions. Some extensions can also be configured, for example, +scrollback search mode is triggered by \fBM\-s\fR. You can move it to any +other combination by adding a \fBkeysym\fR resource that binds the desired +combination to the \f(CW\*(C`start\*(C'\fR action of \f(CW\*(C`searchable\-scrollback\*(C'\fR and another +one that binds \fBM\-s\fR to the \f(CW\*(C`builtin:\*(C'\fR action: +.PP +.Vb 2 +\& URxvt.keysym.CM\-s: searchable\-scrollback:start +\& URxvt.keysym.M\-s: builtin: +.Ve +.PP +\fIThe cursor moves when selecting text in the current input line, how do I switch this off?\fR +.IX Subsection "The cursor moves when selecting text in the current input line, how do I switch this off?" +.PP +See next entry. +.PP +\fIDuring rlogin/ssh/telnet/etc. sessions, clicking near the cursor outputs strange escape sequences, how do I fix this?\fR +.IX Subsection "During rlogin/ssh/telnet/etc. sessions, clicking near the cursor outputs strange escape sequences, how do I fix this?" +.PP +These are caused by the \f(CW\*(C`readline\*(C'\fR perl extension. Under normal +circumstances, it will move your cursor around when you click into the +line that contains it. It tries hard not to do this at the wrong moment, +but when running a program that doesn't parse cursor movements or in some +cases during rlogin sessions, it fails to detect this properly. +.PP +You can permanently switch this feature off by disabling the \f(CW\*(C`readline\*(C'\fR +extension: +.PP +.Vb 1 +\& URxvt.perl\-ext\-common: default,\-readline +.Ve +.PP +\fIMy numeric keypad acts weird and generates differing output?\fR +.IX Subsection "My numeric keypad acts weird and generates differing output?" +.PP +Some Debian GNU/Linux users seem to have this problem, although no +specific details were reported so far. It is possible that this is caused +by the wrong \f(CW\*(C`TERM\*(C'\fR setting, although the details of whether and how +this can happen are unknown, as \f(CW\*(C`TERM=rxvt\*(C'\fR should offer a compatible +keymap. See the answer to the previous question, and please report if that +helped. +.PP +\fIMy Compose (Multi_key) key is no longer working.\fR +.IX Subsection "My Compose (Multi_key) key is no longer working." +.PP +The most common causes for this are that either your locale is not set +correctly, or you specified a \fBpreeditType\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. +.PP +In this case either do not specify a \fBpreeditType\fR or specify more than +one pre-edit style, such as \fBOverTheSpot,Root,None\fR. +.PP +If it still doesn't work, then maybe your input method doesn't support +compose sequences \- to fall back to the built-in one, make sure you don't +specify an input method via \f(CW\*(C`\-im\*(C'\fR or \f(CW\*(C`XMODIFIERS\*(C'\fR. +.PP +\fII cannot type \f(CI\*(C`Ctrl\-Shift\-2\*(C'\fI to get an \s-1ASCII NUL\s0 character due to \s-1ISO 14755\s0\fR +.IX Subsection "I cannot type Ctrl-Shift-2 to get an ASCII NUL character due to ISO 14755" +.PP +Either try \f(CW\*(C`Ctrl\-2\*(C'\fR alone (it often is mapped to \s-1ASCII NUL\s0 even on +international keyboards) or simply use \s-1ISO 14755\s0 support to your +advantage, typing <Ctrl\-Shift\-0> to get a \s-1ASCII NUL.\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. +.PP +\fIMouse cut/paste suddenly no longer works.\fR +.IX Subsection "Mouse cut/paste suddenly no longer works." +.PP +Make sure that mouse reporting is actually turned off since killing +some editors prematurely may leave it active. I've +heard that tcsh may use mouse reporting unless it is otherwise specified. A +quick check is to see if cut/paste works when the Alt or Shift keys are +pressed. +.PP +\fIWhat's with the strange Backspace/Delete key behaviour?\fR +.IX Subsection "What's with the strange Backspace/Delete key behaviour?" +.PP +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. +.PP +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 and only correct +choice :). +.PP +It is possible to toggle between \f(CW\*(C`^H\*(C'\fR and \f(CW\*(C`^?\*(C'\fR with the \s-1DECBKM\s0 +private mode: +.PP +.Vb 3 +\& # use Backspace = ^H +\& $ stty erase ^H +\& $ printf "\ee[?67h" +\& +\& # use Backspace = ^? +\& $ stty erase ^? +\& $ printf "\ee[?67l" +.Ve +.PP +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. +.PP +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 +(\f(CW\*(C`ESC [ 3 ~\*(C'\fR) and is in the supplied termcap/terminfo. +.PP +Some other Backspace problems: +.PP +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. +.PP +Perhaps someday this will all be resolved in a consistent manner. +.PP +\fII don't like the key-bindings. How do I change them?\fR +.IX Subsection "I don't like the key-bindings. How do I change them?" +.PP +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 keysyms. +.PP +Here's an example for a URxvt session started using \f(CW\*(C`@@URXVT_NAME@@ \-name URxvt\*(C'\fR +.PP +.Vb 8 +\& URxvt.keysym.Prior: \e033[5~ +\& URxvt.keysym.Next: \e033[6~ +\& URxvt.keysym.Home: \e033[7~ +\& URxvt.keysym.End: \e033[8~ +\& URxvt.keysym.Up: \e033[A +\& URxvt.keysym.Down: \e033[B +\& URxvt.keysym.Right: \e033[C +\& URxvt.keysym.Left: \e033[D +.Ve +.PP +See some more examples in the documentation for the \fBkeysym\fR resource. +.PP +\fII'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 map\fR +.IX Subsection "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 map" +.PP +.Vb 6 +\& KP_Insert == Insert +\& F22 == Print +\& F27 == Home +\& F29 == Prior +\& F33 == End +\& F35 == Next +.Ve +.PP +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. +.SS "Terminal Configuration" +.IX Subsection "Terminal Configuration" +\fICan I see a typical configuration?\fR +.IX Subsection "Can I see a typical configuration?" +.PP +The default configuration tries to be xterm-like, which I don't like that +much, but it's least surprise to regular users. +.PP +As a rxvt or rxvt-unicode user, you are practically supposed to invest +time into customising your terminal. To get you started, here is the +author's .Xdefaults entries, with comments on what they do. It's certainly +not \fItypical\fR, but what's typical... +.PP +.Vb 2 +\& URxvt.cutchars: "()*,<>[]{}|\*(Aq +\& URxvt.print\-pipe: cat >/tmp/xxx +.Ve +.PP +These are just for testing stuff. +.PP +.Vb 2 +\& URxvt.imLocale: ja_JP.UTF\-8 +\& URxvt.preeditType: OnTheSpot,None +.Ve +.PP +This tells rxvt-unicode to use a special locale when communicating with +the X Input Method, and also tells it to only use the OnTheSpot pre-edit +type, which requires the \f(CW\*(C`xim\-onthespot\*(C'\fR perl extension but rewards me +with correct-looking fonts. +.PP +.Vb 6 +\& URxvt.perl\-lib: /root/lib/urxvt +\& URxvt.perl\-ext\-common: default,selection\-autotransform,selection\-pastebin,xim\-onthespot,remote\-clipboard +\& URxvt.selection.pattern\-0: ( at .*? line \e\ed+) +\& URxvt.selection.pattern\-1: ^(/[^:]+):\e +\& URxvt.selection\-autotransform.0: s/^([^:[:space:]]+):(\e\ed+):?$/:e \e\eQ$1\e\eE\e\ex0d:$2\e\ex0d/ +\& URxvt.selection\-autotransform.1: s/^ at (.*?) line (\e\ed+)$/:e \e\eQ$1\e\eE\e\ex0d:$2\e\ex0d/ +.Ve +.PP +This is my perl configuration. The first two set the perl library +directory and also tells urxvt to use a large number of extensions. I +develop for myself mostly, so I actually use most of the extensions I +write. +.PP +The selection stuff mainly makes the selection perl-error-message aware +and tells it to convert perl error messages into vi-commands to load the +relevant file and go to the error line number. +.PP +.Vb 2 +\& URxvt.scrollstyle: plain +\& URxvt.secondaryScroll: true +.Ve +.PP +As the documentation says: plain is the preferred scrollbar for the +author. The \f(CW\*(C`secondaryScroll\*(C'\fR configures urxvt to scroll in full-screen +apps, like screen, so lines scrolled out of screen end up in urxvt's +scrollback buffer. +.PP +.Vb 7 +\& URxvt.background: #000000 +\& URxvt.foreground: gray90 +\& URxvt.color7: gray90 +\& URxvt.colorBD: #ffffff +\& URxvt.cursorColor: #e0e080 +\& URxvt.throughColor: #8080f0 +\& URxvt.highlightColor: #f0f0f0 +.Ve +.PP +Some colours. Not sure which ones are being used or even non-defaults, but +these are in my .Xdefaults. Most notably, they set foreground/background +to light gray/black, and also make sure that the colour 7 matches the +default foreground colour. +.PP +.Vb 1 +\& URxvt.underlineColor: yellow +.Ve +.PP +Another colour, makes underline lines look different. Sometimes hurts, but +is mostly a nice effect. +.PP +.Vb 4 +\& URxvt.geometry: 154x36 +\& URxvt.loginShell: false +\& URxvt.meta: ignore +\& URxvt.utmpInhibit: true +.Ve +.PP +Uh, well, should be mostly self-explanatory. By specifying some defaults +manually, I can quickly switch them for testing. +.PP +.Vb 1 +\& URxvt.saveLines: 8192 +.Ve +.PP +A large scrollback buffer is essential. Really. +.PP +.Vb 1 +\& URxvt.mapAlert: true +.Ve +.PP +The only case I use it is for my \s-1IRC\s0 window, which I like to keep +iconified till people msg me (which beeps). +.PP +.Vb 1 +\& URxvt.visualBell: true +.Ve +.PP +The audible bell is often annoying, especially when in a crowd. +.PP +.Vb 1 +\& URxvt.insecure: true +.Ve +.PP +Please don't hack my mutt! Ooops... +.PP +.Vb 1 +\& URxvt.pastableTabs: false +.Ve +.PP +I once thought this is a great idea. +.PP +.Vb 9 +\& 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, \e +\& xft:Bitstream Vera Sans Mono:autohint=true, \e +\& xft:Code2000:antialias=false +\& urxvt.boldFont: \-xos4\-terminus\-bold\-r\-normal\-\-14\-140\-72\-72\-c\-80\-iso8859\-15 +\& urxvt.italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true +\& urxvt.boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true +.Ve +.PP +I wrote rxvt-unicode to be able to specify fonts exactly. So don't be +overwhelmed. A special note: the \f(CW\*(C`9x15bold\*(C'\fR mentioned above is actually +the version from XFree\-3.3, as XFree\-4 replaced it by a totally different +font (different glyphs for \f(CW\*(C`;\*(C'\fR and many other harmless characters), +while the second font is actually the \f(CW\*(C`9x15bold\*(C'\fR from XFree4/XOrg. The +bold version has less chars than the medium version, so I use it for rare +characters, too. When editing sources with vim, I use italic for comments +and other stuff, which looks quite good with Bitstream Vera anti-aliased. +.PP +Terminus is a quite bad font (many very wrong glyphs), but for most of my +purposes, it works, and gives a different look, as my normal (Non-bold) +font is already bold, and I want to see a difference between bold and +normal fonts. +.PP +Please note that I used the \f(CW\*(C`urxvt\*(C'\fR instance name and not the \f(CW\*(C`URxvt\*(C'\fR +class name. That is because I use different configs for different purposes, +for example, my \s-1IRC\s0 window is started with \f(CW\*(C`\-name IRC\*(C'\fR, and uses these +defaults: +.PP +.Vb 9 +\& IRC*title: IRC +\& IRC*geometry: 87x12+535+542 +\& IRC*saveLines: 0 +\& IRC*mapAlert: true +\& IRC*font: suxuseuro +\& IRC*boldFont: suxuseuro +\& IRC*colorBD: white +\& IRC*keysym.M\-C\-1: command:\e033]710;suxuseuro\e007\e033]711;suxuseuro\e007 +\& IRC*keysym.M\-C\-2: command:\e033]710;9x15bold\e007\e033]711;9x15bold\e007 +.Ve +.PP +\&\f(CW\*(C`Alt\-Ctrl\-1\*(C'\fR and \f(CW\*(C`Alt\-Ctrl\-2\*(C'\fR switch between two different font +sizes. \f(CW\*(C`suxuseuro\*(C'\fR allows me to keep an eye (and actually read) +stuff while keeping a very small window. If somebody pastes something +complicated (e.g. japanese), I temporarily switch to a larger font. +.PP +The above is all in my \f(CW\*(C`.Xdefaults\*(C'\fR (I don't use \f(CW\*(C`.Xresources\*(C'\fR nor +\&\f(CW\*(C`xrdb\*(C'\fR). I also have some resources in a separate \f(CW\*(C`.Xdefaults\-hostname\*(C'\fR +file for different hosts, for example, on my main desktop, I use: +.PP +.Vb 5 +\& URxvt.keysym.C\-M\-q: command:\e033[3;5;5t +\& URxvt.keysym.C\-M\-y: command:\e033[3;5;606t +\& URxvt.keysym.C\-M\-e: command:\e033[3;1605;5t +\& URxvt.keysym.C\-M\-c: command:\e033[3;1605;606t +\& URxvt.keysym.C\-M\-p: perl:test +.Ve +.PP +The first for keysym definitions allow me to quickly bring some windows +in the layout I like most. Ion users might start laughing but will stop +immediately when I tell them that I use my own Fvwm2 module for much the +same effect as Ion provides, and I only very rarely use the above key +combinations :\-> +.PP +\fIWhy doesn't rxvt-unicode read my resources?\fR +.IX Subsection "Why doesn't rxvt-unicode read my resources?" +.PP +Well, why, indeed? It does, in a way very similar to other X +applications. Most importantly, this means that if you or your \s-1OS\s0 loads +resources into the X display (the right way to do it), rxvt-unicode will +ignore any resource files in your home directory. It will only read +\&\fI\f(CI$HOME\fI/.Xdefaults\fR when no resources are attached to the display. +.PP +If you have or use an \fI\f(CI$HOME\fI/.Xresources\fR file, chances are that +resources are loaded into your X\-server. In this case, you have to +re-login after every change (or run \fIxrdb \-merge \f(CI$HOME\fI/.Xresources\fR). +.PP +Also consider the form resources have to use: +.PP +.Vb 1 +\& URxvt.resource: value +.Ve +.PP +If you want to use another form (there are lots of different ways of +specifying resources), make sure you understand whether and why it +works. If unsure, use the form above. +.PP +\fIWhen I log-in to another system it tells me about missing terminfo data?\fR +.IX Subsection "When I log-in to another system it tells me about missing terminfo data?" +.PP +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). +.PP +The correct solution for this problem is to install the terminfo, this can +be done by simply installing rxvt-unicode on the remote system as well +(in case you have a nice package manager ready), or you can install the +terminfo database manually like this (with ncurses infocmp. works as +user and root): +.PP +.Vb 2 +\& REMOTE=remotesystem.domain +\& infocmp rxvt\-unicode | ssh $REMOTE "mkdir \-p .terminfo && cat >/tmp/ti && tic /tmp/ti" +.Ve +.PP +One some systems you might need to set \f(CW$TERMINFO\fR to the full path of +\&\fI\f(CI$HOME\fI/.terminfo\fR for this to work. +.PP +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. +.PP +If you always want to do this (and are fine with the consequences) you +can either recompile rxvt-unicode with the desired \s-1TERM\s0 value or use a +resource to set it: +.PP +.Vb 1 +\& URxvt.termName: rxvt +.Ve +.PP +If you don't plan to use \fBrxvt\fR (quite common...) you could also replace +the rxvt terminfo file with the rxvt-unicode one and use \f(CW\*(C`TERM=rxvt\*(C'\fR. +.PP +\fInano fails with \*(L"Error opening terminal: rxvt-unicode\*(R"\fR +.IX Subsection "nano fails with Error opening terminal: rxvt-unicode" +.PP +This exceptionally confusing and useless error message is printed by nano +when it can't find the terminfo database. Nothing is wrong with your +terminal, read the previous answer for a solution. +.PP +\fI\f(CI\*(C`tic\*(C'\fI outputs some error when compiling the terminfo entry.\fR +.IX Subsection "tic outputs some error when compiling the terminfo entry." +.PP +Most likely it's the empty definition for \f(CW\*(C`enacs=\*(C'\fR. Just replace it by +\&\f(CW\*(C`enacs=\eE[0@\*(C'\fR and try again. +.PP +\fI\f(CI\*(C`bash\*(C'\fI's readline does not work correctly under @@URXVT_NAME@@.\fR +.IX Subsection "bash's readline does not work correctly under @@URXVT_NAME@@." +.PP +See next entry. +.PP +\fII need a termcap file entry.\fR +.IX Subsection "I need a termcap file entry." +.PP +One reason you might want this is that some distributions or operating +systems still compile some programs using the long-obsoleted termcap +library (Fedora's bash is one example) and rely on a termcap entry +for \f(CW\*(C`rxvt\-unicode\*(C'\fR. +.PP +You could use rxvt's termcap entry with reasonable results in many cases. +You can also create a termcap entry by using terminfo's infocmp program +like this: +.PP +.Vb 1 +\& infocmp \-C rxvt\-unicode +.Ve +.PP +Or you could use the termcap entry in doc/etc/rxvt\-unicode.termcap, +generated by the command above. +.PP +\fIWhy does \f(CI\*(C`ls\*(C'\fI no longer have coloured output?\fR +.IX Subsection "Why does ls no longer have coloured output?" +.PP +The \f(CW\*(C`ls\*(C'\fR in the \s-1GNU\s0 coreutils unfortunately doesn't use terminfo to +decide whether a terminal has colour, but uses its own configuration +file. Needless to say, \f(CW\*(C`rxvt\-unicode\*(C'\fR is not in its default file (among +with most other terminals supporting colour). Either add: +.PP +.Vb 1 +\& TERM rxvt\-unicode +.Ve +.PP +to \f(CW\*(C`/etc/DIR_COLORS\*(C'\fR or simply add: +.PP +.Vb 1 +\& alias ls=\*(Aqls \-\-color=auto\*(Aq +.Ve +.PP +to your \f(CW\*(C`.profile\*(C'\fR or \f(CW\*(C`.bashrc\*(C'\fR. +.PP +\fIWhy doesn't vim/emacs etc. use the 88 colour mode?\fR +.IX Subsection "Why doesn't vim/emacs etc. use the 88 colour mode?" +.PP +See next entry. +.PP +\fIWhy doesn't vim/emacs etc. make use of italic?\fR +.IX Subsection "Why doesn't vim/emacs etc. make use of italic?" +.PP +See next entry. +.PP +\fIWhy are the secondary screen-related options not working properly?\fR +.IX Subsection "Why are the secondary screen-related options not working properly?" +.PP +Make sure you are using \f(CW\*(C`TERM=rxvt\-unicode\*(C'\fR. Some pre-packaged +distributions 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 +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). +.SS "Encoding / Locale / Input Method Issues" +.IX Subsection "Encoding / Locale / Input Method Issues" +\fIRxvt-unicode does not seem to understand the selected encoding?\fR +.IX Subsection "Rxvt-unicode does not seem to understand the selected encoding?" +.PP +See next entry. +.PP +\fIUnicode does not seem to work?\fR +.IX Subsection "Unicode does not seem to work?" +.PP +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. +.PP +Rxvt-unicode must be started with the same \f(CW\*(C`LC_CTYPE\*(C'\fR setting as the +programs running in it. 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 something else, e.g. \f(CW\*(C`en_GB.UTF\-8\*(C'\fR. Needless to say, this is +not going to work, and is the most common cause for problems. +.PP +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. +.PP +.Vb 1 +\& printf \*(Aq\e33]701;%s\e007\*(Aq "$LC_CTYPE" # $LANG or $LC_ALL are worth a try, too +.Ve +.PP +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 (also, \f(CW\*(C`perl \-e0\*(C'\fR can be used to check locale settings, as +it will complain loudly if it cannot set the locale). If it displays something +like: +.PP +.Vb 1 +\& locale: Cannot set LC_CTYPE to default locale: ... +.Ve +.PP +Then the locale you specified is not supported on your system. +.PP +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 :( +.PP +\fIHow does rxvt-unicode determine the encoding to use?\fR +.IX Subsection "How does rxvt-unicode determine the encoding to use?" +.PP +See next entry. +.PP +\fIIs there an option to switch encodings?\fR +.IX Subsection "Is there an option to switch encodings?" +.PP +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. +.PP +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. Applications not using +that info will have problems (for example, \f(CW\*(C`xterm\*(C'\fR gets the width of +characters wrong as it uses its own, locale-independent table under all +locales). +.PP +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. +.PP +Unfortunately, there is no system-independent way to select locales, nor +is there a standard on how locale specifiers will look like. +.PP +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. +.PP +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 normally same to +rxvt-unicode. +.PP +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. +.PP +\fICan I switch locales at runtime?\fR +.IX Subsection "Can I switch locales at runtime?" +.PP +Yes, using an escape sequence. Try something like this, which sets +rxvt-unicode's idea of \f(CW\*(C`LC_CTYPE\*(C'\fR. +.PP +.Vb 1 +\& printf \*(Aq\e33]701;%s\e007\*(Aq ja_JP.SJIS +.Ve +.PP +See also the previous answer. +.PP +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 it +(e.g. \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: +.PP +.Vb 3 +\& printf \*(Aq\e33]701;%s\e007\*(Aq ja_JP.SJIS +\& xjdic \-js +\& printf \*(Aq\e33]701;%s\e007\*(Aq de_DE.UTF\-8 +.Ve +.PP +You can also use xterm's \f(CW\*(C`luit\*(C'\fR program, which usually works fine, except +for some locales where character width differs between program\- and +rxvt-unicode-locales. +.PP +\fII have problems getting my input method working.\fR +.IX Subsection "I have problems getting my input method working." +.PP +Try a search engine, as this is slightly different for every input method server. +.PP +Here is a checklist: +.IP "\- Make sure your locale \fIand\fR the imLocale are supported on your \s-1OS.\s0" 4 +.IX Item "- Make sure your locale and the imLocale are supported on your OS." +Try \f(CW\*(C`locale \-a\*(C'\fR or check the documentation for your \s-1OS.\s0 +.IP "\- Make sure your locale or imLocale matches a locale supported by your \s-1XIM.\s0" 4 +.IX Item "- Make sure your locale or imLocale matches a locale supported by your XIM." +For example, \fBkinput2\fR does not support \s-1UTF\-8\s0 locales, you should use +\&\f(CW\*(C`ja_JP.EUC\-JP\*(C'\fR or equivalent. +.IP "\- Make sure your \s-1XIM\s0 server is actually running." 4 +.IX Item "- Make sure your XIM server is actually running." +.PD 0 +.ie n .IP "\- Make sure the ""XMODIFIERS"" environment variable is set correctly when \fIstarting\fR rxvt-unicode." 4 +.el .IP "\- Make sure the \f(CWXMODIFIERS\fR environment variable is set correctly when \fIstarting\fR rxvt-unicode." 4 +.IX Item "- Make sure the XMODIFIERS environment variable is set correctly when starting rxvt-unicode." +.PD +When you want to use e.g. \fBkinput2\fR, it must be set to +\&\f(CW\*(C`@im=kinput2\*(C'\fR. For \fBscim\fR, use \f(CW\*(C`@im=SCIM\*(C'\fR. You can see what input +method servers are running with this command: +.Sp +.Vb 1 +\& xprop \-root XIM_SERVERS +.Ve +.PP +\fIMy input method wants <some encoding> but I want \s-1UTF\-8,\s0 what can I do?\fR +.IX Subsection "My input method wants <some encoding> but I want UTF-8, what can I do?" +.PP +You can specify separate locales for the input method and the rest of the +terminal, using the resource \f(CW\*(C`imlocale\*(C'\fR: +.PP +.Vb 1 +\& URxvt.imlocale: ja_JP.EUC\-JP +.Ve +.PP +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, depending on your Xlib +version, you may 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. +.PP +\fIRxvt-unicode crashes when the X Input Method changes or exits.\fR +.IX Subsection "Rxvt-unicode crashes when the X Input Method changes or exits." +.PP +Unfortunately, this is unavoidable, as the \s-1XIM\s0 protocol is racy by +design. Applications can avoid some crashes at the expense of memory +leaks, and Input Methods can avoid some crashes by careful ordering at +exit time. \fBkinput2\fR (and derived input methods) generally succeeds, +while \fB\s-1SCIM\s0\fR (or similar input methods) fails. In the end, however, +crashes cannot be completely avoided even if both sides cooperate. +.PP +So the only workaround is not to kill your Input Method Servers. +.SS "Operating Systems / Package Maintaining" +.IX Subsection "Operating Systems / Package Maintaining" +\fII am maintaining rxvt-unicode for distribution/OS \s-1XXX,\s0 any recommendation?\fR +.IX Subsection "I am maintaining rxvt-unicode for distribution/OS XXX, any recommendation?" +.PP +You should build one binary with the default options. \fIconfigure\fR +now enables most useful options, and the trend goes to making them +runtime-switchable, too, so there is usually no drawback to enabling them, +except higher disk and possibly memory usage. The perl interpreter should +be enabled, as important functionality (menus, selection, likely more in +the future) depends on it. +.PP +You should not overwrite the \f(CW\*(C`perl\-ext\-common\*(C'\fR and \f(CW\*(C`perl\-ext\*(C'\fR resources +system-wide (except maybe with \f(CW\*(C`defaults\*(C'\fR). This will result in useful +behaviour. If your distribution aims at low memory, add an empty +\&\f(CW\*(C`perl\-ext\-common\*(C'\fR resource to the app-defaults file. This will keep the +perl interpreter disabled until the user enables it. +.PP +If you can/want build more binaries, I recommend building a minimal +one with \f(CW\*(C`\-\-disable\-everything\*(C'\fR (very useful) and a maximal one with +\&\f(CW\*(C`\-\-enable\-everything\*(C'\fR (less useful, it will be very big due to a lot of +encodings built-in that increase download times and are rarely used). +.PP +\fII need to make it setuid/setgid to support utmp/ptys on my \s-1OS,\s0 is this safe?\fR +.IX Subsection "I need to make it setuid/setgid to support utmp/ptys on my OS, is this safe?" +.PP +It should be, starting with release 7.1. You are encouraged to properly +install urxvt with privileges necessary for your \s-1OS\s0 now. +.PP +When rxvt-unicode detects that it runs setuid or setgid, it will fork +into a helper process for privileged operations (pty handling on some +systems, utmp/wtmp/lastlog handling on others) and drop privileges +immediately. This is much safer than most other terminals that keep +privileges while running (but is more relevant to urxvt, as it contains +things as perl interpreters, which might be \*(L"helpful\*(R" to attackers). +.PP +This forking is done as the very first within \fImain()\fR, which is very early +and reduces possible bugs to initialisation code run before \fImain()\fR, or +things like the dynamic loader of your system, which should result in very +little risk. +.PP +\fII am on FreeBSD and rxvt-unicode does not seem to work at all.\fR +.IX Subsection "I am on FreeBSD and rxvt-unicode does not seem to work at all." +.PP +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, +whether it defines the symbol or not. \f(CW\*(C`_\|_STDC_ISO_10646_\|_\*(C'\fR requires that +\&\fBwchar_t\fR is represented as unicode. +.PP +As you might have guessed, FreeBSD does neither define this symbol nor +does it support it. Instead, it uses its own internal representation of +\&\fBwchar_t\fR. This is, of course, completely fine with respect to standards. +.PP +However, that means rxvt-unicode only works in \f(CW\*(C`POSIX\*(C'\fR, \f(CW\*(C`ISO\-8859\-1\*(C'\fR and +\&\f(CW\*(C`UTF\-8\*(C'\fR locales under FreeBSD (which all use Unicode as \fBwchar_t\fR). +.PP +\&\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. +.PP +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). +.PP +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 for them :) +.PP +\fIHow can I use rxvt-unicode under cygwin?\fR +.IX Subsection "How can I use rxvt-unicode under cygwin?" +.PP +rxvt-unicode should compile and run out of the box on cygwin, using +the X11 libraries that come with cygwin. libW11 emulation is no +longer supported (and makes no sense, either, as it only supported a +single font). I recommend starting the X\-server in \f(CW\*(C`\-multiwindow\*(C'\fR or +\&\f(CW\*(C`\-rootless\*(C'\fR mode instead, which will result in similar look&feel as the +old libW11 emulation. +.PP +At the time of this writing, cygwin didn't seem to support any multi-byte +encodings (you might try \f(CW\*(C`LC_CTYPE=C\-UTF\-8\*(C'\fR), so you are likely limited +to 8\-bit encodings. +.PP +\fICharacter widths are not correct.\fR +.IX Subsection "Character widths are not correct." +.PP +urxvt uses the system wcwidth function to know the information about +the width of characters, so on systems with incorrect locale data you +will likely get bad results. Two notorious examples are Solaris 9, +where single-width characters like U+2514 are reported as double-width, +and Darwin 8, where combining chars are reported having width 1. +.PP +The solution is to upgrade your system or switch to a better one. A +possibly working workaround is to use a wcwidth implementation like +.PP +http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c +.SH "RXVT-UNICODE TECHNICAL REFERENCE" +.IX Header "RXVT-UNICODE TECHNICAL REFERENCE" +The rest of this document describes various technical aspects of +\&\fBrxvt-unicode\fR. First the description of supported command sequences, +followed by pixmap support and last by a description of all features +selectable at \f(CW\*(C`configure\*(C'\fR time. +.SS "Definitions" +.IX Subsection "Definitions" +.ie n .IP "\fB\fB""c""\fB\fR" 4 +.el .IP "\fB\f(CBc\fB\fR" 4 +.IX Item "c" +The literal character c (potentially a multi-byte character). +.ie n .IP "\fB\fB""C""\fB\fR" 4 +.el .IP "\fB\f(CBC\fB\fR" 4 +.IX Item "C" +A single (required) character. +.ie n .IP "\fB\fB""Ps""\fB\fR" 4 +.el .IP "\fB\f(CBPs\fB\fR" 4 +.IX Item "Ps" +A single (usually optional) numeric parameter, composed of one or more +digits. +.ie n .IP "\fB\fB""Pm""\fB\fR" 4 +.el .IP "\fB\f(CBPm\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""Pt""\fB\fR" 4 +.el .IP "\fB\f(CBPt\fB\fR" 4 +.IX Item "Pt" +A text parameter composed of printable characters. +.SS "Values" +.IX Subsection "Values" +.ie n .IP "\fB\fB""ENQ""\fB\fR" 4 +.el .IP "\fB\f(CBENQ\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""BEL""\fB\fR" 4 +.el .IP "\fB\f(CBBEL\fB\fR" 4 +.IX Item "BEL" +Bell (Ctrl-G) +.ie n .IP "\fB\fB""BS""\fB\fR" 4 +.el .IP "\fB\f(CBBS\fB\fR" 4 +.IX Item "BS" +Backspace (Ctrl-H) +.ie n .IP "\fB\fB""TAB""\fB\fR" 4 +.el .IP "\fB\f(CBTAB\fB\fR" 4 +.IX Item "TAB" +Horizontal Tab (\s-1HT\s0) (Ctrl-I) +.ie n .IP "\fB\fB""LF""\fB\fR" 4 +.el .IP "\fB\f(CBLF\fB\fR" 4 +.IX Item "LF" +Line Feed or New Line (\s-1NL\s0) (Ctrl-J) +.ie n .IP "\fB\fB""VT""\fB\fR" 4 +.el .IP "\fB\f(CBVT\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""FF""\fB\fR" 4 +.el .IP "\fB\f(CBFF\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""CR""\fB\fR" 4 +.el .IP "\fB\f(CBCR\fB\fR" 4 +.IX Item "CR" +Carriage Return (Ctrl-M) +.ie n .IP "\fB\fB""SO""\fB\fR" 4 +.el .IP "\fB\f(CBSO\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""SI""\fB\fR" 4 +.el .IP "\fB\f(CBSI\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""SP""\fB\fR" 4 +.el .IP "\fB\f(CBSP\fB\fR" 4 +.IX Item "SP" +Space Character +.SS "Escape Sequences" +.IX Subsection "Escape Sequences" +.ie n .IP "\fB\fB""ESC # 8""\fB\fR" 4 +.el .IP "\fB\f(CBESC # 8\fB\fR" 4 +.IX Item "ESC # 8" +\&\s-1DEC\s0 Screen Alignment Test (\s-1DECALN\s0) +.ie n .IP "\fB\fB""ESC 7""\fB\fR" 4 +.el .IP "\fB\f(CBESC 7\fB\fR" 4 +.IX Item "ESC 7" +Save Cursor (\s-1SC\s0) +.ie n .IP "\fB\fB""ESC 8""\fB\fR" 4 +.el .IP "\fB\f(CBESC 8\fB\fR" 4 +.IX Item "ESC 8" +Restore Cursor +.ie n .IP "\fB\fB""ESC =""\fB\fR" 4 +.el .IP "\fB\f(CBESC =\fB\fR" 4 +.IX Item "ESC =" +Application Keypad (\s-1SMKX\s0). See also next sequence. +.ie n .IP "\fB\fB""ESC >""\fB\fR" 4 +.el .IP "\fB\f(CBESC >\fB\fR" 4 +.IX Item "ESC >" +Normal Keypad (\s-1RMKX\s0) +.Sp +\&\fBNote:\fR numbers or control functions are generated by the numeric +keypad in normal or application mode, respectively (see Key Codes). +.ie n .IP "\fB\fB""ESC D""\fB\fR" 4 +.el .IP "\fB\f(CBESC D\fB\fR" 4 +.IX Item "ESC D" +Index (\s-1IND\s0) +.ie n .IP "\fB\fB""ESC E""\fB\fR" 4 +.el .IP "\fB\f(CBESC E\fB\fR" 4 +.IX Item "ESC E" +Next Line (\s-1NEL\s0) +.ie n .IP "\fB\fB""ESC H""\fB\fR" 4 +.el .IP "\fB\f(CBESC H\fB\fR" 4 +.IX Item "ESC H" +Tab Set (\s-1HTS\s0) +.ie n .IP "\fB\fB""ESC M""\fB\fR" 4 +.el .IP "\fB\f(CBESC M\fB\fR" 4 +.IX Item "ESC M" +Reverse Index (\s-1RI\s0) +.ie n .IP "\fB\fB""ESC N""\fB\fR" 4 +.el .IP "\fB\f(CBESC N\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""ESC O""\fB\fR" 4 +.el .IP "\fB\f(CBESC O\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""ESC Z""\fB\fR" 4 +.el .IP "\fB\f(CBESC Z\fB\fR" 4 +.IX Item "ESC Z" +Obsolete form of returns: \fB\f(CB\*(C`ESC [ ? 1 ; 2 C\*(C'\fB\fR \fIrxvt-unicode compile-time option\fR +.ie n .IP "\fB\fB""ESC c""\fB\fR" 4 +.el .IP "\fB\f(CBESC c\fB\fR" 4 +.IX Item "ESC c" +Full reset (\s-1RIS\s0) +.ie n .IP "\fB\fB""ESC n""\fB\fR" 4 +.el .IP "\fB\f(CBESC n\fB\fR" 4 +.IX Item "ESC n" +Invoke the G2 Character Set (\s-1LS2\s0) +.ie n .IP "\fB\fB""ESC o""\fB\fR" 4 +.el .IP "\fB\f(CBESC o\fB\fR" 4 +.IX Item "ESC o" +Invoke the G3 Character Set (\s-1LS3\s0) +.ie n .IP "\fB\fB""ESC ( C""\fB\fR" 4 +.el .IP "\fB\f(CBESC ( C\fB\fR" 4 +.IX Item "ESC ( C" +Designate G0 Character Set (\s-1ISO 2022\s0), see below for values of \f(CW\*(C`C\*(C'\fR. +.ie n .IP "\fB\fB""ESC ) C""\fB\fR" 4 +.el .IP "\fB\f(CBESC ) C\fB\fR" 4 +.IX Item "ESC ) C" +Designate G1 Character Set (\s-1ISO 2022\s0), see below for values of \f(CW\*(C`C\*(C'\fR. +.ie n .IP "\fB\fB""ESC * C""\fB\fR" 4 +.el .IP "\fB\f(CBESC * C\fB\fR" 4 +.IX Item "ESC * C" +Designate G2 Character Set (\s-1ISO 2022\s0), see below for values of \f(CW\*(C`C\*(C'\fR. +.ie n .IP "\fB\fB""ESC + C""\fB\fR" 4 +.el .IP "\fB\f(CBESC + C\fB\fR" 4 +.IX Item "ESC + C" +Designate G3 Character Set (\s-1ISO 2022\s0), see below for values of \f(CW\*(C`C\*(C'\fR. +.ie n .IP "\fB\fB""ESC $ C""\fB\fR" 4 +.el .IP "\fB\f(CBESC $ 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" +.SS "\s-1CSI \s0(Command Sequence Introducer) Sequences" +.IX Subsection "CSI (Command Sequence Introducer) Sequences" +.ie n .IP "\fB\fB""ESC [ Ps @""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps @\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""ESC [ Ps A""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps A\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""ESC [ Ps B""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps B\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""ESC [ Ps C""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps 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""ESC [ Ps D""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps D\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""ESC [ Ps E""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps E\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""ESC [ Ps F""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps F\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""ESC [ Ps G""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps G\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""ESC [ Ps;Ps H""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps;Ps H\fB\fR" 4 +.IX Item "ESC [ Ps;Ps H" +Cursor Position [row;column] [default: 1;1] (\s-1CUP\s0) +.ie n .IP "\fB\fB""ESC [ Ps I""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps I\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""ESC [ Ps J""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps J\fB\fR" 4 +.IX Item "ESC [ Ps J" +Erase in Display (\s-1ED\s0) +.TS +l l . +Ps = 0 Clear Right and Below (default) +Ps = 1 Clear Left and Above +Ps = 2 Clear All +.TE +.ie n .IP "\fB\fB""ESC [ Ps K""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps K\fB\fR" 4 +.IX Item "ESC [ Ps K" +Erase in Line (\s-1EL\s0) +.TS +l l l l . +Ps = 0 Clear to Right (default) +Ps = 1 Clear to Left +Ps = 2 Clear All +Ps = 3 Like Ps = 0, but is ignored when wrapped + (@@RXVT_NAME@@ extension) +.TE +.ie n .IP "\fB\fB""ESC [ Ps L""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps L\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""ESC [ Ps M""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps M\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""ESC [ Ps P""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps P\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""ESC [ Ps;Ps;Ps;Ps;Ps T""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps;Ps;Ps;Ps;Ps T\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""ESC [ Ps W""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps W\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""ESC [ Ps X""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps X\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""ESC [ Ps Z""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps Z\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""ESC [ Ps \*(Aq""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps \*(Aq\fB\fR" 4 +.IX Item "ESC [ Ps " +See \fB\f(CB\*(C`ESC [ Ps G\*(C'\fB\fR +.ie n .IP "\fB\fB""ESC [ Ps a""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps a\fB\fR" 4 +.IX Item "ESC [ Ps a" +See \fB\f(CB\*(C`ESC [ Ps C\*(C'\fB\fR +.ie n .IP "\fB\fB""ESC [ Ps c""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps 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 ; 2 c\*(C'\fB\fR (``I am a \s-1VT100\s0 with Advanced Video +Option'') +.ie n .IP "\fB\fB""ESC [ Ps d""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps d\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""ESC [ Ps e""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps e\fB\fR" 4 +.IX Item "ESC [ Ps e" +See \fB\f(CB\*(C`ESC [ Ps A\*(C'\fB\fR +.ie n .IP "\fB\fB""ESC [ Ps;Ps f""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps;Ps f\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""ESC [ Ps g""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps g\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""ESC [ Pm h""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Pm h\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""ESC [ Ps i""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps i\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""ESC [ Pm l""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Pm l\fB\fR" 4 +.IX Item "ESC [ Pm l" +Reset Mode (\s-1RM\s0) +.RS 4 +.ie n .IP "\fB\fB""Ps = 4""\fB\fR" 4 +.el .IP "\fB\f(CBPs = 4\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""Ps = 20""\fB\fR (partially implemented)" 4 +.el .IP "\fB\f(CBPs = 20\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""ESC [ Pm m""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Pm m\fB\fR" 4 +.IX Item "ESC [ Pm m" +.PD +Character Attributes (\s-1SGR\s0) +.TS +l l . +Pm = 0 Normal (default) +Pm = 1 / 21 On / Off Bold (bright fg) +Pm = 3 / 23 On / Off Italic +Pm = 4 / 24 On / Off Underline +Pm = 5 / 25 On / Off Slow Blink (bright bg) +Pm = 6 / 26 On / Off Rapid Blink (bright bg) +Pm = 7 / 27 On / Off Inverse +Pm = 8 / 27 On / Off Invisible (NYI) +Pm = 30 / 40 fg/bg Black +Pm = 31 / 41 fg/bg Red +Pm = 32 / 42 fg/bg Green +Pm = 33 / 43 fg/bg Yellow +Pm = 34 / 44 fg/bg Blue +Pm = 35 / 45 fg/bg Magenta +Pm = 36 / 46 fg/bg Cyan +Pm = 37 / 47 fg/bg White +Pm = 38;5 / 48;5 set fg/bg to colour #m (ISO 8613-6) +Pm = 39 / 49 fg/bg Default +Pm = 90 / 100 fg/bg Bright Black +Pm = 91 / 101 fg/bg Bright Red +Pm = 92 / 102 fg/bg Bright Green +Pm = 93 / 103 fg/bg Bright Yellow +Pm = 94 / 104 fg/bg Bright Blue +Pm = 95 / 105 fg/bg Bright Magenta +Pm = 96 / 106 fg/bg Bright Cyan +Pm = 97 / 107 fg/bg Bright White +Pm = 99 / 109 fg/bg Bright Default +.TE +.ie n .IP "\fB\fB""ESC [ Ps n""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps n\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""ESC [ Ps SP q""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps SP q\fB\fR" 4 +.IX Item "ESC [ Ps SP q" +Set Cursor Style (\s-1DECSCUSR\s0) +.TS +l l . +Ps = 0 Blink Block +Ps = 1 Blink Block +Ps = 2 Steady Block +Ps = 3 Blink Underline +Ps = 4 Steady Underline +Ps = 5 Blink Bar (XTerm) +Ps = 6 Steady Bar (XTerm) +.TE +.ie n .IP "\fB\fB""ESC [ Ps;Ps r""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps;Ps r\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""ESC [ s""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ s\fB\fR" 4 +.IX Item "ESC [ s" +Save Cursor (\s-1SC\s0) +.ie n .IP "\fB\fB""ESC [ Ps;Pt t""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps;Pt t\fB\fR" 4 +.IX Item "ESC [ Ps;Pt t" +Window Operations +.TS +l l . +Ps = 1 Deiconify (map) window +Ps = 2 Iconify window +Ps = 3 ESC [ 3 ; X ; Y t Move window to (X|Y) +Ps = 4 ESC [ 4 ; H ; W t Resize to WxH pixels +Ps = 5 Raise window +Ps = 6 Lower window +Ps = 7 Refresh screen once +Ps = 8 ESC [ 8 ; R ; C t Resize to R rows and C columns +Ps = 11 Report window state (responds with Ps = 1 or Ps = 2) +Ps = 13 Report window position (responds with Ps = 3) +Ps = 14 Report window pixel size (responds with Ps = 4) +Ps = 18 Report window text size (responds with Ps = 7) +Ps = 19 Currently the same as Ps = 18, but responds with Ps = 9 +Ps = 20 Reports icon label (ESC ] L NAME \234) +Ps = 21 Reports window title (ESC ] l NAME \234) +Ps = 24.. Set window height to Ps rows +.TE +.ie n .IP "\fB\fB""ESC [ u""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ u\fB\fR" 4 +.IX Item "ESC [ u" +Restore Cursor +.ie n .IP "\fB\fB""ESC [ Ps x""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ Ps x\fB\fR" 4 +.IX Item "ESC [ Ps x" +Request Terminal Parameters (\s-1DECREQTPARM\s0) +.PP + +.IX Xref "PrivateModes" +.SS "\s-1DEC\s0 Private Modes" +.IX Subsection "DEC Private Modes" +.ie n .IP "\fB\fB""ESC [ ? Pm h""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ ? Pm h\fB\fR" 4 +.IX Item "ESC [ ? Pm h" +\&\s-1DEC\s0 Private Mode Set (\s-1DECSET\s0) +.ie n .IP "\fB\fB""ESC [ ? Pm l""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ ? Pm l\fB\fR" 4 +.IX Item "ESC [ ? Pm l" +\&\s-1DEC\s0 Private Mode Reset (\s-1DECRST\s0) +.ie n .IP "\fB\fB""ESC [ ? Pm r""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ ? Pm r\fB\fR" 4 +.IX Item "ESC [ ? Pm r" +Restore previously saved \s-1DEC\s0 Private Mode Values. +.ie n .IP "\fB\fB""ESC [ ? Pm s""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ ? Pm s\fB\fR" 4 +.IX Item "ESC [ ? Pm s" +Save \s-1DEC\s0 Private Mode Values. +.ie n .IP "\fB\fB""ESC [ ? Pm t""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ ? Pm t\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""Pm = 1""\fB\fR (\s-1DECCKM\s0)" 4 +.el .IP "\fB\f(CBPm = 1\fB\fR (\s-1DECCKM\s0)" 4 +.IX Item "Pm = 1 (DECCKM)" +.TS +l l . +h Application Cursor Keys +l Normal Cursor Keys +.TE +.PD 0 +.ie n .IP "\fB\fB""Pm = 2""\fB\fR (\s-1DECANM\s0)" 4 +.el .IP "\fB\f(CBPm = 2\fB\fR (\s-1DECANM\s0)" 4 +.IX Item "Pm = 2 (DECANM)" +.TS +l l . +h Enter VT52 mode +l Enter VT52 mode +.TE +.ie n .IP "\fB\fB""Pm = 3""\fB\fR (\s-1DECCOLM\s0)" 4 +.el .IP "\fB\f(CBPm = 3\fB\fR (\s-1DECCOLM\s0)" 4 +.IX Item "Pm = 3 (DECCOLM)" +.TS +l l . +h 132 Column Mode +l 80 Column Mode +.TE +.ie n .IP "\fB\fB""Pm = 4""\fB\fR (\s-1DECSCLM\s0)" 4 +.el .IP "\fB\f(CBPm = 4\fB\fR (\s-1DECSCLM\s0)" 4 +.IX Item "Pm = 4 (DECSCLM)" +.TS +l l . +h Smooth (Slow) Scroll +l Jump (Fast) Scroll +.TE +.ie n .IP "\fB\fB""Pm = 5""\fB\fR (\s-1DECSCNM\s0)" 4 +.el .IP "\fB\f(CBPm = 5\fB\fR (\s-1DECSCNM\s0)" 4 +.IX Item "Pm = 5 (DECSCNM)" +.TS +l l . +h Reverse Video +l Normal Video +.TE +.ie n .IP "\fB\fB""Pm = 6""\fB\fR (\s-1DECOM\s0)" 4 +.el .IP "\fB\f(CBPm = 6\fB\fR (\s-1DECOM\s0)" 4 +.IX Item "Pm = 6 (DECOM)" +.TS +l l . +h Origin Mode +l Normal Cursor Mode +.TE +.ie n .IP "\fB\fB""Pm = 7""\fB\fR (\s-1DECAWM\s0)" 4 +.el .IP "\fB\f(CBPm = 7\fB\fR (\s-1DECAWM\s0)" 4 +.IX Item "Pm = 7 (DECAWM)" +.TS +l l . +h Wraparound Mode +l No Wraparound Mode +.TE +.ie n .IP "\fB\fB""Pm = 8""\fB\fR (\s-1DECARM\s0) \fIunimplemented\fR" 4 +.el .IP "\fB\f(CBPm = 8\fB\fR (\s-1DECARM\s0) \fIunimplemented\fR" 4 +.IX Item "Pm = 8 (DECARM) unimplemented" +.TS +l l . +h Auto-repeat Keys +l No Auto-repeat Keys +.TE +.ie n .IP "\fB\fB""Pm = 9""\fB\fR (X10 XTerm mouse protocol)" 4 +.el .IP "\fB\f(CBPm = 9\fB\fR (X10 XTerm mouse protocol)" 4 +.IX Item "Pm = 9 (X10 XTerm mouse protocol)" +.TS +l l . +h Send Mouse X & Y on button press. +l No mouse reporting. +.TE +.ie n .IP "\fB\fB""Pm = 12""\fB\fR (\s-1AT&T 610,\s0 XTerm)" 4 +.el .IP "\fB\f(CBPm = 12\fB\fR (\s-1AT&T 610,\s0 XTerm)" 4 +.IX Item "Pm = 12 (AT&T 610, XTerm)" +.TS +l l . +h Blinking cursor (cvvis) +l Steady cursor (cnorm) +.TE +.ie n .IP "\fB\fB""Pm = 25""\fB\fR (\s-1DECTCEM\s0)" 4 +.el .IP "\fB\f(CBPm = 25\fB\fR (\s-1DECTCEM\s0)" 4 +.IX Item "Pm = 25 (DECTCEM)" +.TS +l l . +h Visible cursor {cnorm/cvvis} +l Invisible cursor {civis} +.TE +.ie n .IP "\fB\fB""Pm = 30""\fB\fR (\fBrxvt\fR)" 4 +.el .IP "\fB\f(CBPm = 30\fB\fR (\fBrxvt\fR)" 4 +.IX Item "Pm = 30 (rxvt)" +.TS +l l . +h scrollBar visible +l scrollBar invisible +.TE +.ie n .IP "\fB\fB""Pm = 35""\fB\fR (\fBrxvt\fR)" 4 +.el .IP "\fB\f(CBPm = 35\fB\fR (\fBrxvt\fR)" 4 +.IX Item "Pm = 35 (rxvt)" +.TS +l l . +h Allow XTerm Shift+key sequences +l Disallow XTerm Shift+key sequences +.TE +.ie n .IP "\fB\fB""Pm = 38""\fB\fR \fIunimplemented\fR" 4 +.el .IP "\fB\f(CBPm = 38\fB\fR \fIunimplemented\fR" 4 +.IX Item "Pm = 38 unimplemented" +.PD +Enter Tektronix Mode (\s-1DECTEK\s0) +.ie n .IP "\fB\fB""Pm = 40""\fB\fR" 4 +.el .IP "\fB\f(CBPm = 40\fB\fR" 4 +.IX Item "Pm = 40" +.TS +l l . +h Allow 80/132 Mode +l Disallow 80/132 Mode +.TE +.PD 0 +.ie n .IP "\fB\fB""Pm = 44""\fB\fR \fIunimplemented\fR" 4 +.el .IP "\fB\f(CBPm = 44\fB\fR \fIunimplemented\fR" 4 +.IX Item "Pm = 44 unimplemented" +.TS +l l . +h Turn On Margin Bell +l Turn Off Margin Bell +.TE +.ie n .IP "\fB\fB""Pm = 45""\fB\fR \fIunimplemented\fR" 4 +.el .IP "\fB\f(CBPm = 45\fB\fR \fIunimplemented\fR" 4 +.IX Item "Pm = 45 unimplemented" +.TS +l l . +h Reverse-wraparound Mode +l No Reverse-wraparound Mode +.TE +.ie n .IP "\fB\fB""Pm = 46""\fB\fR \fIunimplemented\fR" 4 +.el .IP "\fB\f(CBPm = 46\fB\fR \fIunimplemented\fR" 4 +.IX Item "Pm = 46 unimplemented" +.ie n .IP "\fB\fB""Pm = 47""\fB\fR" 4 +.el .IP "\fB\f(CBPm = 47\fB\fR" 4 +.IX Item "Pm = 47" +.TS +l l . +h Use Alternate Screen Buffer +l Use Normal Screen Buffer +.TE +.PD + +.IX Xref "Priv66" +.ie n .IP "\fB\fB""Pm = 66""\fB\fR (\s-1DECNKM\s0)" 4 +.el .IP "\fB\f(CBPm = 66\fB\fR (\s-1DECNKM\s0)" 4 +.IX Item "Pm = 66 (DECNKM)" +.TS +l l . +h Application Keypad (DECKPAM/DECPAM) == ESC = +l Normal Keypad (DECKPNM/DECPNM) == ESC > +.TE +.PD 0 +.ie n .IP "\fB\fB""Pm = 67""\fB\fR (\s-1DECBKM\s0)" 4 +.el .IP "\fB\f(CBPm = 67\fB\fR (\s-1DECBKM\s0)" 4 +.IX Item "Pm = 67 (DECBKM)" +.TS +l l . +h Backspace key sends BS +l Backspace key sends DEL +.TE +.ie n .IP "\fB\fB""Pm = 1000""\fB\fR (X11 XTerm mouse protocol)" 4 +.el .IP "\fB\f(CBPm = 1000\fB\fR (X11 XTerm mouse protocol)" 4 +.IX Item "Pm = 1000 (X11 XTerm mouse protocol)" +.TS +l l . +h Send Mouse X & Y on button press and release. +l No mouse reporting. +.TE +.ie n .IP "\fB\fB""Pm = 1001""\fB\fR (X11 XTerm) \fIunimplemented\fR" 4 +.el .IP "\fB\f(CBPm = 1001\fB\fR (X11 XTerm) \fIunimplemented\fR" 4 +.IX Item "Pm = 1001 (X11 XTerm) unimplemented" +.TS +l l . +h Use Hilite Mouse Tracking. +l No mouse reporting. +.TE +.ie n .IP "\fB\fB""Pm = 1002""\fB\fR (X11 XTerm cell motion mouse tracking)" 4 +.el .IP "\fB\f(CBPm = 1002\fB\fR (X11 XTerm cell motion mouse tracking)" 4 +.IX Item "Pm = 1002 (X11 XTerm cell motion mouse tracking)" +.TS +l l . +h Send Mouse X & Y on button press and release, and motion with a button pressed. +l No mouse reporting. +.TE +.ie n .IP "\fB\fB""Pm = 1003""\fB\fR (X11 XTerm all motion mouse tracking)" 4 +.el .IP "\fB\f(CBPm = 1003\fB\fR (X11 XTerm all motion mouse tracking)" 4 +.IX Item "Pm = 1003 (X11 XTerm all motion mouse tracking)" +.TS +l l . +h Send Mouse X & Y on button press and release, and motion. +l No mouse reporting. +.TE +.ie n .IP "\fB\fB""Pm = 1004""\fB\fR (X11 XTerm focus in/focus out events) \fIunimplemented\fR" 4 +.el .IP "\fB\f(CBPm = 1004\fB\fR (X11 XTerm focus in/focus out events) \fIunimplemented\fR" 4 +.IX Item "Pm = 1004 (X11 XTerm focus in/focus out events) unimplemented" +.TS +l l . +h Send Mouse focus in/focus out events. +l Don'T send focus events. +.TE +.ie n .IP "\fB\fB""Pm = 1005""\fB\fR (X11 XTerm \s-1UTF\-8\s0 mouse mode) (Compile frills)" 4 +.el .IP "\fB\f(CBPm = 1005\fB\fR (X11 XTerm \s-1UTF\-8\s0 mouse mode) (Compile frills)" 4 +.IX Item "Pm = 1005 (X11 XTerm UTF-8 mouse mode) (Compile frills)" +.PD +Try to avoid this mode, it doesn't work sensibly in non\-UTF\-8 locales. Use +mode \f(CW1015\fR instead. +.Sp +Unlike XTerm, coordinates larger than 2015) will work fine. +.TS +l l . +h Enable mouse coordinates in locale-specific encoding. +l Enable mouse coordinates as binary octets. +.TE +.ie n .IP "\fB\fB""Pm = 1010""\fB\fR (\fBrxvt\fR)" 4 +.el .IP "\fB\f(CBPm = 1010\fB\fR (\fBrxvt\fR)" 4 +.IX Item "Pm = 1010 (rxvt)" +.TS +l l . +h Don't scroll to bottom on TTY output +l Scroll to bottom on TTY output +.TE +.PD 0 +.ie n .IP "\fB\fB""Pm = 1011""\fB\fR (\fBrxvt\fR)" 4 +.el .IP "\fB\f(CBPm = 1011\fB\fR (\fBrxvt\fR)" 4 +.IX Item "Pm = 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""Pm = 1015""\fB\fR (\fBrxvt-unicode\fR) (Compile frills)" 4 +.el .IP "\fB\f(CBPm = 1015\fB\fR (\fBrxvt-unicode\fR) (Compile frills)" 4 +.IX Item "Pm = 1015 (rxvt-unicode) (Compile frills)" +.TS +l l . +h Enable urxvt mouse coordinate reporting. +l Use old-style CSI M C C C encoding. +.TE +.PD +Changes all mouse reporting codes to use decimal parameters instead of +octets or characters. +.Sp +This mode should be enabled \fIbefore\fR actually enabling mouse reporting, +for semi-obvious reasons. +.Sp +The sequences received for various modes are as follows: +.Sp +.Vb 3 +\& ESC [ M o o o !1005, !1015 (three octets) +\& ESC [ M c c c 1005, !1015 (three characters) +\& ESC [ Pm M 1015 (three or more numeric parameters) +.Ve +.Sp +The first three parameters are \f(CW\*(C`code\*(C'\fR, \f(CW\*(C`x\*(C'\fR and \f(CW\*(C`y\*(C'\fR. Code is the numeric +code as for the other modes (but encoded as a decimal number, including +the additional offset of 32, so you have to subtract 32 first), \f(CW\*(C`x\*(C'\fR and +\&\f(CW\*(C`y\*(C'\fR are the coordinates (1|1 is the upper left corner, just as with +cursor positioning). +.Sp +Example: Shift\-Button\-1 press at top row, column 80. +.Sp +.Vb 1 +\& ESC [ 37 ; 80 ; 1 M +.Ve +.Sp +One can use this feature by simply enabling it and then looking for +parameters to the \f(CW\*(C`ESC [ M\*(C'\fR reply \- if there are any, this mode is +active, otherwise one of the old reporting styles is used. +.Sp +Other (to be implemented) reply sequences will use a similar encoding. +.Sp +In the future, more parameters might get added (pixel coordinates for +example \- anybody out there who needs this?). +.ie n .IP "\fB\fB""Pm = 1021""\fB\fR (\fBrxvt\fR)" 4 +.el .IP "\fB\f(CBPm = 1021\fB\fR (\fBrxvt\fR)" 4 +.IX Item "Pm = 1021 (rxvt)" +.TS +l l . +h Bold/italic implies high intensity (see option -is) +l Font styles have no effect on intensity (Compile styles) +.TE +.PD 0 +.ie n .IP "\fB\fB""Pm = 1047""\fB\fR (X11 XTerm alternate screen buffer)" 4 +.el .IP "\fB\f(CBPm = 1047\fB\fR (X11 XTerm alternate screen buffer)" 4 +.IX Item "Pm = 1047 (X11 XTerm alternate screen buffer)" +.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""Pm = 1048""\fB\fR (X11 XTerm alternate \s-1DECSC\s0)" 4 +.el .IP "\fB\f(CBPm = 1048\fB\fR (X11 XTerm alternate \s-1DECSC\s0)" 4 +.IX Item "Pm = 1048 (X11 XTerm alternate DECSC)" +.TS +l l . +h Save cursor position +l Restore cursor position +.TE +.ie n .IP "\fB\fB""Pm = 1049""\fB\fR (X11 XTerm 1047 + 1048)" 4 +.el .IP "\fB\f(CBPm = 1049\fB\fR (X11 XTerm 1047 + 1048)" 4 +.IX Item "Pm = 1049 (X11 XTerm 1047 + 1048)" +.TS +l l . +h Use Alternate Screen Buffer - clear Alternate Screen Buffer if switching to it +l Use Normal Screen Buffer +.TE +.ie n .IP "\fB\fB""Pm = 2004""\fB\fR (X11 XTerm bracketed paste mode)" 4 +.el .IP "\fB\f(CBPm = 2004\fB\fR (X11 XTerm bracketed paste mode)" 4 +.IX Item "Pm = 2004 (X11 XTerm bracketed paste mode)" +.TS +l l . +h Enable bracketed paste mode - prepend / append to the pasted text the control sequences ESC [ 200 ~ / ESC [ 201 ~ +l Disable bracketed paste mode +.TE +.RE +.RS 4 +.RE +.PD +.PP + +.IX Xref "XTerm" +.SS "XTerm Operating System Commands" +.IX Subsection "XTerm Operating System Commands" +.ie n .IP "\fB\fB""ESC ] Ps;Pt ST""\fB\fR" 4 +.el .IP "\fB\f(CBESC ] Ps;Pt ST\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 +Ps = 11 Change colour of text background to Pt +Ps = 12 Change colour of text cursor foreground to Pt +Ps = 13 Change colour of mouse foreground to Pt +Ps = 17 Change background colour of highlight characters to Pt +Ps = 19 Change foreground colour of highlight characters to Pt +Ps = 20 Change background pixmap parameters (see section BACKGROUND IMAGE) (Compile pixbuf). +Ps = 39 Change default foreground colour to Pt. [deprecated, use 10] +Ps = 46 Change Log File to Pt unimplemented +Ps = 49 Change default background colour to Pt. [deprecated, use 11] +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 [disabled] +Ps = 701 Change current locale to Pt, or, if Pt is ?, return the current locale (Compile frills). +Ps = 702 Request version if Pt is ?, returning rxvt-unicode, the resource name, the major and minor version numbers, e.g. ESC ] 702 ; rxvt-unicode ; urxvt ; 7 ; 4 ST. +Ps = 704 Change colour of italic characters to Pt +Ps = 705 Change background pixmap tint colour to Pt (Compile transparency). +Ps = 706 Change colour of bold characters to Pt +Ps = 707 Change colour of underlined characters to Pt +Ps = 708 Change colour of the border to Pt +Ps = 710 Set normal fontset to Pt. Same as Ps = 50. +Ps = 711 Set bold fontset to Pt. Similar to Ps = 50 (Compile styles). +Ps = 712 Set italic fontset to Pt. Similar to Ps = 50 (Compile styles). +Ps = 713 Set bold-italic fontset to Pt. Similar to Ps = 50 (Compile styles). +Ps = 720 Move viewing window up by Pt lines, or clear scrollback buffer if Pt = 0 (Compile frills). +Ps = 721 Move viewing window down by Pt lines, or clear scrollback buffer if Pt = 0 (Compile frills). +Ps = 777 Call the perl extension with the given string, which should be of the form extension:parameters (Compile perl). +.TE +.SH "BACKGROUND IMAGE" +.IX Header "BACKGROUND IMAGE" +For the \s-1BACKGROUND IMAGE\s0 XTerm escape sequence \fB\f(CB\*(C`ESC ] 20 ; Pt ST\*(C'\fB\fR the value +of \fB\f(CB\*(C`Pt\*(C'\fB\fR can be one of the following commands: +.ie n .IP "\fB\fB""?""\fB\fR" 4 +.el .IP "\fB\f(CB?\fB\fR" 4 +.IX Item "?" +display scale and position in the title +.ie n .IP "\fB\fB"";WxH+X+Y""\fB\fR" 4 +.el .IP "\fB\f(CB;WxH+X+Y\fB\fR" 4 +.IX Item ";WxH+X+Y" +change scale and/or position +.ie n .IP "\fB\fB""FILE;WxH+X+Y""\fB\fR" 4 +.el .IP "\fB\f(CBFILE;WxH+X+Y\fB\fR" 4 +.IX Item "FILE;WxH+X+Y" +change background image +.PP + +.IX Xref "Mouse" +.SH "Mouse Reporting" +.IX Header "Mouse Reporting" +.ie n .IP "\fB\fB""ESC [ M <b> <x> <y>""\fB\fR" 4 +.el .IP "\fB\f(CBESC [ M <b> <x> <y>\fB\fR" 4 +.IX Item "ESC [ M <b> <x> <y>" +report mouse position +.PP +The lower 2 bits of \fB\f(CB\*(C`<b>\*(C'\fB\fR indicate the button: +.ie n .IP "Button = \fB\fB""(<b> \- SPACE) & 3""\fB\fR" 4 +.el .IP "Button = \fB\f(CB(<b> \- SPACE) & 3\fB\fR" 4 +.IX Item "Button = (<b> - 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`<b>\*(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""(<b> \- SPACE) & ~3""\fB\fR" 4 +.el .IP "State = \fB\f(CB(<b> \- SPACE) & ~3\fB\fR" 4 +.IX Item "State = (<b> - SPACE) & ~3" +.TS +l l . +4 Shift +8 Meta +16 Control +32 Motion Notify +32 Double Click (rxvt extension), disabled by default +64 Button1 is actually Button4, Button2 is actually Button5 etc. +.TE +Col = \fB\f(CB\*(C`<x> \- SPACE\*(C'\fB\fR +.Sp +Row = \fB\f(CB\*(C`<y> \- SPACE\*(C'\fB\fR +.SH "Key Codes" +.IX Header "Key Codes" + +.IX Xref "KeyCodes" +.PP +Note: \fBShift\fR + \fBF1\fR\-\fBF10\fR generates \fBF11\fR\-\fBF20\fR +.PP +For the keypad, use \fBShift\fR to temporarily toggle Application Keypad +mode and use \fBNum_Lock\fR to override Application Keypad mode, i.e. if +\&\fBNum_Lock\fR is on the keypad is in normal mode. Also note that the +values of \fBBackSpace\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 ^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 +KP_Multiply * ESC O j +KP_Add + ESC O k +KP_Separator , ESC O l +KP_Subtract - ESC O m +KP_Decimal . ESC O n +KP_Divide / ESC O o +KP_0 0 ESC O p +KP_1 1 ESC O q +KP_2 2 ESC O r +KP_3 3 ESC O s +KP_4 4 ESC O t +KP_5 5 ESC O u +KP_6 6 ESC O v +KP_7 7 ESC O w +KP_8 8 ESC O x +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 \f(CW\*(C`\-\-enable\-everything\*(C'\fR or use +the default configuration (i.e. no \f(CW\*(C`\-\-enable\-xxx\*(C'\fR or \f(CW\*(C`\-\-disable\-xxx\*(C'\fR +switches). Of course, you should always report when a combination doesn't +work, so it can be fixed. Marc Lehmann <rxvt@schmorp.de>. +.PP +All +.IP "\-\-enable\-everything" 4 +.IX Item "--enable-everything" +Add (or remove) support for all non-multichoice options listed +in \f(CW\*(C`./configure \-\-help\*(C'\fR, except for \f(CW\*(C`\-\-enable\-assert\*(C'\fR and +\&\f(CW\*(C`\-\-enable\-256\-color\*(C'\fR. +.Sp +You can specify this and then disable options you do not like by +\&\fIfollowing\fR this with the appropriate \f(CW\*(C`\-\-disable\-...\*(C'\fR arguments, +or you can start with a minimal configuration by specifying +\&\f(CW\*(C`\-\-disable\-everything\*(C'\fR and than adding just the \f(CW\*(C`\-\-enable\-...\*(C'\fR arguments +you want. +.IP "\-\-enable\-xft (default: on)" 4 +.IX Item "--enable-xft (default: on)" +Add support for Xft (anti-aliased, 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 (default: on)" 4 +.IX Item "--enable-font-styles (default: on)" +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=CS,... (default: all)" 4 +.IX Item "--with-codesets=CS,... (default: all)" +Compile in support for additional codeset (encoding) groups (\f(CW\*(C`eu\*(C'\fR, \f(CW\*(C`vn\*(C'\fR +are always compiled in, which includes most 8\-bit character sets). These +codeset tables are used for driving X11 core fonts, they are not required +for Xft fonts, although having them compiled in lets rxvt-unicode choose +replacement fonts more intelligently. Compiling them in will make your +binary bigger (all of together cost about 700kB), but it doesn't increase +memory usage unless you use a 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 encodings +jp common japanese encodings +jp_ext rarely used but big japanese encodings +kr korean encodings +.TE +.IP "\-\-enable\-xim (default: on)" 4 +.IX Item "--enable-xim (default: on)" +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 (default: off)" 4 +.IX Item "--enable-unicode3 (default: off)" +Recommended to stay off unless you really need non-BMP characters. +.Sp +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 few 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 (default: on)" 4 +.IX Item "--enable-combining (default: on)" +Enable automatic composition of combining characters into +composite characters. This is required for proper viewing of text +where accents are encoded as separate unicode characters. This is +done by using precomposed characters when available or creating +new pseudo-characters when no precomposed form exists. +.Sp +Without \-\-enable\-unicode3, the number of additional precomposed +characters is somewhat limited (the 6400 private use characters will be +(ab\-)used). With \-\-enable\-unicode3, no practical limit exists. +.Sp +This option will also enable storage (but not display) of characters +beyond plane 0 (>65535) when \-\-enable\-unicode3 was not specified. +.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 (and +tell me how these are to be used...). +.IP "\-\-enable\-fallback[=CLASS] (default: Rxvt)" 4 +.IX Item "--enable-fallback[=CLASS] (default: Rxvt)" +When reading resource settings, also read settings for class \s-1CLASS.\s0 To +disable resource fallback use \-\-disable\-fallback. +.IP "\-\-with\-res\-name=NAME (default: urxvt)" 4 +.IX Item "--with-res-name=NAME (default: urxvt)" +Use the given name as default application name when +reading resources. Specify \-\-with\-res\-name=rxvt to replace rxvt. +.IP "\-\-with\-res\-class=CLASS (default: URxvt)" 4 +.IX Item "--with-res-class=CLASS (default: URxvt)" +Use the given class as default application class +when reading resources. Specify \-\-with\-res\-class=Rxvt to replace +rxvt. +.IP "\-\-enable\-utmp (default: on)" 4 +.IX Item "--enable-utmp (default: on)" +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 (default: on)" 4 +.IX Item "--enable-wtmp (default: on)" +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 (default: on)" 4 +.IX Item "--enable-lastlog (default: on)" +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\-pixbuf (default: on)" 4 +.IX Item "--enable-pixbuf (default: on)" +Add support for GDK-PixBuf to be used for background images. +It adds support for many file formats including \s-1JPG, PNG, +TIFF, GIF, XPM, BMP, ICO\s0 and \s-1TGA.\s0 +.IP "\-\-enable\-startup\-notification (default: on)" 4 +.IX Item "--enable-startup-notification (default: on)" +Add support for freedesktop startup notifications. This allows window managers +to display some kind of progress indicator during startup. +.IP "\-\-enable\-transparency (default: on)" 4 +.IX Item "--enable-transparency (default: on)" +Add support for using the root pixmap as background to simulate transparency. +Note that this feature depends on libXrender and on the availability +of the \s-1RENDER\s0 extension in the X server. +.IP "\-\-enable\-fading (default: on)" 4 +.IX Item "--enable-fading (default: on)" +Add support for fading the text when focus is lost. +.IP "\-\-enable\-rxvt\-scroll (default: on)" 4 +.IX Item "--enable-rxvt-scroll (default: on)" +Add support for the original rxvt scrollbar. +.IP "\-\-enable\-next\-scroll (default: on)" 4 +.IX Item "--enable-next-scroll (default: on)" +Add support for a NeXT-like scrollbar. +.IP "\-\-enable\-xterm\-scroll (default: on)" 4 +.IX Item "--enable-xterm-scroll (default: on)" +Add support for an Xterm-like scrollbar. +.IP "\-\-disable\-backspace\-key" 4 +.IX Item "--disable-backspace-key" +Removes any handling of the backspace key by us \- let the X server do it. +.IP "\-\-disable\-delete\-key" 4 +.IX Item "--disable-delete-key" +Removes any handling of the delete key by us \- let the X server +do it. +.IP "\-\-disable\-resources" 4 +.IX Item "--disable-resources" +Removes any support for resource checking. +.IP "\-\-disable\-swapscreen" 4 +.IX Item "--disable-swapscreen" +Remove support for secondary/swap screen. +.IP "\-\-enable\-frills (default: on)" 4 +.IX Item "--enable-frills (default: on)" +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. +.Sp +A non-exhaustive list of features enabled by \f(CW\*(C`\-\-enable\-frills\*(C'\fR (possibly +in combination with other switches) is: +.Sp +.Vb 10 +\& MWM\-hints +\& EWMH\-hints (pid, utf8 names) and protocols (ping) +\& urgency hint +\& separate underline colour (\-underlineColor) +\& settable border widths and borderless switch (\-w, \-b, \-bl) +\& visual depth selection (\-depth) +\& settable extra linespacing (\-lsp) +\& iso\-14755 5.1 (basic) support +\& tripleclickwords (\-tcw) +\& settable insecure mode (\-insecure) +\& keysym remapping support +\& cursor blinking and underline cursor (\-bc, \-uc) +\& XEmbed support (\-embed) +\& user\-pty (\-pty\-fd) +\& hold on exit (\-hold) +\& compile in built\-in block graphics +\& skip builtin block graphics (\-sbg) +\& separate highlight colour (\-highlightColor, \-highlightTextColor) +\& extended mouse reporting modes (1005 and 1015). +\& visual selection via \-visual and \-depth. +.Ve +.Sp +It also enables some non-essential features otherwise disabled, such as: +.Sp +.Vb 11 +\& some round\-trip time optimisations +\& nearest colour allocation on pseudocolor screens +\& UTF8_STRING support for selection +\& sgr modes 90..97 and 100..107 +\& backindex and forwardindex escape sequences +\& view change/zero scrollback escape sequences +\& locale switching escape sequence +\& window op and some xterm/OSC escape sequences +\& rectangular selections +\& trailing space removal for selections +\& verbose X error handling +.Ve +.IP "\-\-enable\-iso14755 (default: on)" 4 +.IX Item "--enable-iso14755 (default: on)" +Enable extended \s-1ISO 14755\s0 support (see @@RXVT_NAME@@(1)). +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 (default: on)" 4 +.IX Item "--enable-keepscrolling (default: on)" +Add support for continual scrolling of the display when you hold +the mouse button down on a scrollbar arrow. +.IP "\-\-enable\-selectionscrolling (default: on)" 4 +.IX Item "--enable-selectionscrolling (default: on)" +Add support for scrolling when the selection moves to the top or +bottom of the screen. +.IP "\-\-enable\-mousewheel (default: on)" 4 +.IX Item "--enable-mousewheel (default: on)" +Add support for scrolling via mouse wheel or buttons 4 & 5. +.IP "\-\-enable\-slipwheeling (default: on)" 4 +.IX Item "--enable-slipwheeling (default: on)" +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 "\-\-enable\-smart\-resize (default: off)" 4 +.IX Item "--enable-smart-resize (default: off)" +Add smart growth/shrink behaviour when resizing. +This should keep the window corner which is closest to a corner of +the screen in a fixed position. +.IP "\-\-enable\-text\-blink (default: on)" 4 +.IX Item "--enable-text-blink (default: on)" +Add support for blinking text. +.IP "\-\-enable\-pointer\-blank (default: on)" 4 +.IX Item "--enable-pointer-blank (default: on)" +Add support to have the pointer disappear when typing or inactive. +.IP "\-\-enable\-perl (default: on)" 4 +.IX Item "--enable-perl (default: on)" +Enable an embedded perl interpreter. See the \fB@@RXVT_NAME@@\f(BIperl\fB\|(3)\fR +manpage for more info on this feature, or the files in \fIsrc/perl/\fR +for the extensions that are installed by default. +The perl interpreter that is used can be specified via the \f(CW\*(C`PERL\*(C'\fR +environment variable when running configure. Even when compiled in, +perl will \fInot\fR be initialised when all extensions have been disabled +\&\f(CW\*(C`\-pe "" \-\-perl\-ext\-common ""\*(C'\fR, so it should be safe to enable from a +resource standpoint. +.IP "\-\-enable\-assert (default: off)" 4 +.IX Item "--enable-assert (default: off)" +Enables the assertions in the code, normally disabled. This switch is only +useful when developing rxvt-unicode. +.IP "\-\-enable\-256\-color (default: off)" 4 +.IX Item "--enable-256-color (default: off)" +Force use of so-called 256 colour mode, to work around buggy applications +that do not support termcap/terminfo, or simply improve support for +applications hardcoding the xterm 256 colour table. +.Sp +This switch breaks termcap/terminfo compatibility to \f(CW\*(C`TERM=rxvt\-unicode\*(C'\fR, +and consequently sets \f(CW\*(C`TERM\*(C'\fR to \f(CW\*(C`rxvt\-unicode\-256color\*(C'\fR by default +(\fIdoc/etc/\fR contains termcap/terminfo definitions for both). +.Sp +It also results in higher memory usage and can slow down @@RXVT_NAME@@ +dramatically when more than six fonts are in use by a terminal instance. +.IP "\-\-with\-name=NAME (default: urxvt)" 4 +.IX Item "--with-name=NAME (default: urxvt)" +Set the basename for the installed binaries, resulting +in \f(CW\*(C`urxvt\*(C'\fR, \f(CW\*(C`urxvtd\*(C'\fR etc.). Specify \f(CW\*(C`\-\-with\-name=rxvt\*(C'\fR to replace with +\&\f(CW\*(C`rxvt\*(C'\fR. +.IP "\-\-with\-term=NAME (default: rxvt-unicode)" 4 +.IX Item "--with-term=NAME (default: rxvt-unicode)" +Change the environmental variable for the terminal to \s-1NAME.\s0 +.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?). +.SH "AUTHORS" +.IX Header "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/rxvtc.1.man.in b/doc/rxvtc.1.man.in new file mode 100644 index 0000000..9c7ff95 --- /dev/null +++ b/doc/rxvtc.1.man.in @@ -0,0 +1,195 @@ +.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.30) +.\" +.\" Standard preamble: +.\" ======================================================================== +.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. \*(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- +.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" '' +. ds C` +. ds C' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX +.. +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{ +. if \nF \{ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. if !\nF==2 \{ +. nr % 0 +. nr F 2 +. \} +. \} +.\} +.rr rF +.\" +.\" 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_NAME@@ 1" +.TH @@RXVT_NAME@@ 1 "2016-01-23" "@@RXVT_VERSION@@" "RXVT-UNICODE" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +@@RXVT_NAME@@c \- control the @@RXVT_NAME@@d daemon +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fB@@RXVT_NAME@@c\fR [same options as for @@RXVT_NAME@@] +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +This manpage describes the \fB@@RXVT_NAME@@c\fR client program. It connects +to the \fB@@RXVT_NAME@@d\fR daemon and requests a new terminal window. It +takes the same arguments as the \fB@@RXVT_NAME@@\fR program. The environment +will also be respected. Currently, it always returns immediately after +contacting the daemon. +.SH "OPTIONS" +.IX Header "OPTIONS" +If the first option is \fB\-k\fR, \fB@@RXVT_NAME@@c\fR tries to kill the +daemon process and returns. +.PP +All options that are valid for \fB@@RXVT_NAME@@\fR are valid for +\&\fB@@RXVT_NAME@@c\fR, too. Please note that options are interpreted in the +context of the daemon process. However, as current working directory, +process environment and any file descriptor (e.g. for \f(CW\*(C`\-pty\-fd\*(C'\fR) are +preserved, this rarely makes a difference. +.SH "EXIT STATUS" +.IX Header "EXIT STATUS" +If everything went well, @@RXVT_NAME@@c returns with an exit status of \f(CW0\fR. +If contacting the daemon fails, it exits with the exit status \f(CW2\fR. In all other error +cases it returns with status \f(CW1\fR. +.PP +This can be used to implement auto-starting behaviour, by checking for an +exit status of \f(CW2\fR, running \f(CW\*(C`@@RXVT_NAME@@d \-f \-q\*(C'\fR and retrying the call +to @@RXVT_NAME@@c, like this: +.PP +.Vb 6 +\& #!/bin/sh +\& @@RXVT_NAME@@c "$@" +\& if [ $? \-eq 2 ]; then +\& @@RXVT_NAME@@d \-q \-o \-f +\& @@RXVT_NAME@@c "$@" +\& fi +.Ve +.SH "ENVIRONMENT" +.IX Header "ENVIRONMENT" +All environment variables of the current process will be made available +to the new instance, and will be interpreted as if \fB@@RXVT_NAME@@\fR were +started directly. +.IP "\fB\s-1RXVT_SOCKET\s0\fR" 4 +.IX Item "RXVT_SOCKET" +Both @@RXVT_NAME@@c and @@RXVT_NAME@@d use the environment variable +\&\fI\s-1RXVT_SOCKET\s0\fR to create a listening socket and to contact the +@@RXVT_NAME@@d, respectively. If the variable is missing, +\&\fI\f(CI$HOME\fI/.urxvt/urxvtd\-\fI<nodename>\fI\fR is used. The variable must +specify the absolute path of the socket to create. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +@@RXVT_NAME@@(7), @@RXVT_NAME@@d(1) diff --git a/doc/rxvtd.1.man.in b/doc/rxvtd.1.man.in new file mode 100644 index 0000000..519b91d --- /dev/null +++ b/doc/rxvtd.1.man.in @@ -0,0 +1,238 @@ +.\" Automatically generated by Pod::Man 2.28 (Pod::Simple 3.30) +.\" +.\" Standard preamble: +.\" ======================================================================== +.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. \*(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- +.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" '' +. ds C` +. ds C' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is turned on, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX +.. +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{ +. if \nF \{ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. if !\nF==2 \{ +. nr % 0 +. nr F 2 +. \} +. \} +.\} +.rr rF +.\" +.\" 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_NAME@@ 1" +.TH @@RXVT_NAME@@ 1 "2016-01-23" "@@RXVT_VERSION@@" "RXVT-UNICODE" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH "NAME" +@@RXVT_NAME@@d \- @@RXVT_NAME@@ terminal daemon +.SH "SYNOPSIS" +.IX Header "SYNOPSIS" +\&\fB@@RXVT_NAME@@d\fR [\-q|\-\-quiet] [\-o|\-\-opendisplay] [\-f|\-\-fork] [\-m|\-\-mlock] [\-e|\-\-eval \fIperlstring\fR] +.PP +\&\fB@@RXVT_NAME@@d\fR \-q \-o \-f # for .xsession use +.SH "DESCRIPTION" +.IX Header "DESCRIPTION" +This manpage describes the @@RXVT_NAME@@d daemon, which is the same vt102 +terminal emulator as @@RXVT_NAME@@, but runs as a daemon that can open +multiple terminal windows within the same process. +.PP +You can run it from your X startup scripts, for example, although it is +not dependent on a working \s-1DISPLAY\s0 and, in fact, can open windows on +multiple X displays on the same time. +.PP +Advantages of running a @@RXVT_NAME@@ daemon include faster creation time +for terminal windows and a lot of saved memory. +.PP +The disadvantage is a possible impact on stability \- if the +main program crashes, all processes in the terminal windows are +terminated. For example, as there is no way to cleanly react to abnormal +connection closes, \f(CW\*(C`xkill\*(C'\fR and server resets/restarts will kill the +\&\fB@@RXVT_NAME@@d\fR instance including all windows it has opened. +.SH "OPTIONS" +.IX Header "OPTIONS" +\&\fB@@RXVT_NAME@@d\fR currently understands a few options only. Bundling of +options is not yet supported. +.IP "\fB\-q\fR, \fB\-\-quiet\fR" 4 +.IX Item "-q, --quiet" +Normally, \fB@@RXVT_NAME@@d\fR outputs the message \f(CW\*(C`rxvt\-unicode daemon +listening on <path>\*(C'\fR after binding to its control socket. This option +will suppress this message (errors and warnings will still be logged). +.IP "\fB\-o\fR, \fB\-\-opendisplay\fR" 4 +.IX Item "-o, --opendisplay" +This forces \fB@@RXVT_NAME@@d\fR to open a connection to the current +\&\f(CW$DISPLAY\fR and keep it open. +.Sp +This is useful if you want to bind an instance of \fB@@RXVT_NAME@@d\fR to +the lifetime of a specific display/server. If the server does a reset, +\&\fB@@RXVT_NAME@@d\fR will be killed automatically. +.IP "\fB\-f\fR, \fB\-\-fork\fR" 4 +.IX Item "-f, --fork" +This makes \fB@@RXVT_NAME@@d\fR fork after it has bound itself to its control +socket. +.IP "\fB\-m\fR, \fB\-\-mlock\fR" 4 +.IX Item "-m, --mlock" +This makes \fB@@RXVT_NAME@@d\fR call \fImlockall\fR\|(2) on itself. This locks +\&\fB@@RXVT_NAME@@d\fR in \s-1RAM\s0 and prevents it from being swapped out to disk, +at the cost of consuming a lot more memory on most operating systems. +.Sp +Note: In order to use this feature, your system administrator must have set +your user's \s-1RLIMIT_MEMLOCK\s0 to a size greater than or equal to the size of the +\&\fB@@RXVT_NAME@@d\fR binary (or to unlimited). See \fI/etc/security/limits.conf\fR. +.Sp +Note 2: There is a known bug in glibc (possibly fixed in 2.8 and later +versions) where calloc returns non-zeroed memory when mlockall is in +effect. If you experience crashes or other odd behaviour while using +\&\-\-mlock, try it without it. +.IP "\fB\-e\fR, \fB\-\-eval\fR \fIperlstring\fR" 4 +.IX Item "-e, --eval perlstring" +Evaluate the given perl code after basic initialisation (requires perl +support to be enabled when compiling \fB@@RXVT_NAME@@d\fR). +.Sp +This can be used for example to configure the internal perl interpreter, +which is shared between all terminal instances, or create additional +listening sockets for additional protocols. +.Sp +The code is currently executed \fIbefore\fR creating the normal listening +sockets: this might change in future versions. +.SH "EXAMPLES" +.IX Header "EXAMPLES" +This is a useful invocation of \fB@@RXVT_NAME@@d\fR in a \fI.xsession\fR\-style +script: +.PP +.Vb 1 +\& @@RXVT_NAME@@d \-q \-f \-o +.Ve +.PP +This waits till the control socket is available, opens the current display +and forks into the background. When you log-out, the server is reset and +\&\fB@@RXVT_NAME@@d\fR is killed. +.SH "ENVIRONMENT" +.IX Header "ENVIRONMENT" +.IP "\fB\s-1RXVT_SOCKET\s0\fR" 4 +.IX Item "RXVT_SOCKET" +Both \fB@@RXVT_NAME@@c\fR and \fB@@RXVT_NAME@@d\fR use the environment +variable \fI\s-1RXVT_SOCKET\s0\fR to create a listening socket and to contact +the @@RXVT_NAME@@d, respectively. If the variable is missing then +\&\fI\f(CI$HOME\fI/.urxvt/urxvtd\-\fI<nodename>\fI\fR is used. +.IP "\fB\s-1DISPLAY\s0\fR" 4 +.IX Item "DISPLAY" +Only used when the \f(CW\*(C`\-\-opendisplay\*(C'\fR option is specified. Must contain a +valid X display name. +.SH "SEE ALSO" +.IX Header "SEE ALSO" +@@RXVT_NAME@@(7), @@RXVT_NAME@@c(1) |
