Add support for copying to clipboard (based on patch by Dana Jansens).
[dana/urxvt.git] / README.configure
index 64ece8b..672f685 100644 (file)
@@ -1,48 +1,55 @@
 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>.
+    hasn't been tested well. Either try with "--enable-everything" or use
+    the default configuration (i.e. no "--enable-xxx" or "--disable-xxx"
+    switches). Of course, you should always report when a combination
+    doesn't work, so it can be fixed. Marc Lehmann <rxvt@schmorp.de>.
+
+    All
 
     --enable-everything
-        Add support for all non-multichoice options listed in "./configure
-        --help". Note that unlike other enable options this is order
-        dependant. You can specify this and then disable options which this
-        enables by *following* this with the appropriate commands.
+        Add (or remove) support for all non-multichoice options listed in
+        "./configure --help", except for "--enable-assert".
+
+        You can specify this and then disable options you do not like by
+        *following* this with the appropriate "--disable-..." arguments, or
+        you can start with a minimal configuration by specifying
+        "--disable-everything" and than adding just the "--enable-..."
+        arguments you want.
 
-    --enable-xft
+    --enable-xft (default: enabled)
         Add support for Xft (anti-aliases, among others) fonts. Xft fonts
         are slower and require lots of memory, but as long as you don't use
         them, you don't pay for them.
 
-    --enable-font-styles
+    --enable-font-styles (default: on)
         Add support for bold, *italic* and *bold italic* font styles. The
         fonts can be set manually or automatically.
 
-    --with-codesets=NAME,...
-        Compile in support for additional codeset (encoding) groups (eu, vn
-        are always compiled in, which includes most 8-bit character sets).
-        These codeset tables are currently only used for driving X11 core
-        fonts, they are not required for Xft fonts. Compiling them in will
-        make your binary bigger (together about 700kB), but it doesn't
-        increase memory usage unless you use an X11 font requiring one of
-        these encodings.
-
-           all             all available codeset groups 
-           zh              common chinese encoding
-           zh_ext          rarely used but very big chinese encodigs 
-           jp              common japanese encodings 
-           jp_ext          rarely used but big japanese encodings 
-           kr              korean encodings 
-
-    --enable-xim
+    --with-codesets=NAME,... (default: all)
+        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 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.
+
+   all             all available codeset group
+   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 
+    --enable-xim (default: on)
         Add support for XIM (X Input Method) protocol. This allows using
         alternative input methods (e.g. kinput2) and will also correctly set
         up the input for people using dead keys or compose keys.
 
-    --enable-unicode3
+    --enable-unicode3 (default: off)
+        Recommended to stay off unless you really need non-BMP characters.
+
         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
@@ -50,11 +57,11 @@ CONFIGURE OPTIONS
 
         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
+        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).
 
-    --enable-combining
+    --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 seperate unicode characters. This is done by
@@ -62,9 +69,8 @@ CONFIGURE OPTIONS
         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-unicode
-        will use the private use area, extending the number of combinations
-        to 8448). With --enable-unicode3, no practical limit exists.
+        characters is somewhat limited (the 6400 private use characters will
+        be (ab-)used). With --enable-unicode3, no practical limit exists.
 
         This option will also enable storage (but not display) of characters
         beyond plane 0 (>65535) when --enable-unicode3 was not specified.
@@ -73,104 +79,80 @@ CONFIGURE OPTIONS
         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...).
 
-    --enable-fallback(=CLASS)
-        When reading resource settings, also read settings for class CLASS
-        (default: Rxvt). To disable resource fallback use
-        --disable-fallback.
+    --enable-fallback(=CLASS) (default: Rxvt)
+        When reading resource settings, also read settings for class CLASS.
+        To disable resource fallback use --disable-fallback.
 
-    --with-res-name=NAME
-        Use the given name (default: urxvt) as default application name when
-        reading resources. Specify --with-res-name=rxvt to replace rxvt.
+    --with-res-name=NAME (default: urxvt)
+        Use the given name as default application name when reading
+        resources. Specify --with-res-name=rxvt to replace rxvt.
 
-    --with-res-class=CLASS
-        Use the given class (default: URxvt) as default application class
-        when reading resources. Specify --with-res-class=Rxvt to replace
-        rxvt.
+    --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.
 
