*** empty log message ***
[dana/urxvt.git] / doc / rxvt.7.pod
index f451a28..58bad11 100644 (file)
@@ -1,3 +1,25 @@
+=head1 NAME
+
+RXVT TECHNICAL REFERENCE - command sequences and background information
+
+=head1 SYNOPSIS
+
+   # set a new font set
+   printf '\33]50;%s\007' 9x15,xft:Kochi" Mincho"
+
+   # change the locale and tell rxvt-unicode about it
+   export LC_CTYPE=ja_JP.EUC-JP; printf "\33]701;$LC_CTYPE\007"
+
+   # set window title
+   printf '\33]2;%s\007' "new window title"
+
+=head1 DESCRIPTION
+
+The rest of this document describes various technical aspects of
+B<rxvt-unicode>. First the description of supported command sequences,
+followed by menu and pixmap support and last by a description of all
+features selectable at C<configure> time.
+
 =head1 RXVT TECHNICAL REFERENCE
 
 =head1 Definitions
@@ -137,7 +159,7 @@ only I<unimplemented>
 
 =item B<< C<ESC Z> >>
 
-Obsolete form of returns: B<< C<ESC[?1;2C> >> I<rxvt compile-time option>
+Obsolete form of returns: B<< C<ESC[?1;2C> >> I<rxvt-unicode compile-time option>
 
 =item B<< C<ESC c> >>
 
@@ -151,11 +173,11 @@ Invoke the G2 Character Set (LS2)
 
 Invoke the G3 Character Set (LS3)
 
-=item B<< C<ESC>(C<C> >>
+=item B<< C<ESC> ( C> >>
 
 Designate G0 Character Set (ISO 2022), see below for values of C<C>.
 
-=item B<< C<ESC>)C<C> >>
+=item B<< C<ESC> ) C> >>
 
 Designate G1 Character Set (ISO 2022), see below for values of C<C>.
 
@@ -189,7 +211,7 @@ Where B<< C<C> >> is one of:
 
 X<CSI>
 
-=head1 CSI (Code Sequence Introducer) Sequences
+=head1 CSI (Command Sequence Introducer) Sequences
 
 =over 4
 
@@ -332,21 +354,22 @@ Tab Clear (TBC)
 
 =end table
 
+=item B<< C<ESC [ Pm h> >>
+
+Set Mode (SM). See B<< C<ESC [ Pm l> >> sequence for description of C<Pm>.
+
 =item B<< C<ESC [ Ps i> >>
 
-Printing
+Printing. See also the C<print-pipe> resource.
 
 =begin table
 
+       B<< C<Ps = 0> >>        print screen (MC0)
        B<< C<Ps = 4> >>        disable transparent print mode (MC4)
-       B<< C<Ps = 5> >>        enable transparent print mode (MC5) I<unimplemented>
+       B<< C<Ps = 5> >>        enable transparent print mode (MC5)
 
 =end table
 
-=item B<< C<ESC [ Pm h> >>
-
-Set Mode (SM). See next sequence for description of C<Pm>.
-
 =item B<< C<ESC [ Pm l> >>
 
 Reset Mode (RM)
@@ -362,12 +385,12 @@ Reset Mode (RM)
 
 =end table
 
-=item B<< C<Ps = 20> >> I<unimplemented>
+=item B<< C<Ps = 20> >> (partially implemented)
 
 =begin table
 
        B<< C<h> >>     Automatic Newline (LNM)
-       B<< C<h> >>     Normal Linefeed (LNM)
+       B<< C<l> >>     Normal Linefeed (LNM)
 
 =end table
 
@@ -380,10 +403,13 @@ Character Attributes (SGR)
 =begin table
 
        B<< C<Ps = 0> >>        Normal (default)
-       B<< C<Ps = 1 / 22> >>   On / Off Bold (bright fg)
+       B<< C<Ps = 1 / 21> >>   On / Off Bold (bright fg)
+       B<< C<Ps = 3 / 23> >>   On / Off Italic
        B<< C<Ps = 4 / 24> >>   On / Off Underline
-       B<< C<Ps = 5 / 25> >>   On / Off Blink (bright bg)
+       B<< C<Ps = 5 / 25> >>   On / Off Slow Blink (bright bg)
+       B<< C<Ps = 6 / 26> >>   On / Off Rapid Blink (bright bg)
        B<< C<Ps = 7 / 27> >>   On / Off Inverse
+       B<< C<Ps = 8 / 27> >>   On / Off Invisible (NYI)
        B<< C<Ps = 30 / 40> >>  fg/bg Black
        B<< C<Ps = 31 / 41> >>  fg/bg Red
        B<< C<Ps = 32 / 42> >>  fg/bg Green
@@ -391,8 +417,18 @@ Character Attributes (SGR)
        B<< C<Ps = 34 / 44> >>  fg/bg Blue
        B<< C<Ps = 35 / 45> >>  fg/bg Magenta
        B<< C<Ps = 36 / 46> >>  fg/bg Cyan
+       B<< C<Ps = 38;5 / 48;5> >>      set fg/bg to color #m (ISO 8613-6)
        B<< C<Ps = 37 / 47> >>  fg/bg White
        B<< C<Ps = 39 / 49> >>  fg/bg Default
+       B<< C<Ps = 90 / 100> >> fg/bg Bright Black
+       B<< C<Ps = 91 / 101> >> fg/bg Bright Red
+       B<< C<Ps = 92 / 102> >> fg/bg Bright Green
+       B<< C<Ps = 93 / 103> >> fg/bg Bright Yellow
+       B<< C<Ps = 94 / 104> >> fg/bg Bright Blue
+       B<< C<Ps = 95 / 105> >> fg/bg Bright Magenta
+       B<< C<Ps = 96 / 106> >> fg/bg Bright Cyan
+       B<< C<Ps = 97 / 107> >> fg/bg Bright White
+       B<< C<Ps = 99 / 109> >> fg/bg Bright Default
 
 =end table
 
@@ -537,14 +573,12 @@ Toggle DEC Private Mode Values (rxvt extension). I<where>
 
 =end table
 
-)X<Priv10>
-
 =item B<< C<Ps = 10> >> (B<rxvt>)
 
 =begin table
 
-       B<< C<h> >>     visible
-       B<< C<l> >>     invisible
+       B<< C<h> >>     menuBar visible
+       B<< C<l> >>     menuBar invisible
 
 =end table
 
@@ -655,7 +689,7 @@ X<Priv66>
 
 =end table
 
-=item B<< C<Ps = 1010> >>
+=item B<< C<Ps = 1010> >> (B<rxvt>)
 
 =begin table
 
@@ -664,7 +698,7 @@ X<Priv66>
 
 =end table
 
-=item B<< C<Ps = 1011> >>
+=item B<< C<Ps = 1011> >> (B<rxvt>)
 
 =begin table
 
@@ -691,6 +725,15 @@ X<Priv66>
 
 =end table
 
+=item B<< C<Ps = 1049> >>
+
+=begin table
+
+       B<< C<h> >>     Use Alternate Screen Buffer - clear Alternate Screen Buffer if switching to it
+       B<< C<l> >>     Use Normal Screen Buffer
+
+=end table
+
 =back
 
 =back
@@ -728,8 +771,13 @@ B<octet> can be escaped by prefixing it with SYN (0x16, ^V).
        B<< C<Ps = 50> >>       Set fontset to B<< C<Pt> >>, with the following special values of B<< C<Pt> >> (B<rxvt>) B<< C<#+n> >> change up B<< C<n> >> B<< C<#-n> >> change down B<< C<n> >> if B<< C<n> >> is missing of 0, a value of 1 is used I<empty> change to font0 B<< C<n> >> change to font B<< C<n> >>
        B<< C<Ps = 55> >>       Log all scrollback buffer and all of screen to B<< C<Pt> >>
        B<< C<Ps = 701> >>      Change current locale to B<< C<Pt> >>, or, if B<< C<Pt> >> is B<< C<?> >>, return the current locale (@@RXVT_NAME@@ extension)
-       B<< C<Ps = 702> >>      find font for character, used for debugging (@@RXVT_NAME@@ extension)
-       B<< C<Ps = 703> >>      command B<< C<Pt> >> I<rxvt compile-time option> (@@RXVT_NAME@@ extension)
+       B<< C<Ps = 703> >>      Menubar command B<< C<Pt> >> I<rxvt compile-time option> (rxvt-unicode extension)
+       B<< C<Ps = 704> >>      Change colour of italic characters to B<< C<Pt> >>
+       B<< C<Ps = 705> >>      Change background pixmap tint colour to B<< C<Pt> >>
+       B<< C<Ps = 710> >>      Set normal fontset to B<< C<Pt> >>. Same as C<Ps = 50>.
+       B<< C<Ps = 711> >>      Set bold fontset to B<< C<Pt> >>. Similar to C<Ps = 50>.
+       B<< C<Ps = 712> >>      Set italic fontset to B<< C<Pt> >>. Similar to C<Ps = 50>.
+       B<< C<Ps = 713> >>      Set bold-italic fontset to B<< C<Pt> >>. Similar to C<Ps = 50>.
 
 =end table
 
@@ -1392,9 +1440,307 @@ your system.
 
 =end table
 
+=head1 CONFIGURE OPTIONS
+
+General hint: if you get compile errors, then likely your configuration
+hasn't been tested well. Either try with --enable-everything or use the
+./reconf script as a base for experiments. ./reconf is used by myself,
+so it should generally be a working config. Of course, you should always
+report when a combination doesn't work, so it can be fixed. Marc Lehmann
+<rxvt@schmorp.de>.
+
+=over 4
+
+=item --enable-everything
+
+Add support for all non-multichoice options listed in "./configure
+--help". Note that unlike other enable options this is order dependant.
+You can specify this and then disable options which this enables by
+I<following> this with the appropriate commands.
+
+=item --enable-xft
+
+Add support for Xft (anti-aliases, among others) fonts. Xft fonts are
+slower and require lots of memory, but as long as you don't use them, you
+don't pay for them.
+
+=item --enable-font-styles
+
+Add support for B<bold>, I<italic> and B<< I<bold italic> >> font
+styles. The fonts can be set manually or automatically.
+
+=item --with-codesets=NAME,...
+
+Compile in support for additional codeset (encoding) groups (eu, vn are
+always compiled in, which includes most 8-bit character sets). These
+codeset tables are currently only used for driving X11 core fonts, they
+are not required for Xft fonts. Compiling them in will make your binary
+bigger (together about 700kB), but it doesn't increase memory usage unless
+you use an X11 font requiring one of these encodings.
+
+=begin table
+
+       all     all available codeset groups
+       cn      common chinese encodings
+       cn_ext  rarely used but very big chinese encodigs
+       jp      common japanese encodings
+       jp_ext  rarely used but big japanese encodings
+       kr      korean encodings
+
+=end table
+
+=item --enable-xim
+
+Add support for XIM (X Input Method) protocol. This allows using
+alternative input methods (e.g. kinput2) and will also correctly
+set up the input for people using dead keys or compose keys.
+
+=item --enable-unicode3
+
+Enable direct support for displaying unicode codepoints above
+65535 (the basic multilingual page). This increases storage
+requirements per character from 2 to 4 bytes. X11 fonts do not yet
+support these extra characters, but Xft does.
+
+Please note that rxvt-unicode can store unicode code points >65535
+even without this flag, but the number of such characters is
+limited to a view thousand (shared with combining characters,
+see next switch), and right now rxvt-unicode cannot display them
+(input/output and cut&paste still work, though).
+
+=item --enable-combining
+
+Enable automatic composition of combining characters into
+composite characters. This is required for proper viewing of text
+where accents are encoded as seperate unicode characters. This is
+done by using precomposited characters when available or creating
+new pseudo-characters when no precomposed form exists.
+
+Without --enable-unicode3, the number of additional precomposed
+characters is rather limited (2048, if this is full, rxvt will use the
+private use area, extending the number of combinations to 8448). With
+--enable-unicode3, no practical limit exists. This will also enable
+storage of characters >65535.
+
+The combining table also contains entries for arabic presentation forms,
+but these are not currently used. Bug me if you want these to be used.
+
+=item --enable-fallback(=CLASS)
+
+When reading resource settings, also read settings for class CLASS
+(default: Rxvt). To disable resource fallback use --disable-fallback.
+
+=item --with-res-name=NAME
+
+Use the given name (default: urxvt) as default application name when
+reading resources. Specify --with-res-name=rxvt to replace rxvt.
+
+=item --with-res-class=CLASS
+
+Use the given class (default: URxvt) as default application class
+when reading resources.  Specify --with-res-class=Rxvt to replace
+rxvt.
+
+=item --enable-utmp
+
+Write user and tty to utmp file (used by programs like F<w>) at
+start of rxvt execution and delete information when rxvt exits.
+
+=item --enable-wtmp
+
+Write user and tty to wtmp file (used by programs like F<last>) at
+start of rxvt execution and write logout when rxvt exits.  This
+option requires --enable-utmp to also be specified.
+
+=item --enable-lastlog
+
+Write user and tty to lastlog file (used by programs like
+F<lastlogin>) at start of rxvt execution.  This option requires
+--enable-utmp to also be specified.
+
+=item --enable-xpm-background
+
+Add support for XPM background pixmaps.
+
+=item --enable-transparency
+
+Add support for inheriting parent backgrounds thus giving a fake
+transparency to the term.
+
+=item --enable-fading
+
+Add support for fading the text when focus is lost.
+
+=item --enable-tinting
+
+Add support for tinting of transparent backgrounds.
+
+=item --enable-menubar
+
+Add support for our menu bar system (this interacts badly with
+dynamic locale switching currently).
+
+=item --enable-rxvt-scroll
+
+Add support for the original rxvt scrollbar.
+
+=item --enable-next-scroll
+
+Add support for a NeXT-like scrollbar.
+
+=item --enable-xterm-scroll
+
+Add support for an Xterm-like scrollbar.
+
+=item --enable-plain-scroll
+
+Add support for a very unobtrusive, plain-looking scrollbar that
+is the favourite of the rxvt-unicode author, having used it for
+many years.
+
+=item --enable-half-shadow
+
+Make shadows on the scrollbar only half the normal width & height.
+only applicable to rxvt scrollbars.
+
+=item --enable-ttygid
+
+Change tty device setting to group "tty" - only use this if
+your system uses this type of security.
+
+=item --disable-backspace-key
+
+Disable any handling of the backspace key by us - let the X server
+do it.
+
+=item --disable-delete-key
+
+Disable any handling of the delete key by us - let the X server
+do it.
+
+=item --disable-resources
+
+Remove all resources checking.
+
+=item --enable-xgetdefault
+
+Make resources checking via XGetDefault() instead of our small
+version which only checks ~/.Xdefaults, or if that doesn't exist
+then ~/.Xresources.
+
+=item --enable-strings
+
+Add support for our possibly faster memset() function and other
+various routines, overriding your system's versions which may
+have been hand-crafted in assembly or may require extra libraries
+to link in. (this breaks ANSI-C rules and has problems on many
+GNU/Linux systems).
+
+=item --disable-swapscreen
+
+Remove support for swap screen.
+
+=item --enable-frills
+
+Add support for many small features that are not essential but nice to
+have. Normally you want this, but for very small binaries you may want to
+disable this.
+
+=item --enable-iso14755
+
+Enable extended ISO 14755 support (see @@RXVT_NAME@@(1), or
+F<doc/rxvt.1.txt>). Basic support (section 5.1) is enabled by
+C<--enable-frills>, while support for 5.2, 5.3 and 5.4 is enabled with
+this switch.
+
+=item --enable-linespace
+
+Add support to provide user specified line spacing between text rows.
+
+=item --enable-keepscrolling
+
+Add support for continual scrolling of the display when you hold
+the mouse button down on a scrollbar arrow.
+
+=item --enable-mousewheel
+
+Add support for scrolling via mouse wheel or buttons 4 & 5.
+
+=item --enable-slipwheeling
+
+Add support for continual scrolling (using the mouse wheel as an
+accelerator) while the control key is held down.  This option
+requires --enable-mousewheel to also be specified.
+
+=item --disable-new-selection
+
+Remove support for mouse selection style like that of xterm.
+
+=item --enable-dmalloc
+
+Use Gray Watson's malloc - which is good for debugging See
+http://www.letters.com/dmalloc/ for details If you use either this or the
+next option, you may need to edit src/Makefile after compiling to point
+DINCLUDE and DLIB to the right places.
+
+You can only use either this option and the following (should
+you use either) .
+
+=item --enable-dlmalloc
+
+Use Doug Lea's malloc - which is good for a production version
+See L<http://g.oswego.edu/dl/html/malloc.html> for details.
+
+=item --enable-smart-resize
+
+Add smart growth/shrink behaviour when changing font size via from hot
+keys. This should keep in a fixed position the rxvt corner which is
+closest to a corner of the screen.
+
+=item --enable-cursor-blink
+
+Add support for a blinking cursor.
+
+=item --enable-pointer-blank
+
+Add support to have the pointer disappear when typing or inactive.
+
+=item --with-name=NAME
+
+Set the basename for the installed binaries (default: urxvt, resulting in
+urxvt, urxvtd etc.). Specify --with-name=rxvt to replace rxvt.
+
+=item --with-term=NAME
+
+Change the environmental variable for the terminal to NAME (default
+"rxvt")
+
+=item --with-terminfo=PATH
+
+Change the environmental variable for the path to the terminfo tree to
+PATH.
+
+=item --with-x
+
+Use the X Window System (pretty much default, eh?).
+
+=item --with-xpm-includes=DIR
+
+Look for the XPM includes in DIR.
+
+=item --with-xpm-library=DIR
+
+Look for the XPM library in DIR.
+
+=item --with-xpm
+
+Not needed - define via --enable-xpm-background.
+
+=back
+
 =head1 AUTHORS
 
-Marc Lehmann <rxvt@schmorp.de>, converted this document to pod and
+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.