-    --enable-utmp
+    --enable-utmp (default: on)
         Write user and tty to utmp file (used by programs like w) at start
         of rxvt execution and delete information when rxvt exits.
 
-    --enable-wtmp
+    --enable-wtmp (default: on)
         Write user and tty to wtmp file (used by programs like last) at
         start of rxvt execution and write logout when rxvt exits. This
         option requires --enable-utmp to also be specified.
 
-    --enable-lastlog
+    --enable-lastlog (default: on)
         Write user and tty to lastlog file (used by programs like lastlogin)
         at start of rxvt execution. This option requires --enable-utmp to
         also be specified.
 
-    --enable-xpm-background
-        Add support for XPM background pixmaps.
+    --enable-afterimage (default: on)
+        Add support for libAfterImage to be used for transparency and
+        background images. It adds support for many file formats including
+        JPG, PNG, SVG, TIFF, GIF, XPM, BMP, ICO, XCF, TGA and AfterStep
+        image XML
+        (<http://www.afterstep.org/visualdoc.php?show=asimagexml>).
 
-    --enable-transparency
-        Add support for inheriting parent backgrounds thus giving a fake
-        transparency to the term.
+        This option also adds such eye candy as blending an image over the
+        root background, as well as dynamic scaling and bluring of
+        background images.
 
-    --enable-fading
-        Add support for fading the text when focus is lost.
+        Note that with this option enabled, rxvt's memory footprint might
+        increase by a few megabytes even if no extra features are used
+        (mostly due to third-party libraries used by libAI). Memory
+        footprint may somewhat be lowered if libAfterImage is configured
+        without support for SVG.
 
-    --enable-tinting
-        Add support for tinting of transparent backgrounds.
+    --enable-transparency (default: on)
+        Add support for backgrounds, creating illusion of transparency in
+        the term.
 
-    --enable-menubar
-        Add support for our menu bar system (this interacts badly with
-        dynamic locale switching currently).
+    --enable-fading (default: on)
+        Add support for fading the text when focus is lost.
 
-    --enable-rxvt-scroll
+    --enable-rxvt-scroll (default: on)
         Add support for the original rxvt scrollbar.
 
-    --enable-next-scroll
+    --enable-next-scroll (default: on)
         Add support for a NeXT-like scrollbar.
 
-    --enable-xterm-scroll
+    --enable-xterm-scroll (default: on)
         Add support for an Xterm-like scrollbar.
 
-    --enable-plain-scroll
-        Add support for a very unobtrusive, plain-looking scrollbar that is
-        the favourite of the rxvt-unicode author, having used it for many
-        years.
-
-    --enable-half-shadow
-        Make shadows on the scrollbar only half the normal width & height.
-        only applicable to rxvt scrollbars.
-
-    --enable-ttygid
-        Change tty device setting to group "tty" - only use this if your
-        system uses this type of security.
-
     --disable-backspace-key
-        Disable any handling of the backspace key by us - let the X server
+        Removes any handling of the backspace key by us - let the X server
         do it.
 
     --disable-delete-key
-        Disable any handling of the delete key by us - let the X server do
+        Removes any handling of the delete key by us - let the X server do
         it.
 
     --disable-resources
-        Remove all resources checking.
-
-    --enable-xgetdefault
-        Make resources checking via XGetDefault() instead of our small
-        version which only checks ~/.Xdefaults, or if that doesn't exist
-        then ~/.Xresources.
-
-        Please note that nowadays, things like XIM will automatically pull
-        in and use the full X resource manager, so the overhead of using it
-        might be very small, if nonexistant.
-
-    --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).
+        Removes any support for resource checking.
 
     --disable-swapscreen
-        Remove support for swap screen.
+        Remove support for secondary/swap screen.
 
-    --enable-frills
+    --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.
@@ -179,69 +161,94 @@ CONFIGURE OPTIONS
         (possibly in combination with other switches) is:
 
           MWM-hints
-          seperate underline colour
-          settable border widths and borderless switch
-          settable extra linespacing
-          extra window properties (e.g. UTF-8 window names and PID)
-          iso-14755-2 and -3, and visual feedback
-          backindex and forwardindex escape sequence
-          window op and locale change escape sequences
-          tripleclickwords
-          settable insecure mode
+          EWMH-hints (pid, utf8 names) and protocols (ping)
+          urgency hint
+          seperate 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
-
-    --enable-iso14755
-        Enable extended ISO 14755 support (see rxvt(1), or doc/rxvt.1.txt).
-        Basic support (section 5.1) is enabled by "--enable-frills", while
-        support for 5.2, 5.3 and 5.4 is enabled with this switch.
-
-    --enable-keepscrolling
+          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 highlightcolor support (-hc)
+
+        It also enables some non-essential features otherwise disabled, such
+        as:
+
+          some round-trip time optimisations
+          nearest color 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
+
+    --enable-iso14755 (default: on)
+        Enable extended ISO 14755 support (see rxvt(1)). Basic support
+        (section 5.1) is enabled by "--enable-frills", while support for
+        5.2, 5.3 and 5.4 is enabled with this switch.
+
+    --enable-keepscrolling (default: on)
         Add support for continual scrolling of the display when you hold the
         mouse button down on a scrollbar arrow.
 
-    --enable-mousewheel
+    --enable-selectionscrolling (default: on)
+        Add support for scrolling when the selection moves to the top or
+        bottom of the screen.
+
+    --enable-mousewheel (default: on)
         Add support for scrolling via mouse wheel or buttons 4 & 5.
 
-    --enable-slipwheeling
+    --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.
 
-    --disable-new-selection
-        Remove support for mouse selection style like that of xterm.
-
-    --enable-dmalloc
-        Use Gray Watson's malloc - which is good for debugging See
-        http://www.letters.com/dmalloc/ for details If you use either this
-        or the next option, you may need to edit src/Makefile after
-        compiling to point DINCLUDE and DLIB to the right places.
+    --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.
 
-        You can only use either this option and the following (should you
-        use either) .
+    --enable-text-blink (default: on)
+        Add support for blinking text.
 
-    --enable-dlmalloc
-        Use Doug Lea's malloc - which is good for a production version See
-        <http://g.oswego.edu/dl/html/malloc.html> for details.
+    --enable-pointer-blank (default: on)
+        Add support to have the pointer disappear when typing or inactive.
 
-    --enable-smart-resize
-        Add smart growth/shrink behaviour when changing font size via from
-        hot keys. This should keep in a fixed position the rxvt corner which
-        is closest to a corner of the screen.
+    --enable-perl (default: on)
+        Enable an embedded perl interpreter. See the rxvtperl(3) manpage for
+        more info on this feature, or the files in src/perl/ for the
+        extensions that are installed by default. The perl interpreter that
+        is used can be specified via the "PERL" environment variable when
+        running configure. Even when compiled in, perl will *not* be
+        initialised when all extensions have been disabled "-pe ""
+        --perl-ext-common """, so it should be safe to enable from a
+        resource standpoint.
 
-    --enable-cursor-blink
-        Add support for a blinking cursor.
+    --enable-assert (default: off)
+        Enables the assertions in the code, normally disabled. This switch
+        is only useful when developing rxvt-unicode.
 
-    --enable-pointer-blank
-        Add support to have the pointer disappear when typing or inactive.
+    --with-afterimage-config=DIR
+        Look for the libAfterImage config script in DIR.
 
-    --with-name=NAME
-        Set the basename for the installed binaries (default: "urxvt",
-        resulting in "urxvt", "urxvtd" etc.). Specify "--with-name=rxvt" to
-        replace with "rxvt".
+    --with-name=NAME (default: urxvt)
+        Set the basename for the installed binaries, resulting in "urxvt",
+        "urxvtd" etc.). Specify "--with-name=rxvt" to replace with "rxvt".
 
-    --with-term=NAME
-        Change the environmental variable for the terminal to NAME (default
-        "rxvt-unicode")
+    --with-term=NAME (default: rxvt-unicode)
+        Change the environmental variable for the terminal to NAME.
 
     --with-terminfo=PATH
         Change the environmental variable for the path to the terminfo tree
@@ -250,12 +257,3 @@ CONFIGURE OPTIONS
     --with-x
         Use the X Window System (pretty much default, eh?).
 
-    --with-xpm-includes=DIR
-        Look for the XPM includes in DIR.
-
-    --with-xpm-library=DIR
-        Look for the XPM library in DIR.
-
-    --with-xpm
-        Not needed - define via --enable-xpm-background.
-