diff options
-rw-r--r-- | README.FAQ | 1100 | ||||
-rwxr-xr-x | configure | 9272 | ||||
-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 | ||||
-rw-r--r-- | src/version.h | 3 |
7 files changed, 15364 insertions, 0 deletions
diff --git a/README.FAQ b/README.FAQ new file mode 100644 index 0000000..7be6ffc --- /dev/null +++ b/README.FAQ @@ -0,0 +1,1100 @@ +RXVT-UNICODE/URXVT FREQUENTLY ASKED QUESTIONS + Meta, Features & Commandline Issues + My question isn't answered here, can I ask a human? + Before sending me mail, you could go to IRC: "irc.freenode.net", channel + "#rxvt-unicode" has some rxvt-unicode enthusiasts that might be + interested in learning about new and exciting problems (but not FAQs :). + + I use Gentoo, and I have a problem... + 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. + + 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. + + Does it support tabs, can I have a tabbed rxvt-unicode? + 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: + + urxvt -pe tabbed + + URxvt.perl-ext-common: default,tabbed + + 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 doc/rxvt-tabbed + or the upcoming "Gtk2::URxvt" perl module, which features a tabbed urxvt + (murxvt) terminal as an example embedding application. + + How do I know which rxvt-unicode version I'm using? + The version number is displayed with the usage (-h). Also the escape + sequence "ESC [ 8 n" sets the window title to the version number. When + using the urxvtc client, the version displayed is that of the daemon. + + Rxvt-unicode uses gobs of memory, how can I reduce that? + 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. + + Also, many people (me included) like large windows and even larger + scrollback buffers: Without "--enable-unicode3", rxvt-unicode will use 6 + bytes per screen cell. For a 160x?? window this amounts to almost a + kilobyte per line. A scrollback buffer of 10000 lines will then (if + full) use 10 Megabytes of memory. With "--enable-unicode3" it gets + worse, as rxvt-unicode then uses 8 bytes per screen cell. + + How can I start urxvtd in a race-free way? + Try "urxvtd -f -o", which tells urxvtd to open the display, create the + listening socket and then fork. + + How can I start urxvtd automatically when I run urxvtc? + If you want to start urxvtd automatically whenever you run urxvtc and + the daemon isn't running yet, use this script: + + #!/bin/sh + urxvtc "$@" + if [ $? -eq 2 ]; then + urxvtd -q -o -f + urxvtc "$@" + fi + + 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. + + How do I distinguish whether I'm running rxvt-unicode or a regular +xterm? I need this to decide about setting colours etc. + The original rxvt and rxvt-unicode always export the variable + "COLORTERM", so you can check and see if that is set. Note that several + programs, JED, slrn, Midnight Commander automatically check this + variable to decide whether or not to use colour. + + How do I set the correct, full IP address for the DISPLAY variable? + If you've compiled rxvt-unicode with DISPLAY_IS_IP and have enabled + insecure mode then it is possible to use the following shell script + snippets to correctly set the display. If your version of rxvt-unicode + wasn't also compiled with ESCZ_ANSWER (as assumed in these snippets) + then the COLORTERM variable can be used to distinguish rxvt-unicode from + a regular xterm. + + Courtesy of Chuck Blake <cblake@BBN.COM> with the following shell script + snippets: + + # Bourne/Korn/POSIX family of shells: + [ ${TERM:-foo} = foo ] && TERM=xterm # assume an xterm if we don't know + if [ ${TERM:-foo} = xterm ]; then + stty -icanon -echo min 0 time 15 # see if enhanced rxvt or not + printf "\eZ" + read term_id + stty icanon echo + if [ ""${term_id} = '^[[?1;2C' -a ${DISPLAY:-foo} = foo ]; then + printf '\e[7n' # query the rxvt we are in for the DISPLAY string + read DISPLAY # set it in our local shell + fi + fi + + How do I compile the manual pages on my own? + You need to have a recent version of perl installed as /usr/bin/perl, + one that comes with pod2man, pod2text and pod2xhtml (from Pod::Xhtml). + Then go to the doc subdirectory and enter "make alldoc". + + Isn't rxvt-unicode supposed to be small? Don't all those features bloat? + 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 (RSS) after + startup. Even with "--disable-everything", this comparison is a bit + unfair, as many features unique to urxvt (locale, encoding conversion, + iso14755 etc.) are already in use in this mode. + + text data bss drs rss filename + 98398 1664 24 15695 1824 rxvt --disable-everything + 188985 9048 66616 18222 1788 urxvt --disable-everything + + When you "--enable-everything" (which *is* 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. + + text data bss drs rss filename + 163431 2152 24 20123 2060 rxvt --enable-everything + 1035683 49680 66648 29096 3680 urxvt --enable-everything + + 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 BSS 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 RSS. Xft indeed is responsible for a lot of RSS even + when not used. + + 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. + + 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*. + + Why C++, isn't that unportable/bloated/uncool? + 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++. + + 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. + + 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 GCC. Here is what rxvt links against on + my system with a minimal config: + + 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) + + And here is rxvt-unicode: + + 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) + + No large bloated libraries (of course, none were linked in statically), + except maybe libX11 :) + + Rendering, Font & Look and Feel Issues + I can't get transparency working, what am I doing wrong? + 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. + + Here are four ways to get transparency. Do read the manpage and option + descriptions for the programs mentioned and rxvt-unicode. Really, do it! + + 1. Use transparent mode: + + Esetroot wallpaper.jpg + urxvt -tr -tint red -sh 40 + + 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 ESETROOT_PMAP_ID + property. Compatible programs are Esetroot, hsetroot and feh. + + 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: + + convert wallpaper.jpg -blur 20x20 -modulate 30 background.jpg + urxvt -pixmap "background.jpg;:root" + + That works. If you think it doesn't, you lack GDK-PixBuf support, or you + are unable to read. + + 3. Use an ARGB visual: + + urxvt -depth 32 -fg grey90 -bg rgba:0000/0000/4444/cccc + + This requires XFT support, and the support of your X-server. If that + doesn't work for you, blame Xorg and Keith Packard. ARGB 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 WM has the required kludges in place. + + 4. Use xcompmgr and let it do the job: + + xprop -frame -f _NET_WM_WINDOW_OPACITY 32c \ + -set _NET_WM_WINDOW_OPACITY 0xc0000000 + + Then click on a window you want to make transparent. Replace 0xc0000000 + by other values to change the degree of opacity. If it doesn't work and + your server crashes, you got to keep the pieces. + + Why does rxvt-unicode sometimes leave pixel droppings? + Most fonts were not designed for terminal use, which means that + character size varies a lot. A font that is otherwise fine for terminal + use might contain some characters that are simply too wide. Rxvt-unicode + will avoid these characters. For characters that are just "a bit" too + wide a special "careful" rendering mode is used that redraws adjacent + characters. + + All of this requires that fonts do not lie about character sizes, + however: Xft fonts often draw glyphs larger than their acclaimed + bounding box, and rxvt-unicode has no way of detecting this (the correct + way is to ask for the character bounding box, which unfortunately is + wrong in these cases). + + It's not clear (to me at least), whether this is a bug in Xft, freetype, + or the respective font. If you encounter this problem you might try + using the "-lsp" option to give the font more height. If that doesn't + work, you might be forced to use a different font. + + All of this is not a problem when using X11 core fonts, as their + bounding box data is correct. + + How can I keep rxvt-unicode from using reverse video so much? + First of all, make sure you are running with the right terminal settings + ("TERM=rxvt-unicode"), which will get rid of most of these effects. Then + make sure you have specified colours for italic and bold, as otherwise + rxvt-unicode might use reverse video to simulate the effect: + + URxvt.colorBD: white + URxvt.colorIT: green + + Some programs assume totally weird colours (red instead of blue), how can I fix that? + For some unexplainable reason, some 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. + + In the meantime, you can either edit your "rxvt-unicode" terminfo + definition to only claim 8 colour support or use "TERM=rxvt", which will + fix colours but keep you from using other rxvt-unicode features. + + Can I switch the fonts at runtime? + Yes, using an escape sequence. Try something like this, which has the + same effect as using the "-fn" switch, and takes effect immediately: + + printf '\33]50;%s\007' "9x15bold,xft:Kochi Gothic" + + This is useful if you e.g. work primarily with japanese (and prefer a + japanese font), but you have to switch to chinese temporarily, where + japanese fonts would only be in your way. + + You can think of this as a kind of manual ISO-2022 switching. + + Why do italic characters look as if clipped? + Many fonts have difficulties with italic characters and hinting. For + example, the otherwise very nicely hinted font "xft:Bitstream Vera Sans + Mono" completely fails in its italic face. A workaround might be to + enable freetype autohinting, i.e. like this: + + URxvt.italicFont: xft:Bitstream Vera Sans Mono:italic:autohint=true + URxvt.boldItalicFont: xft:Bitstream Vera Sans Mono:bold:italic:autohint=true + + Can I speed up Xft rendering somehow? + Yes, the most obvious way to speed it up is to avoid Xft entirely, as it + is simply slow. If you still want Xft fonts you might try to disable + antialiasing (by appending ":antialias=false"), which saves lots of + memory and also speeds up rendering considerably. + + Rxvt-unicode doesn't seem to anti-alias its fonts, what is wrong? + Rxvt-unicode will use whatever you specify as a font. If it needs to + fall back to 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. + + If you want antialiasing, you have to specify the fonts manually. + + What's with this bold/blink stuff? + If no bold colour is set via "colorBD:", bold will invert text using the + standard foreground colour. + + For the standard background colour, blinking will actually make the text + blink when compiled with "--enable-text-blink". Without + "--enable-text-blink", the blink attribute will be ignored. + + On ANSI colours, bold/blink attributes are used to set high-intensity + foreground/background colours. + + color0-7 are the low-intensity colours. + + color8-15 are the corresponding high-intensity colours. + + I don't like the screen colours. How do I change them? + You can change the screen colours at run-time using ~/.Xdefaults + resources (or as long-options). + + Here are values that are supposed to resemble a VGA screen, including + the murky brown that passes for low-intensity yellow: + + URxvt.color0: #000000 + URxvt.color1: #A80000 + URxvt.color2: #00A800 + URxvt.color3: #A8A800 + URxvt.color4: #0000A8 + URxvt.color5: #A800A8 + URxvt.color6: #00A8A8 + URxvt.color7: #A8A8A8 + + URxvt.color8: #000054 + URxvt.color9: #FF0054 + URxvt.color10: #00FF54 + URxvt.color11: #FFFF54 + URxvt.color12: #0000FF + URxvt.color13: #FF00FF + URxvt.color14: #00FFFF + URxvt.color15: #FFFFFF + + And here is a more complete set of non-standard colours. + + 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 + + They have been described (not by me) as "pretty girly". + + Why do some characters look so much different than others? + See next entry. + + How does rxvt-unicode choose fonts? + Most fonts do not contain the full range of Unicode, which is fine. + Chances are that the font you (or the admin/package maintainer of your + system/os) have specified does not cover all the characters you want to + display. + + rxvt-unicode makes a best-effort try at finding a replacement font. + Often the result is fine, but sometimes the chosen font looks + bad/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. + + In that case, select a font of your taste and add it to the font list, + e.g.: + + urxvt -fn basefont,font2,font3... + + When rxvt-unicode sees a character, it will first look at the base font. + If the base font does not contain the character, it will go to the next + font, and so on. Specifying your own fonts will also speed up this + search and use less resources within rxvt-unicode and the X-server. + + The only limitation is that 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. + + Why do some chinese characters look so different than others? + This is because there is a difference between script and language -- + rxvt-unicode does not know which language the text that is output is, as + it only knows the unicode character codes. If rxvt-unicode first sees a + japanese/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. + + The workaround is easy: just tag a chinese font at the end of your font + list (see the previous question). The key is to view the font list as a + preference list: If you expect more japanese, list a japanese font + first. If you expect more chinese, put a chinese font first. + + In the future it might be possible to switch 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). + + Until then, you might get away with switching fonts at runtime (see "Can + I switch the fonts at runtime?" later in this document). + + How can I make mplayer display video correctly? + We are working on it, in the meantime, as a workaround, use something + like: + + urxvt -b 600 -geometry 20x1 -e sh -c 'mplayer -wid $WINDOWID file...' + + Why is the cursor now blinking in emacs/vi/...? + This is likely caused by your editor/program's use of the "cvvis" + terminfo capability. Emacs uses it by default, as well as some versions + of vi and possibly other programs. + + In emacs, you can switch that off by adding this to your ".emacs" file: + + (setq visible-cursor nil) + + For other programs, if they do not have an option, your have to remove + the "cvvis" capability from the terminfo description. + + When urxvt first added the blinking cursor option, it didn't add a + "cvvis" capability, which served no purpose before. Version 9.21 + introduced "cvvis" (and the ability to control blinking independent of + cursor shape) for compatibility with other terminals, which + traditionally use a blinking cursor for "cvvis". This also reflects the + intent of programs such as emacs, who expect "cvvis" to enable a + blinking cursor. + + Keyboard, Mouse & User Interaction + The new selection selects pieces that are too big, how can I select single words? + If you want to select e.g. alphanumeric words, you can use the following + setting: + + URxvt.selection.pattern-0: ([[:word:]]+) + + If you click more than twice, the selection will be extended more and + more. + + To get a selection that is very similar to the old code, try this + pattern: + + URxvt.selection.pattern-0: ([^"&'()*,;<=>?@[\\\\]^`{|})]+) + + Please also note that the *LeftClick Shift-LeftClick* combination also + selects words like the old code. + + I don't like the new selection/popups/hotkeys/perl, how do I change/disable it? + You can disable the perl extension completely by setting the + perl-ext-common resource to the empty string, which also keeps + rxvt-unicode from initialising perl, saving memory. + + If you only want to disable specific features, you first have to + identify which perl extension is responsible. For this, read the section + PREPACKAGED EXTENSIONS in the urxvtperl(3) manpage. For example, to + disable the selection-popup and option-popup, specify this + perl-ext-common resource: + + URxvt.perl-ext-common: default,-selection-popup,-option-popup + + 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 M-s. You can move it to any other + combination by adding a keysym resource that binds the desired + combination to the "start" action of "searchable-scrollback" and another + one that binds M-s to the "builtin:" action: + + URxvt.keysym.CM-s: searchable-scrollback:start + URxvt.keysym.M-s: builtin: + + The cursor moves when selecting text in the current input line, how do I switch this off? + See next entry. + + During rlogin/ssh/telnet/etc. sessions, clicking near the cursor outputs strange escape sequences, how do I fix this? + These are caused by the "readline" 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. + + You can permanently switch this feature off by disabling the "readline" + extension: + + URxvt.perl-ext-common: default,-readline + + My numeric keypad acts weird and generates differing output? + 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 "TERM" setting, although the details of whether and + how this can happen are unknown, as "TERM=rxvt" should offer a + compatible keymap. See the answer to the previous question, and please + report if that helped. + + My Compose (Multi_key) key is no longer working. + The most common causes for this are that either your locale is not set + correctly, or you specified a preeditType that is not supported by your + input method. For example, if you specified OverTheSpot and your input + method (e.g. the default input method handling Compose keys) does not + support this (for instance because it is not visual), then rxvt-unicode + will continue without an input method. + + In this case either do not specify a preeditType or specify more than + one pre-edit style, such as OverTheSpot,Root,None. + + 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 "-im" or "XMODIFIERS". + + I cannot type "Ctrl-Shift-2" to get an ASCII NUL character due to ISO 14755 + Either try "Ctrl-2" alone (it often is mapped to ASCII NUL even on + international keyboards) or simply use ISO 14755 support to your + advantage, typing <Ctrl-Shift-0> to get a ASCII NUL. This works for + other codes, too, such as "Ctrl-Shift-1-d" to type the default telnet + escape character and so on. + + Mouse cut/paste suddenly no longer works. + 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. + + What's with the strange Backspace/Delete key behaviour? + Assuming that the physical Backspace key corresponds to the Backspace + keysym (not likely for Linux ... see the following question) there are + two standard values that can be used for Backspace: "^H" and "^?". + + Historically, either value is correct, but rxvt-unicode adopts the + debian policy of using "^?" when unsure, because it's the one and only + correct choice :). + + It is possible to toggle between "^H" and "^?" with the DECBKM private + mode: + + # use Backspace = ^H + $ stty erase ^H + $ printf "\e[?67h" + + # use Backspace = ^? + $ stty erase ^? + $ printf "\e[?67l" + + This helps satisfy some of the Backspace discrepancies that occur, but + if you use Backspace = "^H", make sure that the termcap/terminfo value + properly reflects that. + + The Delete key is a another casualty of the ill-defined Backspace + problem. To avoid confusion between the Backspace and Delete keys, the + Delete key has been assigned an escape sequence to match the vt100 for + Execute ("ESC [ 3 ~") and is in the supplied termcap/terminfo. + + Some other Backspace problems: + + some editors use termcap/terminfo, some editors (vim I'm told) expect + Backspace = ^H, GNU Emacs (and Emacs-like editors) use ^H for help. + + Perhaps someday this will all be resolved in a consistent manner. + + I don't like the key-bindings. How do I change them? + There are some compile-time selections available via configure. Unless + you have run "configure" with the "--disable-resources" option you can + use the `keysym' resource to alter the keystrings associated with + keysyms. + + Here's an example for a URxvt session started using "urxvt -name URxvt" + + URxvt.keysym.Prior: \033[5~ + URxvt.keysym.Next: \033[6~ + URxvt.keysym.Home: \033[7~ + URxvt.keysym.End: \033[8~ + URxvt.keysym.Up: \033[A + URxvt.keysym.Down: \033[B + URxvt.keysym.Right: \033[C + URxvt.keysym.Left: \033[D + + See some more examples in the documentation for the keysym resource. + + 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 + KP_Insert == Insert + F22 == Print + F27 == Home + F29 == Prior + F33 == End + F35 == Next + + Rather than have rxvt-unicode try to accommodate all the various + possible keyboard mappings, it is better to use `xmodmap' to remap the + keys as required for your particular machine. + + Terminal Configuration + Can I see a typical configuration? + The default configuration tries to be xterm-like, which I don't like + that much, but it's least surprise to regular users. + + 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 *typical*, but what's typical... + + URxvt.cutchars: "()*,<>[]{}|' + URxvt.print-pipe: cat >/tmp/xxx + + These are just for testing stuff. + + URxvt.imLocale: ja_JP.UTF-8 + URxvt.preeditType: OnTheSpot,None + + 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 "xim-onthespot" perl extension but rewards me + with correct-looking fonts. + + 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 \\d+) + URxvt.selection.pattern-1: ^(/[^:]+):\ + URxvt.selection-autotransform.0: s/^([^:[:space:]]+):(\\d+):?$/:e \\Q$1\\E\\x0d:$2\\x0d/ + URxvt.selection-autotransform.1: s/^ at (.*?) line (\\d+)$/:e \\Q$1\\E\\x0d:$2\\x0d/ + + 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. + + 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. + + URxvt.scrollstyle: plain + URxvt.secondaryScroll: true + + As the documentation says: plain is the preferred scrollbar for the + author. The "secondaryScroll" configures urxvt to scroll in full-screen + apps, like screen, so lines scrolled out of screen end up in urxvt's + scrollback buffer. + + URxvt.background: #000000 + URxvt.foreground: gray90 + URxvt.color7: gray90 + URxvt.colorBD: #ffffff + URxvt.cursorColor: #e0e080 + URxvt.throughColor: #8080f0 + URxvt.highlightColor: #f0f0f0 + + 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. + + URxvt.underlineColor: yellow + + Another colour, makes underline lines look different. Sometimes hurts, + but is mostly a nice effect. + + URxvt.geometry: 154x36 + URxvt.loginShell: false + URxvt.meta: ignore + URxvt.utmpInhibit: true + + Uh, well, should be mostly self-explanatory. By specifying some defaults + manually, I can quickly switch them for testing. + + URxvt.saveLines: 8192 + + A large scrollback buffer is essential. Really. + + URxvt.mapAlert: true + + The only case I use it is for my IRC window, which I like to keep + iconified till people msg me (which beeps). + + URxvt.visualBell: true + + The audible bell is often annoying, especially when in a crowd. + + URxvt.insecure: true + + Please don't hack my mutt! Ooops... + + URxvt.pastableTabs: false + + I once thought this is a great idea. + + urxvt.font: 9x15bold,\ + -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso10646-1,\ + -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1, \ + [codeset=JISX0208]xft:Kochi Gothic, \ + xft:Bitstream Vera Sans Mono:autohint=true, \ + 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 + + I wrote rxvt-unicode to be able to specify fonts exactly. So don't be + overwhelmed. A special note: the "9x15bold" mentioned above is actually + the version from XFree-3.3, as XFree-4 replaced it by a totally + different font (different glyphs for ";" and many other harmless + characters), while the second font is actually the "9x15bold" 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. + + 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. + + Please note that I used the "urxvt" instance name and not the "URxvt" + class name. That is because I use different configs for different + purposes, for example, my IRC window is started with "-name IRC", and + uses these defaults: + + 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:\033]710;suxuseuro\007\033]711;suxuseuro\007 + IRC*keysym.M-C-2: command:\033]710;9x15bold\007\033]711;9x15bold\007 + + "Alt-Ctrl-1" and "Alt-Ctrl-2" switch between two different font sizes. + "suxuseuro" 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. + + The above is all in my ".Xdefaults" (I don't use ".Xresources" nor + "xrdb"). I also have some resources in a separate ".Xdefaults-hostname" + file for different hosts, for example, on my main desktop, I use: + + URxvt.keysym.C-M-q: command:\033[3;5;5t + URxvt.keysym.C-M-y: command:\033[3;5;606t + URxvt.keysym.C-M-e: command:\033[3;1605;5t + URxvt.keysym.C-M-c: command:\033[3;1605;606t + URxvt.keysym.C-M-p: perl:test + + 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 :-> + + Why doesn't rxvt-unicode read my resources? + Well, why, indeed? It does, in a way very similar to other X + applications. Most importantly, this means that if you or your OS 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 + $HOME/.Xdefaults when no resources are attached to the display. + + If you have or use an $HOME/.Xresources file, chances are that resources + are loaded into your X-server. In this case, you have to re-login after + every change (or run xrdb -merge $HOME/.Xresources). + + Also consider the form resources have to use: + + URxvt.resource: value + + 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. + + When I log-in to another system it tells me about missing terminfo data? + The terminal description used by rxvt-unicode is not as widely available + as that for xterm, or even rxvt (for which the same problem often + arises). + + The correct solution for this problem is to install the terminfo, this + can be done 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): + + REMOTE=remotesystem.domain + infocmp rxvt-unicode | ssh $REMOTE "mkdir -p .terminfo && cat >/tmp/ti && tic /tmp/ti" + + One some systems you might need to set $TERMINFO to the full path of + $HOME/.terminfo for this to work. + + If you cannot or do not want to do this, then you can simply set + "TERM=rxvt" or even "TERM=xterm", and live with the small number of + problems arising, which includes wrong keymapping, less and different + colours and some refresh errors in fullscreen applications. It's a nice + quick-and-dirty workaround for rare cases, though. + + If you always want to do this (and are fine with the consequences) you + can either recompile rxvt-unicode with the desired TERM value or use a + resource to set it: + + URxvt.termName: rxvt + + If you don't plan to use rxvt (quite common...) you could also replace + the rxvt terminfo file with the rxvt-unicode one and use "TERM=rxvt". + + nano fails with "Error opening terminal: rxvt-unicode" + 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. + + "tic" outputs some error when compiling the terminfo entry. + Most likely it's the empty definition for "enacs=". Just replace it by + "enacs=\E[0@" and try again. + + "bash"'s readline does not work correctly under urxvt. + See next entry. + + I need a termcap file entry. + 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 + "rxvt-unicode". + + 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: + + infocmp -C rxvt-unicode + + Or you could use the termcap entry in doc/etc/rxvt-unicode.termcap, + generated by the command above. + + Why does "ls" no longer have coloured output? + The "ls" in the GNU coreutils unfortunately doesn't use terminfo to + decide whether a terminal has colour, but uses its own configuration + file. Needless to say, "rxvt-unicode" is not in its default file (among + with most other terminals supporting colour). Either add: + + TERM rxvt-unicode + + to "/etc/DIR_COLORS" or simply add: + + alias ls='ls --color=auto' + + to your ".profile" or ".bashrc". + + Why doesn't vim/emacs etc. use the 88 colour mode? + See next entry. + + Why doesn't vim/emacs etc. make use of italic? + See next entry. + + Why are the secondary screen-related options not working properly? + Make sure you are using "TERM=rxvt-unicode". Some pre-packaged + distributions break rxvt-unicode by setting "TERM" to "rxvt", which + doesn't have these extra features. Unfortunately, some of these + furthermore fail to even install the "rxvt-unicode" terminfo file, so + you will need to install it on your own (See the question When I log-in + to another system it tells me about missing terminfo data? on how to do + this). + + Encoding / Locale / Input Method Issues + Rxvt-unicode does not seem to understand the selected encoding? + See next entry. + + Unicode does not seem to work? + If you encounter strange problems like typing an accented character but + getting two unrelated other characters or similar, or if program output + is subtly garbled, then you should check your locale settings. + + Rxvt-unicode must be started with the same "LC_CTYPE" setting as the + programs running in it. Often rxvt-unicode is started in the "C" locale, + while the login script running within the rxvt-unicode window changes + the locale to something else, e.g. "en_GB.UTF-8". Needless to say, this + is not going to work, and is the most common cause for problems. + + The best thing is to fix your startup environment, as you will likely + run into other problems. If nothing works you can try this in your + .profile. + + printf '\33]701;%s\007' "$LC_CTYPE" # $LANG or $LC_ALL are worth a try, too + + If this doesn't work, then maybe you use a "LC_CTYPE" specification not + supported on your systems. Some systems have a "locale" command which + displays this (also, "perl -e0" can be used to check locale settings, as + it will complain loudly if it cannot set the locale). If it displays + something like: + + locale: Cannot set LC_CTYPE to default locale: ... + + Then the locale you specified is not supported on your system. + + If nothing works and you are sure that everything is set correctly then + you will need to remember a little known fact: Some programs just don't + support locales :( + + How does rxvt-unicode determine the encoding to use? + See next entry. + + Is there an option to switch encodings? + Unlike some other terminals, rxvt-unicode has no encoding switch, and no + specific "utf-8" mode, such as xterm. In fact, it doesn't even know + about UTF-8 or any other encodings with respect to terminal I/O. + + The reasons is that there exists a perfectly fine mechanism for + selecting the encoding, doing I/O and (most important) communicating + this to all applications so everybody agrees on character properties + such as width and code number. This mechanism is the *locale*. + Applications not using that info will have problems (for example, + "xterm" gets the width of characters wrong as it uses its own, + locale-independent table under all locales). + + Rxvt-unicode uses the "LC_CTYPE" locale category to select encoding. All + programs doing the same (that is, most) will automatically agree in the + interpretation of characters. + + Unfortunately, there is no system-independent way to select locales, nor + is there a standard on how locale specifiers will look like. + + On most systems, the content of the "LC_CTYPE" environment variable + contains an arbitrary string which corresponds to an already-installed + locale. Common names for locales are "en_US.UTF-8", "de_DE.ISO-8859-15", + "ja_JP.EUC-JP", i.e. "language_country.encoding", but other forms (i.e. + "de" or "german") are also common. + + Rxvt-unicode ignores all other locale categories, and except for the + encoding, ignores country or language-specific settings, i.e. + "de_DE.UTF-8" and "ja_JP.UTF-8" are the normally same to rxvt-unicode. + + If you want to use a specific encoding you have to make sure you start + rxvt-unicode with the correct "LC_CTYPE" category. + + Can I switch locales at runtime? + Yes, using an escape sequence. Try something like this, which sets + rxvt-unicode's idea of "LC_CTYPE". + + printf '\33]701;%s\007' ja_JP.SJIS + + See also the previous answer. + + Sometimes this capability is rather handy when you want to work in one + locale (e.g. "de_DE.UTF-8") but some programs don't support it (e.g. + UTF-8). For example, I use this script to start "xjdic", which first + switches to a locale supported by xjdic and back later: + + printf '\33]701;%s\007' ja_JP.SJIS + xjdic -js + printf '\33]701;%s\007' de_DE.UTF-8 + + You can also use xterm's "luit" program, which usually works fine, + except for some locales where character width differs between program- + and rxvt-unicode-locales. + + I have problems getting my input method working. + Try a search engine, as this is slightly different for every input + method server. + + Here is a checklist: + + - Make sure your locale *and* the imLocale are supported on your OS. + Try "locale -a" or check the documentation for your OS. + + - Make sure your locale or imLocale matches a locale supported by your + XIM. + For example, kinput2 does not support UTF-8 locales, you should use + "ja_JP.EUC-JP" or equivalent. + + - Make sure your XIM server is actually running. + - Make sure the "XMODIFIERS" environment variable is set correctly when + *starting* rxvt-unicode. + When you want to use e.g. kinput2, it must be set to "@im=kinput2". + For scim, use "@im=SCIM". You can see what input method servers are + running with this command: + + xprop -root XIM_SERVERS + + My input method wants <some encoding> but I want UTF-8, what can I do? + You can specify separate locales for the input method and the rest of + the terminal, using the resource "imlocale": + + URxvt.imlocale: ja_JP.EUC-JP + + Now you can start your terminal with "LC_CTYPE=ja_JP.UTF-8" and still + use your input method. Please note, however, that, depending on your + Xlib version, you may not be able to input characters outside "EUC-JP" + in a normal way then, as your input method limits you. + + Rxvt-unicode crashes when the X Input Method changes or exits. + Unfortunately, this is unavoidable, as the XIM 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. kinput2 (and derived input methods) generally succeeds, while + SCIM (or similar input methods) fails. In the end, however, crashes + cannot be completely avoided even if both sides cooperate. + + So the only workaround is not to kill your Input Method Servers. + + Operating Systems / Package Maintaining + I am maintaining rxvt-unicode for distribution/OS XXX, any recommendation? + You should build one binary with the default options. configure 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. + + You should not overwrite the "perl-ext-common" and "perl-ext" resources + system-wide (except maybe with "defaults"). This will result in useful + behaviour. If your distribution aims at low memory, add an empty + "perl-ext-common" resource to the app-defaults file. This will keep the + perl interpreter disabled until the user enables it. + + If you can/want build more binaries, I recommend building a minimal one + with "--disable-everything" (very useful) and a maximal one with + "--enable-everything" (less useful, it will be very big due to a lot of + encodings built-in that increase download times and are rarely used). + + I need to make it setuid/setgid to support utmp/ptys on my OS, is this safe? + It should be, starting with release 7.1. You are encouraged to properly + install urxvt with privileges necessary for your OS now. + + 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 "helpful" to attackers). + + This forking is done as the very first within main(), which is very + early and reduces possible bugs to initialisation code run before + main(), or things like the dynamic loader of your system, which should + result in very little risk. + + I am on FreeBSD and rxvt-unicode does not seem to work at all. + Rxvt-unicode requires the symbol "__STDC_ISO_10646__" to be defined in + your compile environment, or an implementation that implements it, + whether it defines the symbol or not. "__STDC_ISO_10646__" requires that + wchar_t is represented as unicode. + + As you might have guessed, FreeBSD does neither define this symbol nor + does it support it. Instead, it uses its own internal representation of + wchar_t. This is, of course, completely fine with respect to standards. + + However, that means rxvt-unicode only works in "POSIX", "ISO-8859-1" and + "UTF-8" locales under FreeBSD (which all use Unicode as wchar_t). + + "__STDC_ISO_10646__" is the only sane way to support multi-language apps + in an OS, as using a locale-dependent (and non-standardized) + representation of wchar_t makes it impossible to convert between wchar_t + (as used by X11 and your applications) and any other encoding without + implementing OS-specific-wrappers for each and every locale. There + simply are no APIs to convert wchar_t into anything except the current + locale encoding. + + Some applications (such as the formidable mlterm) work around this by + carrying their own replacement functions for character set handling with + them, and either implementing OS-dependent hacks or doing multiple + conversions (which is slow and unreliable in case the OS implements + encodings slightly different than the terminal emulator). + + The rxvt-unicode author insists that the right way to fix this is in the + system libraries once and for all, instead of forcing every app to carry + complete replacements for them :) + + How can I use rxvt-unicode under cygwin? + 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 "-multiwindow" or + "-rootless" mode instead, which will result in similar look&feel as the + old libW11 emulation. + + At the time of this writing, cygwin didn't seem to support any + multi-byte encodings (you might try "LC_CTYPE=C-UTF-8"), so you are + likely limited to 8-bit encodings. + + Character widths are not correct. + 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. + + The solution is to upgrade your system or switch to a better one. A + possibly working workaround is to use a wcwidth implementation like + + http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c + diff --git a/configure b/configure new file mode 100755 index 0000000..3e3f78b --- /dev/null +++ b/configure @@ -0,0 +1,9272 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.69. +# +# +# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. +# +# +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +# Use a proper internal environment variable to ensure we don't fall + # into an infinite loop, continuously re-executing ourselves. + if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then + _as_can_reexec=no; export _as_can_reexec; + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +as_fn_exit 255 + fi + # We don't want this to propagate to other subprocesses. + { _as_can_reexec=; unset _as_can_reexec;} +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1 +test -x / || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 +test \$(( 1 + 1 )) = 2 || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes +else + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + as_found=: + case $as_dir in #( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi + done;; + esac + as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + + if test "x$CONFIG_SHELL" != x; then : + export CONFIG_SHELL + # We cannot yet assume a decent shell, so we have to provide a +# neutralization value for shells without unset; and this also +# works around shells that cannot unset nonexistent variables. +# Preserve -v and -x to the replacement shell. +BASH_ENV=/dev/null +ENV=/dev/null +(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV +case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; +esac +exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} +# Admittedly, this is quite paranoid, since all the known shells bail +# out after a failed `exec'. +$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 +exit 255 +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else + $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + + # If we had to re-execute with $CONFIG_SHELL, we're ensured to have + # already done that, so ensure we don't try to do so again and fall + # in an infinite loop. This has already happened in practice. + _as_can_reexec=no; export _as_can_reexec + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +test -n "$DJDIR" || exec 7<&0 </dev/null +exec 6>&1 + +# Name of the host. +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= + +# Identity of this package. +PACKAGE_NAME= +PACKAGE_TARNAME= +PACKAGE_VERSION= +PACKAGE_STRING= +PACKAGE_BUGREPORT= +PACKAGE_URL= + +ac_unique_file="src/feature.h" +# Factoring default headers for most tests. +ac_includes_default="\ +#include <stdio.h> +#ifdef HAVE_SYS_TYPES_H +# include <sys/types.h> +#endif +#ifdef HAVE_SYS_STAT_H +# include <sys/stat.h> +#endif +#ifdef STDC_HEADERS +# include <stdlib.h> +# include <stddef.h> +#else +# ifdef HAVE_STDLIB_H +# include <stdlib.h> +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include <memory.h> +# endif +# include <string.h> +#endif +#ifdef HAVE_STRINGS_H +# include <strings.h> +#endif +#ifdef HAVE_INTTYPES_H +# include <inttypes.h> +#endif +#ifdef HAVE_STDINT_H +# include <stdint.h> +#endif +#ifdef HAVE_UNISTD_H +# include <unistd.h> +#endif" + +ac_subst_vars='LTLIBOBJS +LIBOBJS +PERL_O +IF_PERL +PERLPRIVLIBEXP +PERLFLAGS +PERLLIB +PERL +XFT_CONFIG +STARTUP_NOTIFICATION_LIBS +STARTUP_NOTIFICATION_CFLAGS +PIXBUF_LIBS +PIXBUF_CFLAGS +PKG_CONFIG +X_EXTRA_LIBS +X_LIBS +X_PRE_LIBS +X_CFLAGS +XMKMF +TIC +CXXCPP +RXVTNAME +LINKER +EGREP +GREP +CPP +INSTALL_DATA +INSTALL_SCRIPT +INSTALL_PROGRAM +ac_ct_CXX +CXXFLAGS +CXX +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +DATE +VERSION +host_os +host_vendor +host_cpu +host +build_os +build_vendor +build_cpu +build +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_URL +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL' +ac_subst_files='' +ac_user_opts=' +enable_option_checking +enable_everything +enable_assert +enable_warnings +enable_256_color +enable_unicode3 +enable_combining +enable_xft +enable_font_styles +enable_pixbuf +enable_startup_notification +enable_transparency +enable_fading +enable_rxvt_scroll +enable_next_scroll +enable_xterm_scroll +enable_perl +with_codesets +enable_xim +enable_backspace_key +enable_delete_key +enable_resources +enable_8bitctrls +enable_fallback +with_res_name +with_res_class +with_name +enable_swapscreen +enable_iso14755 +enable_frills +enable_keepscrolling +enable_selectionscrolling +enable_mousewheel +enable_slipwheeling +enable_smart_resize +enable_text_blink +enable_pointer_blank +with_term +with_terminfo +with_x +enable_utmp +enable_wtmp +enable_lastlog +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CXX +CXXFLAGS +CCC +CPP +CXXCPP +XMKMF' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=\$ac_optarg ;; + + -without-* | --without-*) + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + esac + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + as_fn_error $? "missing argument to $ac_option" +fi + +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac +fi + +# Check all directory arguments for consistency. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + # Remove trailing slashes. + case $ac_val in + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; + esac + # Be sure to have absolute directory names. + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + as_fn_error $? "working directory cannot be determined" +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + as_fn_error $? "pwd does not report name of working directory" + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures this package to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking ...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +X features: + --x-includes=DIR X include files are in DIR + --x-libraries=DIR X library files are in DIR + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + + cat <<\_ACEOF + +Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-everything enable standard non-multichoice features + NOTE: this option is order dependent + --enable-assert enable assertions + --enable-warnings turn on g++ warnings + --enable-256-color enable 256-color support + --enable-unicode3 use 21 instead of 16 bits to represent unicode characters + --enable-combining enable composition of base and combining characters + --enable-xft enable xft support on systems that have it + --enable-font-styles enable bold and italic support + --enable-pixbuf enable integration with gdk-pixbuf for background images + --enable-startup-notification enable freedesktop startup notification support + --enable-transparency enable transparent backgrounds + --enable-fading enable colors fading when off focus + --enable-rxvt-scroll enable rxvt style scrollbar + --enable-next-scroll enable NeXT style scrollbar + --enable-xterm-scroll enable Xterm style scrollbar + --enable-perl enable embedded perl interpreter + --enable-xim XIM (X Input Method) protocol support + --disable-backspace-key disable handling of the backspace key + --disable-delete-key disable handling of the delete key + --disable-resources disable all resource checking + --enable-8bitctrls enable 8 bit control sequences (not recommended) + --enable-fallback[=CLASS] fall back on CLASS resources in addition to URxvt ones (default: Rxvt) + --disable-swapscreen disable swap screen support + --enable-iso14755 enable support for extended ISO 14755 modes + --enable-frills enable support for rarely used features + --enable-keepscrolling enable continual scrolling on scrollbar arrow press + --enable-selectionscrolling enable scrolling during selections + --enable-mousewheel enable scrolling via mouse wheel or buttons 4 & 5 + --enable-slipwheeling enable slip wheel scrolling (requires --enable-mousewheel) + --enable-smart-resize enable smart growth/shrink behaviour + --enable-text-blink enable blinking text + --enable-pointer-blank enable pointer blanking when typing or inactive + --enable-utmp enable utmp (utmpx) support + --enable-wtmp enable wtmp (wtmpx) support (requires --enable-utmp) + --enable-lastlog enable lastlog support (requires --enable-utmp) + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-codesets=CS,... compile in additional codesets (jp,jp_ext,kr,zh,zh_ext,all) + --with-res-name=NAME use this as default resource name (default: urxvt) + --with-res-class=CLASS use this as the resource class (default: URxvt) + --with-name=NAME set the basename for the installed binaries (default: urxvt) + --with-term=NAME set the terminal to NAME (default: rxvt) + --with-terminfo=PATH set the path to the terminfo tree to PATH + --with-x use the X Window System + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a + nonstandard directory <lib dir> + LIBS libraries to pass to the linker, e.g. -l<library> + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if + you have headers in a nonstandard directory <include dir> + CXX C++ compiler command + CXXFLAGS C++ compiler flags + CPP C preprocessor + CXXCPP C++ preprocessor + XMKMF Path to xmkmf, Makefile generator for X Window System + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to the package provider. +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +configure +generated by GNU Autoconf 2.69 + +Copyright (C) 2012 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi + +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## + +# ac_fn_c_try_compile LINENO +# -------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_compile + +# ac_fn_cxx_try_compile LINENO +# ---------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_compile + +# ac_fn_c_try_cpp LINENO +# ---------------------- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_cpp + +# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_c_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if eval \${$3+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.i conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_mongrel + +# ac_fn_c_try_run LINENO +# ---------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_c_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_run + +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists and can be compiled using the include files in +# INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_compile + +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_link + +# ac_fn_cxx_try_link LINENO +# ------------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_cxx_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_link + +# ac_fn_cxx_try_cpp LINENO +# ------------------------ +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_cxx_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || + test ! -s conftest.err + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_cpp + +# ac_fn_cxx_check_header_mongrel LINENO HEADER VAR INCLUDES +# --------------------------------------------------------- +# Tests whether HEADER exists, giving a warning if it cannot be compiled using +# the include files in INCLUDES and setting the cache variable VAR +# accordingly. +ac_fn_cxx_check_header_mongrel () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if eval \${$3+:} false; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +else + # Is the header compilable? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 +$as_echo_n "checking $2 usability... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_header_compiler=yes +else + ac_header_compiler=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 +$as_echo "$ac_header_compiler" >&6; } + +# Is the header present? +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 +$as_echo_n "checking $2 presence... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + ac_header_preproc=yes +else + ac_header_preproc=no +fi +rm -f conftest.err conftest.i conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 +$as_echo "$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in #(( + yes:no: ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 +$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; + no:yes:* ) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 +$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 +$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 +$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 +$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 +$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} + ;; +esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=\$ac_header_compiler" +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_header_mongrel + +# ac_fn_cxx_check_func LINENO FUNC VAR +# ------------------------------------ +# Tests whether FUNC exists, setting the cache variable VAR accordingly +ac_fn_cxx_check_func () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Define $2 to an innocuous variant, in case <limits.h> declares $2. + For example, HP-UX 11i <limits.h> declares gettimeofday. */ +#define $2 innocuous_$2 + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $2 (); below. + Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + <limits.h> exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + +#undef $2 + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $2 (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined __stub_$2 || defined __stub___$2 +choke me +#endif + +int +main () +{ +return $2 (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_func + +# ac_fn_cxx_check_type LINENO TYPE VAR INCLUDES +# --------------------------------------------- +# Tests whether TYPE exists after having included INCLUDES, setting cache +# variable VAR accordingly. +ac_fn_cxx_check_type () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=no" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof ($2)) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof (($2))) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + +else + eval "$3=yes" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_type + +# ac_fn_c_find_intX_t LINENO BITS VAR +# ----------------------------------- +# Finds a signed integer type with width BITS, setting cache variable VAR +# accordingly. +ac_fn_c_find_intX_t () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for int$2_t" >&5 +$as_echo_n "checking for int$2_t... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=no" + # Order is important - never check a type that is potentially smaller + # than half of the expected target width. + for ac_type in int$2_t 'int' 'long int' \ + 'long long int' 'short int' 'signed char'; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default + enum { N = $2 / 2 - 1 }; +int +main () +{ +static int test_array [1 - 2 * !(0 < ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1))]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default + enum { N = $2 / 2 - 1 }; +int +main () +{ +static int test_array [1 - 2 * !(($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1) + < ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 2))]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + +else + case $ac_type in #( + int$2_t) : + eval "$3=yes" ;; #( + *) : + eval "$3=\$ac_type" ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if eval test \"x\$"$3"\" = x"no"; then : + +else + break +fi + done +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_find_intX_t + +# ac_fn_c_find_uintX_t LINENO BITS VAR +# ------------------------------------ +# Finds an unsigned integer type with width BITS, setting cache variable VAR +# accordingly. +ac_fn_c_find_uintX_t () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uint$2_t" >&5 +$as_echo_n "checking for uint$2_t... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=no" + # Order is important - never check a type that is potentially smaller + # than half of the expected target width. + for ac_type in uint$2_t 'unsigned int' 'unsigned long int' \ + 'unsigned long long int' 'unsigned short int' 'unsigned char'; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +static int test_array [1 - 2 * !((($ac_type) -1 >> ($2 / 2 - 1)) >> ($2 / 2 - 1) == 3)]; +test_array [0] = 0; +return test_array [0]; + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + case $ac_type in #( + uint$2_t) : + eval "$3=yes" ;; #( + *) : + eval "$3=\$ac_type" ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if eval test \"x\$"$3"\" = x"no"; then : + +else + break +fi + done +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_find_uintX_t + +# ac_fn_cxx_check_member LINENO AGGR MEMBER VAR INCLUDES +# ------------------------------------------------------ +# Tries to find if the field MEMBER exists in type AGGR, after including +# INCLUDES, setting cache variable VAR accordingly. +ac_fn_cxx_check_member () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 +$as_echo_n "checking for $2.$3... " >&6; } +if eval \${$4+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$5 +int +main () +{ +static $2 ac_aggr; +if (ac_aggr.$3) +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + eval "$4=yes" +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$5 +int +main () +{ +static $2 ac_aggr; +if (sizeof ac_aggr.$3) +return 0; + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + eval "$4=yes" +else + eval "$4=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$4 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_cxx_check_member + +# ac_fn_cxx_try_run LINENO +# ------------------------ +# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes +# that executables *can* be run. +ac_fn_cxx_try_run () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then : + ac_retval=0 +else + $as_echo "$as_me: program exited with status $ac_status" >&5 + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=$ac_status +fi + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_cxx_try_run +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by $as_me, which was +generated by GNU Autoconf 2.69. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + $as_echo "PATH: $as_dir" + done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; + 2) + as_fn_append ac_configure_args1 " '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + as_fn_append ac_configure_args " '$ac_arg'" + ;; + esac + done +done +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + $as_echo "## ---------------- ## +## Cache variables. ## +## ---------------- ##" + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + $as_echo "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + $as_echo "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + $as_echo "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +$as_echo "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_URL "$PACKAGE_URL" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE +if test -n "$CONFIG_SITE"; then + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac +elif test "x$prefix" != xNONE; then + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site +else + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site +fi +for ac_site_file in "$ac_site_file1" "$ac_site_file2" +do + test "x$ac_site_file" = xNONE && continue + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 +fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + +ac_config_headers="$ac_config_headers config.h:config.h.in" + + +ac_aux_dir= +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do + if test -f "$ac_dir/install-sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f "$ac_dir/install.sh"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 +fi + +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + + +# Make sure we can run config.sub. +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 +$as_echo_n "checking build system type... " >&6; } +if ${ac_cv_build+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 +$as_echo "$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 +$as_echo_n "checking host system type... " >&6; } +if ${ac_cv_host+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 +$as_echo "$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; +esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac + + + +VERSION=`sed -n -e 's/^.* VERSION.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h` +DATE=`sed -n -e 's/^.* DATE.*"\(.*\)"$/\1/p' ${srcdir}/src/version.h` + +echo "" +echo "configuring for rxvt $VERSION" +echo "" + +orig_CXXFLAGS="$CXXFLAGS" + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { { ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi +if test -z "$ac_file"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +ac_exeext=$ac_cv_exeext + +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } +if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest conftest$ac_cv_exeext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdio.h> +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } +if ${ac_cv_objext+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if ${ac_cv_c_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if ${ac_cv_prog_cc_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +else + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if ${ac_cv_prog_cc_c89+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdarg.h> +#include <stdio.h> +struct stat; +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then : + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +if test -z "$CXX"; then + if test -n "$CCC"; then + CXX=$CCC + else + if test -n "$ac_tool_prefix"; then + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CXX"; then + ac_cv_prog_CXX="$CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CXX=$ac_cv_prog_CXX +if test -n "$CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 +$as_echo "$CXX" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CXX" && break + done +fi +if test -z "$CXX"; then + ac_ct_CXX=$CXX + for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CXX+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CXX"; then + ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CXX="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CXX=$ac_cv_prog_ac_ct_CXX +if test -n "$ac_ct_CXX"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 +$as_echo "$ac_ct_CXX" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CXX" && break +done + + if test "x$ac_ct_CXX" = x; then + CXX="g++" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CXX=$ac_ct_CXX + fi +fi + + fi +fi +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 +$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } +if ${ac_cv_cxx_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_cxx_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 +$as_echo "$ac_cv_cxx_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GXX=yes +else + GXX= +fi +ac_test_CXXFLAGS=${CXXFLAGS+set} +ac_save_CXXFLAGS=$CXXFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 +$as_echo_n "checking whether $CXX accepts -g... " >&6; } +if ${ac_cv_prog_cxx_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + ac_cv_prog_cxx_g=no + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_prog_cxx_g=yes +else + CXXFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + +else + ac_cxx_werror_flag=$ac_save_cxx_werror_flag + CXXFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + ac_cv_prog_cxx_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_cxx_werror_flag=$ac_save_cxx_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 +$as_echo "$ac_cv_prog_cxx_g" >&6; } +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS=$ac_save_CXXFLAGS +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then + CXXFLAGS="-g -O2" + else + CXXFLAGS="-g" + fi +else + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi +fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +# Reject install programs that cannot install multiple files. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 +$as_echo_n "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if ${ac_cv_path_install+:} false; then : + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in #(( + ./ | .// | /[cC]/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + rm -rf conftest.one conftest.two conftest.dir + echo one > conftest.one + echo two > conftest.two + mkdir conftest.dir + if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && + test -s conftest.one && test -s conftest.two && + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + fi + done + done + ;; +esac + + done +IFS=$as_save_IFS + +rm -rf conftest.one conftest.two conftest.dir + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 +$as_echo "$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +$as_echo_n "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if ${ac_cv_prog_CPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <ac_nonexistent.h> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +$as_echo "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <ac_nonexistent.h> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 +$as_echo_n "checking for grep that handles long lines and -e... " >&6; } +if ${ac_cv_path_GREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -z "$GREP"; then + ac_path_GREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_GREP" || continue +# Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_GREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_GREP"; then + as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_GREP=$GREP +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 +$as_echo "$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 +$as_echo_n "checking for egrep... " >&6; } +if ${ac_cv_path_EGREP+:} false; then : + $as_echo_n "(cached) " >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + if test -z "$EGREP"; then + ac_path_EGREP_found=false + # Loop through the user's path and test for each of PROGNAME-LIST + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + as_fn_executable_p "$ac_path_EGREP" || continue +# Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + $as_echo_n 0123456789 >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + $as_echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + as_fn_arith $ac_count + 1 && ac_count=$as_val + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + $ac_path_EGREP_found && break 3 + done + done + done +IFS=$as_save_IFS + if test -z "$ac_cv_path_EGREP"; then + as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 + fi +else + ac_cv_path_EGREP=$EGREP +fi + + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 +$as_echo "$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 +$as_echo_n "checking for ANSI C header files... " >&6; } +if ${ac_cv_header_stdc+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdlib.h> +#include <stdarg.h> +#include <string.h> +#include <float.h> + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_header_stdc=yes +else + ac_cv_header_stdc=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <string.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdlib.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then : + +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <ctype.h> +#include <stdlib.h> +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + +else + ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 +$as_echo "$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +$as_echo "#define STDC_HEADERS 1" >>confdefs.h + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default +" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" +if test "x$ac_cv_header_minix_config_h" = xyes; then : + MINIX=yes +else + MINIX= +fi + + + if test "$MINIX" = yes; then + +$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h + + +$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h + + +$as_echo "#define _MINIX 1" >>confdefs.h + + fi + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 +$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } +if ${ac_cv_safe_to_define___extensions__+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +# define __EXTENSIONS__ 1 + $ac_includes_default +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_safe_to_define___extensions__=yes +else + ac_cv_safe_to_define___extensions__=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 +$as_echo "$ac_cv_safe_to_define___extensions__" >&6; } + test $ac_cv_safe_to_define___extensions__ = yes && + $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h + + $as_echo "#define _ALL_SOURCE 1" >>confdefs.h + + $as_echo "#define _GNU_SOURCE 1" >>confdefs.h + + $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h + + $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h + + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5 +$as_echo_n "checking for library containing strerror... " >&6; } +if ${ac_cv_search_strerror+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char strerror (); +int +main () +{ +return strerror (); + ; + return 0; +} +_ACEOF +for ac_lib in '' cposix; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_strerror=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_strerror+:} false; then : + break +fi +done +if ${ac_cv_search_strerror+:} false; then : + +else + ac_cv_search_strerror=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5 +$as_echo "$ac_cv_search_strerror" >&6; } +ac_res=$ac_cv_search_strerror +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +LINKER="$CXX" +if test x$GCC = xyes && test x$GXX = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working libsupc++" >&5 +$as_echo_n "checking for working libsupc++... " >&6; } + save_CXX="$CXX" + save_LIBS="$LIBS" + CXX="$CC" + LIBS="$LIBS -lsupc++" + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +struct test { }; void f() try { throw new test; } catch (...) { throw; } +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } + LINKER="$CC" +else + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, making everything bigger and slower" >&5 +$as_echo "no, making everything bigger and slower" >&6; } + LIBS="$save_LIBS" + + +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CXX="$save_CXX" +fi +LINKER=$LINKER + + +if test -z "$orig_CXXFLAGS"; then + if test x$GCC = xyes && test "x$GXX" = xyes; then + CXXFLAGS="-g -O3 -fno-rtti -fvisibility-inlines-hidden -fno-threadsafe-statics -fno-enforce-eh-specs" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + +else + CXXFLAGS="-g -O3" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + else + CXXFLAGS="-O" + fi + CFLAGS="$CXXFLAGS" +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing setlocale" >&5 +$as_echo_n "checking for library containing setlocale... " >&6; } +if ${ac_cv_search_setlocale+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char setlocale (); +int +main () +{ +return setlocale (); + ; + return 0; +} +_ACEOF +for ac_lib in '' xpg4; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_search_setlocale=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_setlocale+:} false; then : + break +fi +done +if ${ac_cv_search_setlocale+:} false; then : + +else + ac_cv_search_setlocale=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_setlocale" >&5 +$as_echo "$ac_cv_search_setlocale" >&6; } +ac_res=$ac_cv_search_setlocale +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing gethostbyname" >&5 +$as_echo_n "checking for library containing gethostbyname... " >&6; } +if ${ac_cv_search_gethostbyname+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char gethostbyname (); +int +main () +{ +return gethostbyname (); + ; + return 0; +} +_ACEOF +for ac_lib in '' nsl; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_search_gethostbyname=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_gethostbyname+:} false; then : + break +fi +done +if ${ac_cv_search_gethostbyname+:} false; then : + +else + ac_cv_search_gethostbyname=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_gethostbyname" >&5 +$as_echo "$ac_cv_search_gethostbyname" >&6; } +ac_res=$ac_cv_search_gethostbyname +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing socket" >&5 +$as_echo_n "checking for library containing socket... " >&6; } +if ${ac_cv_search_socket+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char socket (); +int +main () +{ +return socket (); + ; + return 0; +} +_ACEOF +for ac_lib in '' socket; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_search_socket=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_socket+:} false; then : + break +fi +done +if ${ac_cv_search_socket+:} false; then : + +else + ac_cv_search_socket=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_socket" >&5 +$as_echo "$ac_cv_search_socket" >&6; } +ac_res=$ac_cv_search_socket +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + + +support_frills=yes +support_inheritpixmap=yes +support_fading=yes +support_keepscrolling=yes +support_selectionscrolling=yes +support_mousewheel=yes +support_mouseslipwheel=yes +support_text_blink=yes +support_pointer_blank=yes +support_scroll_rxvt=yes +support_scroll_next=yes +support_scroll_xterm=yes +support_xim=yes +support_pixbuf=yes +support_startup_notification=yes +support_xft=yes +support_unicode3=no +support_combining=yes +support_8bitctrls=no +support_iso14755=yes +support_styles=yes +support_perl=yes +codesets=all + + +# Check whether --enable-everything was given. +if test "${enable_everything+set}" = set; then : + enableval=$enable_everything; + if test x$enableval = xno; then + support_frills=no + support_inheritpixmap=no + support_fading=no + support_keepscrolling=no + support_selectionscrolling=no + support_lastlog=no + support_mousewheel=no + support_mouseslipwheel=no + support_text_blink=no + support_pointer_blank=no + support_scroll_rxvt=no + support_scroll_next=no + support_scroll_xterm=no + support_utmp=no + support_wtmp=no + support_xim=no + support_pixbuf=no + support_startup_notification=no + support_xft=no + support_unicode3=no + support_combining=no + support_8bitctrls=no + support_iso14755=no + support_styles=no + support_perl=no + codesets= + fi + if test x$enableval = xyes; then + support_frills=yes + support_inheritpixmap=yes + support_fading=yes + support_keepscrolling=yes + support_selectionscrolling=yes + support_lastlog=yes + support_mousewheel=yes + support_mouseslipwheel=yes + support_text_blink=yes + support_pointer_blank=yes + support_scroll_rxvt=yes + support_scroll_next=yes + support_scroll_xterm=yes + support_utmp=yes + support_wtmp=yes + support_xim=yes + support_pixbuf=yes + support_startup_notification=yes + support_xft=yes + support_unicode3=yes + support_combining=yes + #support_8bitctrls=yes + support_iso14755=yes + support_styles=yes + support_perl=yes + codesets=all + fi + +fi + + +support_assertions=no +# Check whether --enable-assert was given. +if test "${enable_assert+set}" = set; then : + enableval=$enable_assert; if test x$enableval = xyes; then + support_assertions=yes + fi +fi + +if test x$support_assertions = xno; then + +$as_echo "#define NDEBUG 1" >>confdefs.h + +fi + +support_warnings=no +# Check whether --enable-warnings was given. +if test "${enable_warnings+set}" = set; then : + enableval=$enable_warnings; if test x$enableval = xyes; then + support_warnings=yes + fi +fi + +if test x$GXX = xyes; then + if test $support_warnings = yes; then + save_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -Wall -Wno-sign-compare -Wno-reorder -Wno-unused-value" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + +else + CXXFLAGS="$save_CXXFLAGS" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + else + CXXFLAGS="$CXXFLAGS -w" + fi +fi + +support_256_color=no +# Check whether --enable-256-color was given. +if test "${enable_256_color+set}" = set; then : + enableval=$enable_256_color; if test x$enableval = xyes; then + support_256_color=yes + fi +fi + +if test x$support_256_color = xyes; then + +$as_echo "#define USE_256_COLORS 1" >>confdefs.h + +fi + +# Check whether --enable-unicode3 was given. +if test "${enable_unicode3+set}" = set; then : + enableval=$enable_unicode3; if test x$enableval = xyes -o x$enableval = xno; then + support_unicode3=$enableval + fi +fi + + +# Check whether --enable-combining was given. +if test "${enable_combining+set}" = set; then : + enableval=$enable_combining; if test x$enableval = xyes -o x$enableval = xno; then + support_combining=$enableval + fi +fi + + +# Check whether --enable-xft was given. +if test "${enable_xft+set}" = set; then : + enableval=$enable_xft; if test x$enableval = xyes -o x$enableval = xno; then + support_xft=$enableval + fi +fi + + +# Check whether --enable-font-styles was given. +if test "${enable_font_styles+set}" = set; then : + enableval=$enable_font_styles; if test x$enableval = xyes -o x$enableval = xno; then + support_styles=$enableval + fi +fi + + +# Check whether --enable-pixbuf was given. +if test "${enable_pixbuf+set}" = set; then : + enableval=$enable_pixbuf; if test x$enableval = xyes -o x$enableval = xno; then + support_pixbuf=$enableval + fi +fi + + +# Check whether --enable-startup-notification was given. +if test "${enable_startup_notification+set}" = set; then : + enableval=$enable_startup_notification; if test x$enableval = xyes -o x$enableval = xno; then + support_startup_notification=$enableval + fi +fi + + +# Check whether --enable-transparency was given. +if test "${enable_transparency+set}" = set; then : + enableval=$enable_transparency; if test x$enableval = xyes -o x$enableval = xno; then + support_inheritpixmap=$enableval + fi +fi + + +# Check whether --enable-fading was given. +if test "${enable_fading+set}" = set; then : + enableval=$enable_fading; if test x$enableval = xyes -o x$enableval = xno; then + support_fading=$enableval + fi +fi + + +# Check whether --enable-rxvt-scroll was given. +if test "${enable_rxvt_scroll+set}" = set; then : + enableval=$enable_rxvt_scroll; if test x$enableval = xyes -o x$enableval = xno; then + support_scroll_rxvt=$enableval + fi +fi + + +# Check whether --enable-next-scroll was given. +if test "${enable_next_scroll+set}" = set; then : + enableval=$enable_next_scroll; if test x$enableval = xyes -o x$enableval = xno; then + support_scroll_next=$enableval + fi +fi + + +# Check whether --enable-xterm-scroll was given. +if test "${enable_xterm_scroll+set}" = set; then : + enableval=$enable_xterm_scroll; if test x$enableval = xyes -o x$enableval = xno; then + support_scroll_xterm=$enableval + fi +fi + + +# Check whether --enable-perl was given. +if test "${enable_perl+set}" = set; then : + enableval=$enable_perl; if test x$enableval = xyes -o x$enableval = xno; then + support_perl=$enableval + fi +fi + + + +# Check whether --with-codesets was given. +if test "${with_codesets+set}" = set; then : + withval=$with_codesets; codesets="$withval" +fi + + +# Check whether --enable-xim was given. +if test "${enable_xim+set}" = set; then : + enableval=$enable_xim; if test x$enableval = xyes -o x$enableval = xno; then + support_xim=$enableval + fi +fi + + +# Check whether --enable-backspace-key was given. +if test "${enable_backspace_key+set}" = set; then : + enableval=$enable_backspace_key; if test x$enableval = xno; then + +$as_echo "#define NO_BACKSPACE_KEY 1" >>confdefs.h + + fi +fi + + +# Check whether --enable-delete-key was given. +if test "${enable_delete_key+set}" = set; then : + enableval=$enable_delete_key; if test x$enableval = xno; then + +$as_echo "#define NO_DELETE_KEY 1" >>confdefs.h + + fi +fi + + +support_resources=yes +# Check whether --enable-resources was given. +if test "${enable_resources+set}" = set; then : + enableval=$enable_resources; if test x$enableval = xno; then + support_resources=no + fi +fi + + +# Check whether --enable-8bitctrls was given. +if test "${enable_8bitctrls+set}" = set; then : + enableval=$enable_8bitctrls; if test x$enableval = xyes -o x$enableval = xno; then + support_8bitctrls=$enableval + fi +fi + + +RESFALLBACK=Rxvt +# Check whether --enable-fallback was given. +if test "${enable_fallback+set}" = set; then : + enableval=$enable_fallback; + test x$enableval = xyes && enableval=Rxvt + test x$enableval = xno && enableval= + RESFALLBACK="$enableval" + +fi + + +if test x$RESFALLBACK != x; then + +cat >>confdefs.h <<_ACEOF +#define RESFALLBACK "$RESFALLBACK" +_ACEOF + +fi + +RESNAME=urxvt + +# Check whether --with-res-name was given. +if test "${with_res_name+set}" = set; then : + withval=$with_res_name; RESNAME="$withval" +fi + + +cat >>confdefs.h <<_ACEOF +#define RESNAME "$RESNAME" +_ACEOF + + +RESCLASS=URxvt + +# Check whether --with-res-class was given. +if test "${with_res_class+set}" = set; then : + withval=$with_res_class; RESCLASS="$withval" +fi + + +cat >>confdefs.h <<_ACEOF +#define RESCLASS "$RESCLASS" +_ACEOF + + +RXVTNAME=urxvt + +# Check whether --with-name was given. +if test "${with_name+set}" = set; then : + withval=$with_name; RXVTNAME="$withval" +fi + + +cat >>confdefs.h <<_ACEOF +#define RXVTNAME "$RXVTNAME" +_ACEOF + + + + +# Check whether --enable-swapscreen was given. +if test "${enable_swapscreen+set}" = set; then : + enableval=$enable_swapscreen; if test x$enableval = xno; then + +$as_echo "#define NO_SECONDARY_SCREEN 1" >>confdefs.h + + fi +fi + + +# Check whether --enable-iso14755 was given. +if test "${enable_iso14755+set}" = set; then : + enableval=$enable_iso14755; if test x$enableval = xyes -o x$enableval = xno; then + support_iso14755=$enableval + fi +fi + + +# Check whether --enable-frills was given. +if test "${enable_frills+set}" = set; then : + enableval=$enable_frills; if test x$enableval = xyes -o x$enableval = xno; then + support_frills=$enableval + fi +fi + + +# Check whether --enable-keepscrolling was given. +if test "${enable_keepscrolling+set}" = set; then : + enableval=$enable_keepscrolling; if test x$enableval = xyes -o x$enableval = xno; then + support_keepscrolling=$enableval + fi +fi + + +# Check whether --enable-selectionscrolling was given. +if test "${enable_selectionscrolling+set}" = set; then : + enableval=$enable_selectionscrolling; if test x$enableval = xyes -o x$enableval = xno; then + support_selectionscrolling=$enableval + fi +fi + + +# Check whether --enable-mousewheel was given. +if test "${enable_mousewheel+set}" = set; then : + enableval=$enable_mousewheel; if test x$enableval = xyes -o x$enableval = xno; then + support_mousewheel=$enableval + fi +fi + + +# Check whether --enable-slipwheeling was given. +if test "${enable_slipwheeling+set}" = set; then : + enableval=$enable_slipwheeling; if test x$enableval = xyes -o x$enableval = xno; then + support_mouseslipwheel=$enableval + fi +fi + + +# Check whether --enable-smart-resize was given. +if test "${enable_smart_resize+set}" = set; then : + enableval=$enable_smart_resize; if test x$enableval = xyes; then + +$as_echo "#define SMART_RESIZE 1" >>confdefs.h + + fi +fi + + +# Check whether --enable-text-blink was given. +if test "${enable_text_blink+set}" = set; then : + enableval=$enable_text_blink; if test x$enableval = xyes -o x$enableval = xno; then + support_text_blink=$enableval + fi +fi + + +# Check whether --enable-pointer-blank was given. +if test "${enable_pointer_blank+set}" = set; then : + enableval=$enable_pointer_blank; if test x$enableval = xyes -o x$enableval = xno; then + support_pointer_blank=$enableval + fi +fi + + + +# Check whether --with-term was given. +if test "${with_term+set}" = set; then : + withval=$with_term; if test x$withval != x; then + +cat >>confdefs.h <<_ACEOF +#define TERMENV "$withval" +_ACEOF + term="$withval" + fi +fi + + + +# Check whether --with-terminfo was given. +if test "${with_terminfo+set}" = set; then : + withval=$with_terminfo; if test x$withval != x; then + +cat >>confdefs.h <<_ACEOF +#define RXVT_TERMINFO "$withval" +_ACEOF + terminfo="$withval" + fi +fi + + +if test x$support_resources = xno; then + if test x$support_frills = xyes || test x$support_perl = xyes; then + as_fn_error $? "--disable-resources requires --disable-frills --disable-perl" "$LINENO" 5 + fi + + +$as_echo "#define NO_RESOURCES 1" >>confdefs.h + +fi + + +LIBEV_M4_AVOID_LIBRT=1 + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 +$as_echo_n "checking how to run the C++ preprocessor... " >&6; } +if test -z "$CXXCPP"; then + if ${ac_cv_prog_CXXCPP+:} false; then : + $as_echo_n "(cached) " >&6 +else + # Double quotes because CXXCPP needs to be expanded + for CXXCPP in "$CXX -E" "/lib/cpp" + do + ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <ac_nonexistent.h> +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + break +fi + + done + ac_cv_prog_CXXCPP=$CXXCPP + +fi + CXXCPP=$ac_cv_prog_CXXCPP +else + ac_cv_prog_CXXCPP=$CXXCPP +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 +$as_echo "$CXXCPP" >&6; } +ac_preproc_ok=false +for ac_cxx_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since + # <limits.h> exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#ifdef __STDC__ +# include <limits.h> +#else +# include <assert.h> +#endif + Syntax error +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + +else + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <ac_nonexistent.h> +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + # Broken: success on invalid input. +continue +else + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok; then : + +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=cpp +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_cxx_compiler_gnu + + +for ac_header in sys/inotify.h sys/epoll.h sys/event.h port.h poll.h sys/select.h sys/eventfd.h sys/signalfd.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +for ac_func in inotify_init epoll_ctl kqueue port_create poll select eventfd signalfd +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_cxx_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + +for ac_func in clock_gettime +do : + ac_fn_cxx_check_func "$LINENO" "clock_gettime" "ac_cv_func_clock_gettime" +if test "x$ac_cv_func_clock_gettime" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_CLOCK_GETTIME 1 +_ACEOF + +else + + if test $(uname) = Linux; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_gettime syscall" >&5 +$as_echo_n "checking for clock_gettime syscall... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <unistd.h> + #include <sys/syscall.h> + #include <time.h> +int +main () +{ +struct timespec ts; int status = syscall (SYS_clock_gettime, CLOCK_REALTIME, &ts) + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_have_clock_syscall=1 + +$as_echo "#define HAVE_CLOCK_SYSCALL 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + fi + if test -z "$LIBEV_M4_AVOID_LIBRT" && test -z "$ac_have_clock_syscall"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clock_gettime in -lrt" >&5 +$as_echo_n "checking for clock_gettime in -lrt... " >&6; } +if ${ac_cv_lib_rt_clock_gettime+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lrt $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char clock_gettime (); +int +main () +{ +return clock_gettime (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_rt_clock_gettime=yes +else + ac_cv_lib_rt_clock_gettime=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_clock_gettime" >&5 +$as_echo "$ac_cv_lib_rt_clock_gettime" >&6; } +if test "x$ac_cv_lib_rt_clock_gettime" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBRT 1 +_ACEOF + + LIBS="-lrt $LIBS" + +fi + + unset ac_cv_func_clock_gettime + for ac_func in clock_gettime +do : + ac_fn_cxx_check_func "$LINENO" "clock_gettime" "ac_cv_func_clock_gettime" +if test "x$ac_cv_func_clock_gettime" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_CLOCK_GETTIME 1 +_ACEOF + +fi +done + + fi + +fi +done + + +for ac_func in nanosleep +do : + ac_fn_cxx_check_func "$LINENO" "nanosleep" "ac_cv_func_nanosleep" +if test "x$ac_cv_func_nanosleep" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_NANOSLEEP 1 +_ACEOF + +else + + if test -z "$LIBEV_M4_AVOID_LIBRT"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for nanosleep in -lrt" >&5 +$as_echo_n "checking for nanosleep in -lrt... " >&6; } +if ${ac_cv_lib_rt_nanosleep+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lrt $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char nanosleep (); +int +main () +{ +return nanosleep (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_rt_nanosleep=yes +else + ac_cv_lib_rt_nanosleep=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rt_nanosleep" >&5 +$as_echo "$ac_cv_lib_rt_nanosleep" >&6; } +if test "x$ac_cv_lib_rt_nanosleep" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBRT 1 +_ACEOF + + LIBS="-lrt $LIBS" + +fi + + unset ac_cv_func_nanosleep + for ac_func in nanosleep +do : + ac_fn_cxx_check_func "$LINENO" "nanosleep" "ac_cv_func_nanosleep" +if test "x$ac_cv_func_nanosleep" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_NANOSLEEP 1 +_ACEOF + +fi +done + + fi + +fi +done + + +if test -z "$LIBEV_M4_AVOID_LIBM"; then + LIBM=m +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing floor" >&5 +$as_echo_n "checking for library containing floor... " >&6; } +if ${ac_cv_search_floor+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char floor (); +int +main () +{ +return floor (); + ; + return 0; +} +_ACEOF +for ac_lib in '' $LIBM; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_search_floor=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_floor+:} false; then : + break +fi +done +if ${ac_cv_search_floor+:} false; then : + +else + ac_cv_search_floor=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_floor" >&5 +$as_echo "$ac_cv_search_floor" >&6; } +ac_res=$ac_cv_search_floor +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +$as_echo "#define HAVE_FLOOR 1" >>confdefs.h + +fi + + + + + +# Extract the first word of "tic", so it can be a program name with args. +set dummy tic; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_TIC+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $TIC in + [\\/]* | ?:[\\/]*) + ac_cv_path_TIC="$TIC" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_TIC="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_TIC" && ac_cv_path_TIC=":" + ;; +esac +fi +TIC=$ac_cv_path_TIC +if test -n "$TIC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $TIC" >&5 +$as_echo "$TIC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for X" >&5 +$as_echo_n "checking for X... " >&6; } + + +# Check whether --with-x was given. +if test "${with_x+set}" = set; then : + withval=$with_x; +fi + +# $have_x is `yes', `no', `disabled', or empty when we do not yet know. +if test "x$with_x" = xno; then + # The user explicitly disabled X. + have_x=disabled +else + case $x_includes,$x_libraries in #( + *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5;; #( + *,NONE | NONE,*) if ${ac_cv_have_x+:} false; then : + $as_echo_n "(cached) " >&6 +else + # One or both of the vars are not set, and there is no cached value. +ac_x_includes=no ac_x_libraries=no +rm -f -r conftest.dir +if mkdir conftest.dir; then + cd conftest.dir + cat >Imakefile <<'_ACEOF' +incroot: + @echo incroot='${INCROOT}' +usrlibdir: + @echo usrlibdir='${USRLIBDIR}' +libdir: + @echo libdir='${LIBDIR}' +_ACEOF + if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then + # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. + for ac_var in incroot usrlibdir libdir; do + eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" + done + # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. + for ac_extension in a so sl dylib la dll; do + if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" && + test -f "$ac_im_libdir/libX11.$ac_extension"; then + ac_im_usrlibdir=$ac_im_libdir; break + fi + done + # Screen out bogus values from the imake configuration. They are + # bogus both because they are the default anyway, and because + # using them would break gcc on systems where it needs fixed includes. + case $ac_im_incroot in + /usr/include) ac_x_includes= ;; + *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;; + esac + case $ac_im_usrlibdir in + /usr/lib | /usr/lib64 | /lib | /lib64) ;; + *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;; + esac + fi + cd .. + rm -f -r conftest.dir +fi + +# Standard set of common directories for X headers. +# Check X11 before X11Rn because it is often a symlink to the current release. +ac_x_header_dirs=' +/usr/X11/include +/usr/X11R7/include +/usr/X11R6/include +/usr/X11R5/include +/usr/X11R4/include + +/usr/include/X11 +/usr/include/X11R7 +/usr/include/X11R6 +/usr/include/X11R5 +/usr/include/X11R4 + +/usr/local/X11/include +/usr/local/X11R7/include +/usr/local/X11R6/include +/usr/local/X11R5/include +/usr/local/X11R4/include + +/usr/local/include/X11 +/usr/local/include/X11R7 +/usr/local/include/X11R6 +/usr/local/include/X11R5 +/usr/local/include/X11R4 + +/usr/X386/include +/usr/x386/include +/usr/XFree86/include/X11 + +/usr/include +/usr/local/include +/usr/unsupported/include +/usr/athena/include +/usr/local/x11r5/include +/usr/lpp/Xamples/include + +/usr/openwin/include +/usr/openwin/share/include' + +if test "$ac_x_includes" = no; then + # Guess where to find include files, by looking for Xlib.h. + # First, try using that file with no special directory specified. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <X11/Xlib.h> +_ACEOF +if ac_fn_cxx_try_cpp "$LINENO"; then : + # We can compile using X headers with no special include directory. +ac_x_includes= +else + for ac_dir in $ac_x_header_dirs; do + if test -r "$ac_dir/X11/Xlib.h"; then + ac_x_includes=$ac_dir + break + fi +done +fi +rm -f conftest.err conftest.i conftest.$ac_ext +fi # $ac_x_includes = no + +if test "$ac_x_libraries" = no; then + # Check for the libraries. + # See if we find them without any special options. + # Don't add to $LIBS permanently. + ac_save_LIBS=$LIBS + LIBS="-lX11 $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <X11/Xlib.h> +int +main () +{ +XrmInitialize () + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + LIBS=$ac_save_LIBS +# We can link X programs with no special library path. +ac_x_libraries= +else + LIBS=$ac_save_LIBS +for ac_dir in `$as_echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` +do + # Don't even attempt the hair of trying to link an X program! + for ac_extension in a so sl dylib la dll; do + if test -r "$ac_dir/libX11.$ac_extension"; then + ac_x_libraries=$ac_dir + break 2 + fi + done +done +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi # $ac_x_libraries = no + +case $ac_x_includes,$ac_x_libraries in #( + no,* | *,no | *\'*) + # Didn't find X, or a directory has "'" in its name. + ac_cv_have_x="have_x=no";; #( + *) + # Record where we found X for the cache. + ac_cv_have_x="have_x=yes\ + ac_x_includes='$ac_x_includes'\ + ac_x_libraries='$ac_x_libraries'" +esac +fi +;; #( + *) have_x=yes;; + esac + eval "$ac_cv_have_x" +fi # $with_x != no + +if test "$have_x" != yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_x" >&5 +$as_echo "$have_x" >&6; } + no_x=yes +else + # If each of the values was on the command line, it overrides each guess. + test "x$x_includes" = xNONE && x_includes=$ac_x_includes + test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries + # Update the cache value to reflect the command line values. + ac_cv_have_x="have_x=yes\ + ac_x_includes='$x_includes'\ + ac_x_libraries='$x_libraries'" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: libraries $x_libraries, headers $x_includes" >&5 +$as_echo "libraries $x_libraries, headers $x_includes" >&6; } +fi + +if test "$no_x" = yes; then + # Not all programs may use this symbol, but it does not hurt to define it. + +$as_echo "#define X_DISPLAY_MISSING 1" >>confdefs.h + + X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS= +else + if test -n "$x_includes"; then + X_CFLAGS="$X_CFLAGS -I$x_includes" + fi + + # It would also be nice to do this for all -L options, not just this one. + if test -n "$x_libraries"; then + X_LIBS="$X_LIBS -L$x_libraries" + # For Solaris; some versions of Sun CC require a space after -R and + # others require no space. Words are not sufficient . . . . + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -R must be followed by a space" >&5 +$as_echo_n "checking whether -R must be followed by a space... " >&6; } + ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries" + ac_xsave_cxx_werror_flag=$ac_cxx_werror_flag + ac_cxx_werror_flag=yes + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + X_LIBS="$X_LIBS -R$x_libraries" +else + LIBS="$ac_xsave_LIBS -R $x_libraries" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + X_LIBS="$X_LIBS -R $x_libraries" +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: neither works" >&5 +$as_echo "neither works" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + ac_cxx_werror_flag=$ac_xsave_cxx_werror_flag + LIBS=$ac_xsave_LIBS + fi + + # Check for system-dependent libraries X programs must link with. + # Do this before checking for the system-independent R6 libraries + # (-lICE), since we may need -lsocket or whatever for X linking. + + if test "$ISC" = yes; then + X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet" + else + # Martyn Johnson says this is needed for Ultrix, if the X + # libraries were built with DECnet support. And Karl Berry says + # the Alpha needs dnet_stub (dnet does not exist). + ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char XOpenDisplay (); +int +main () +{ +return XOpenDisplay (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet" >&5 +$as_echo_n "checking for dnet_ntoa in -ldnet... " >&6; } +if ${ac_cv_lib_dnet_dnet_ntoa+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldnet $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dnet_ntoa (); +int +main () +{ +return dnet_ntoa (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_dnet_dnet_ntoa=yes +else + ac_cv_lib_dnet_dnet_ntoa=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_dnet_ntoa" >&5 +$as_echo "$ac_cv_lib_dnet_dnet_ntoa" >&6; } +if test "x$ac_cv_lib_dnet_dnet_ntoa" = xyes; then : + X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet" +fi + + if test $ac_cv_lib_dnet_dnet_ntoa = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dnet_ntoa in -ldnet_stub" >&5 +$as_echo_n "checking for dnet_ntoa in -ldnet_stub... " >&6; } +if ${ac_cv_lib_dnet_stub_dnet_ntoa+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldnet_stub $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dnet_ntoa (); +int +main () +{ +return dnet_ntoa (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_dnet_stub_dnet_ntoa=yes +else + ac_cv_lib_dnet_stub_dnet_ntoa=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5 +$as_echo "$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; } +if test "x$ac_cv_lib_dnet_stub_dnet_ntoa" = xyes; then : + X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub" +fi + + fi +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$ac_xsave_LIBS" + + # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT, + # to get the SysV transport functions. + # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4) + # needs -lnsl. + # The nsl library prevents programs from opening the X display + # on Irix 5.2, according to T.E. Dickey. + # The functions gethostbyname, getservbyname, and inet_addr are + # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking. + ac_fn_cxx_check_func "$LINENO" "gethostbyname" "ac_cv_func_gethostbyname" +if test "x$ac_cv_func_gethostbyname" = xyes; then : + +fi + + if test $ac_cv_func_gethostbyname = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5 +$as_echo_n "checking for gethostbyname in -lnsl... " >&6; } +if ${ac_cv_lib_nsl_gethostbyname+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lnsl $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char gethostbyname (); +int +main () +{ +return gethostbyname (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_nsl_gethostbyname=yes +else + ac_cv_lib_nsl_gethostbyname=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5 +$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; } +if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then : + X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl" +fi + + if test $ac_cv_lib_nsl_gethostbyname = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lbsd" >&5 +$as_echo_n "checking for gethostbyname in -lbsd... " >&6; } +if ${ac_cv_lib_bsd_gethostbyname+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lbsd $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char gethostbyname (); +int +main () +{ +return gethostbyname (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_bsd_gethostbyname=yes +else + ac_cv_lib_bsd_gethostbyname=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_bsd_gethostbyname" >&5 +$as_echo "$ac_cv_lib_bsd_gethostbyname" >&6; } +if test "x$ac_cv_lib_bsd_gethostbyname" = xyes; then : + X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd" +fi + + fi + fi + + # lieder@skyler.mavd.honeywell.com says without -lsocket, + # socket/setsockopt and other routines are undefined under SCO ODT + # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary + # on later versions), says Simon Leinen: it contains gethostby* + # variants that don't use the name server (or something). -lsocket + # must be given before -lnsl if both are needed. We assume that + # if connect needs -lnsl, so does gethostbyname. + ac_fn_cxx_check_func "$LINENO" "connect" "ac_cv_func_connect" +if test "x$ac_cv_func_connect" = xyes; then : + +fi + + if test $ac_cv_func_connect = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for connect in -lsocket" >&5 +$as_echo_n "checking for connect in -lsocket... " >&6; } +if ${ac_cv_lib_socket_connect+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lsocket $X_EXTRA_LIBS $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char connect (); +int +main () +{ +return connect (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_socket_connect=yes +else + ac_cv_lib_socket_connect=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_connect" >&5 +$as_echo "$ac_cv_lib_socket_connect" >&6; } +if test "x$ac_cv_lib_socket_connect" = xyes; then : + X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS" +fi + + fi + + # Guillermo Gomez says -lposix is necessary on A/UX. + ac_fn_cxx_check_func "$LINENO" "remove" "ac_cv_func_remove" +if test "x$ac_cv_func_remove" = xyes; then : + +fi + + if test $ac_cv_func_remove = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for remove in -lposix" >&5 +$as_echo_n "checking for remove in -lposix... " >&6; } +if ${ac_cv_lib_posix_remove+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lposix $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char remove (); +int +main () +{ +return remove (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_posix_remove=yes +else + ac_cv_lib_posix_remove=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_posix_remove" >&5 +$as_echo "$ac_cv_lib_posix_remove" >&6; } +if test "x$ac_cv_lib_posix_remove" = xyes; then : + X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix" +fi + + fi + + # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. + ac_fn_cxx_check_func "$LINENO" "shmat" "ac_cv_func_shmat" +if test "x$ac_cv_func_shmat" = xyes; then : + +fi + + if test $ac_cv_func_shmat = no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shmat in -lipc" >&5 +$as_echo_n "checking for shmat in -lipc... " >&6; } +if ${ac_cv_lib_ipc_shmat+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lipc $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shmat (); +int +main () +{ +return shmat (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_ipc_shmat=yes +else + ac_cv_lib_ipc_shmat=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ipc_shmat" >&5 +$as_echo "$ac_cv_lib_ipc_shmat" >&6; } +if test "x$ac_cv_lib_ipc_shmat" = xyes; then : + X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc" +fi + + fi + fi + + # Check for libraries that X11R6 Xt/Xaw programs need. + ac_save_LDFLAGS=$LDFLAGS + test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries" + # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to + # check for ICE first), but we must link in the order -lSM -lICE or + # we get undefined symbols. So assume we have SM if we have ICE. + # These have to be linked with before -lX11, unlike the other + # libraries we check for below, so use a different variable. + # John Interrante, Karl Berry + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IceConnectionNumber in -lICE" >&5 +$as_echo_n "checking for IceConnectionNumber in -lICE... " >&6; } +if ${ac_cv_lib_ICE_IceConnectionNumber+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lICE $X_EXTRA_LIBS $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char IceConnectionNumber (); +int +main () +{ +return IceConnectionNumber (); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_lib_ICE_IceConnectionNumber=yes +else + ac_cv_lib_ICE_IceConnectionNumber=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5 +$as_echo "$ac_cv_lib_ICE_IceConnectionNumber" >&6; } +if test "x$ac_cv_lib_ICE_IceConnectionNumber" = xyes; then : + X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE" +fi + + LDFLAGS=$ac_save_LDFLAGS + +fi + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. +set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_PKG_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_path_PKG_CONFIG"; then + ac_pt_PKG_CONFIG=$PKG_CONFIG + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $ac_pt_PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG +if test -n "$ac_pt_PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +$as_echo "$ac_pt_PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_pt_PKG_CONFIG" = x; then + PKG_CONFIG="no" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + PKG_CONFIG=$ac_pt_PKG_CONFIG + fi +else + PKG_CONFIG="$ac_cv_path_PKG_CONFIG" +fi + + +image_lib=none + +PIXBUF_CFLAGS= +PIXBUF_LIBS= + +if test x$support_pixbuf = xyes; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gdk-pixbuf-2.0" >&5 +$as_echo_n "checking for gdk-pixbuf-2.0... " >&6; } + if test $PKG_CONFIG != no && $PKG_CONFIG --exists gdk-pixbuf-2.0; then + PIXBUF_CFLAGS="`$PKG_CONFIG --cflags gdk-pixbuf-2.0`" + PIXBUF_LIBS="`$PKG_CONFIG --libs gdk-pixbuf-2.0`" + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } + + image_lib=gdk-pixbuf + +$as_echo "#define HAVE_PIXBUF 1" >>confdefs.h + + + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + : + fi + +fi + + + + +STARTUP_NOTIFICATION_CFLAGS= +STARTUP_NOTIFICATION_LIBS= + +if test x$support_startup_notification = xyes; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libstartup-notification-1.0" >&5 +$as_echo_n "checking for libstartup-notification-1.0... " >&6; } + if test $PKG_CONFIG != no && $PKG_CONFIG --exists libstartup-notification-1.0; then + STARTUP_NOTIFICATION_CFLAGS="`$PKG_CONFIG --cflags libstartup-notification-1.0`" + STARTUP_NOTIFICATION_LIBS="`$PKG_CONFIG --libs libstartup-notification-1.0`" + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } + + +$as_echo "#define HAVE_STARTUP_NOTIFICATION 1" >>confdefs.h + + + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + : + fi + +fi + + + + +if test x$support_frills = xyes; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for xmu" >&5 +$as_echo_n "checking for xmu... " >&6; } + if test $PKG_CONFIG != no && $PKG_CONFIG --exists xmu; then + XMU_CFLAGS="`$PKG_CONFIG --cflags xmu`" + XMU_LIBS="`$PKG_CONFIG --libs xmu`" + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } + + X_LIBS="$XMU_LIBS $X_LIBS" + CPPFLAGS="$CPPFLAGS $XMU_CFLAGS" + +$as_echo "#define HAVE_XMU 1" >>confdefs.h + + + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + : + fi + +fi + +for ac_header in \ + sys/byteorder.h \ + sys/ioctl.h \ + sys/sockio.h \ + sys/strredir.h \ + stdint.h \ + wchar.h \ + +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for XLIB_ILLEGAL_ACCESS" >&5 +$as_echo_n "checking for XLIB_ILLEGAL_ACCESS... " >&6; } +if ${rxvt_cv_xlib_illegal_access+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#define XLIB_ILLEGAL_ACCESS +#include <X11/Xlib.h> + +int +main () +{ + + Display *dpy; + dpy->xdefaults = (char *)0; + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + rxvt_cv_xlib_illegal_access=yes +else + rxvt_cv_xlib_illegal_access=no + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $rxvt_cv_xlib_illegal_access" >&5 +$as_echo "$rxvt_cv_xlib_illegal_access" >&6; } +if test x$rxvt_cv_xlib_illegal_access = xyes; then + +$as_echo "#define XLIB_ILLEGAL_ACCESS 1" >>confdefs.h + +fi + +ac_fn_cxx_check_type "$LINENO" "mode_t" "ac_cv_type_mode_t" "$ac_includes_default" +if test "x$ac_cv_type_mode_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define mode_t int +_ACEOF + +fi + +ac_fn_cxx_check_type "$LINENO" "pid_t" "ac_cv_type_pid_t" "$ac_includes_default" +if test "x$ac_cv_type_pid_t" = xyes; then : + +else + +cat >>confdefs.h <<_ACEOF +#define pid_t int +_ACEOF + +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for uid_t in sys/types.h" >&5 +$as_echo_n "checking for uid_t in sys/types.h... " >&6; } +if ${ac_cv_type_uid_t+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <sys/types.h> + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "uid_t" >/dev/null 2>&1; then : + ac_cv_type_uid_t=yes +else + ac_cv_type_uid_t=no +fi +rm -f conftest* + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_uid_t" >&5 +$as_echo "$ac_cv_type_uid_t" >&6; } +if test $ac_cv_type_uid_t = no; then + +$as_echo "#define uid_t int" >>confdefs.h + + +$as_echo "#define gid_t int" >>confdefs.h + +fi + +ac_fn_c_find_intX_t "$LINENO" "16" "ac_cv_c_int16_t" +case $ac_cv_c_int16_t in #( + no|yes) ;; #( + *) + +cat >>confdefs.h <<_ACEOF +#define int16_t $ac_cv_c_int16_t +_ACEOF +;; +esac + +ac_fn_c_find_uintX_t "$LINENO" "16" "ac_cv_c_uint16_t" +case $ac_cv_c_uint16_t in #( + no|yes) ;; #( + *) + + +cat >>confdefs.h <<_ACEOF +#define uint16_t $ac_cv_c_uint16_t +_ACEOF +;; + esac + +ac_fn_c_find_intX_t "$LINENO" "32" "ac_cv_c_int32_t" +case $ac_cv_c_int32_t in #( + no|yes) ;; #( + *) + +cat >>confdefs.h <<_ACEOF +#define int32_t $ac_cv_c_int32_t +_ACEOF +;; +esac + +ac_fn_c_find_uintX_t "$LINENO" "32" "ac_cv_c_uint32_t" +case $ac_cv_c_uint32_t in #( + no|yes) ;; #( + *) + +$as_echo "#define _UINT32_T 1" >>confdefs.h + + +cat >>confdefs.h <<_ACEOF +#define uint32_t $ac_cv_c_uint32_t +_ACEOF +;; + esac + + +for ac_func in unsetenv +do : + ac_fn_cxx_check_func "$LINENO" "unsetenv" "ac_cv_func_unsetenv" +if test "x$ac_cv_func_unsetenv" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_UNSETENV 1 +_ACEOF + +fi +done + + + +support_utmp=yes +support_wtmp=yes +support_lastlog=yes + +# Check whether --enable-utmp was given. +if test "${enable_utmp+set}" = set; then : + enableval=$enable_utmp; if test x$enableval = xyes -o x$enableval = xno; then + support_utmp=$enableval + fi +fi + + +# Check whether --enable-wtmp was given. +if test "${enable_wtmp+set}" = set; then : + enableval=$enable_wtmp; if test x$enableval = xyes -o x$enableval = xno; then + support_wtmp=$enableval + fi +fi + + +# Check whether --enable-lastlog was given. +if test "${enable_lastlog+set}" = set; then : + enableval=$enable_lastlog; if test x$enableval = xyes -o x$enableval = xno; then + support_lastlog=$enableval + fi +fi + + +if test x$support_utmp = xyes; then + +$as_echo "#define UTMP_SUPPORT 1" >>confdefs.h + +fi +if test x$support_wtmp = xyes; then + +$as_echo "#define WTMP_SUPPORT 1" >>confdefs.h + +fi +if test x$support_lastlog = xyes; then + +$as_echo "#define LASTLOG_SUPPORT 1" >>confdefs.h + +fi + +for ac_func in \ + updwtmp \ + updwtmpx \ + updlastlogx \ + +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_cxx_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + +for ac_header in lastlog.h +do : + ac_fn_cxx_check_header_mongrel "$LINENO" "lastlog.h" "ac_cv_header_lastlog_h" "$ac_includes_default" +if test "x$ac_cv_header_lastlog_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LASTLOG_H 1 +_ACEOF + +fi + +done + + +case $host in + *-*-solaris*) + +$as_echo "#define __EXTENSIONS__ 1" >>confdefs.h + + ;; +esac + + +for ac_header in utmp.h +do : + ac_fn_cxx_check_header_mongrel "$LINENO" "utmp.h" "ac_cv_header_utmp_h" "$ac_includes_default" +if test "x$ac_cv_header_utmp_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_UTMP_H 1 +_ACEOF + +ac_fn_cxx_check_type "$LINENO" "struct utmp" "ac_cv_type_struct_utmp" " +#include <sys/types.h> +#include <utmp.h> + +" +if test "x$ac_cv_type_struct_utmp" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_UTMP 1 +_ACEOF + + +fi + + +ac_fn_cxx_check_member "$LINENO" "struct utmp" "ut_host" "ac_cv_member_struct_utmp_ut_host" " +#include <sys/types.h> +#include <utmp.h> + +" +if test "x$ac_cv_member_struct_utmp_ut_host" = xyes; then : + +$as_echo "#define HAVE_UTMP_HOST 1" >>confdefs.h + +fi + + +ac_fn_cxx_check_member "$LINENO" "struct utmp" "ut_pid" "ac_cv_member_struct_utmp_ut_pid" " +#include <sys/types.h> +#include <utmp.h> + +" +if test "x$ac_cv_member_struct_utmp_ut_pid" = xyes; then : + +$as_echo "#define HAVE_UTMP_PID 1" >>confdefs.h + +fi + + +fi + +done + + +for ac_header in utmpx.h +do : + ac_fn_cxx_check_header_mongrel "$LINENO" "utmpx.h" "ac_cv_header_utmpx_h" "$ac_includes_default" +if test "x$ac_cv_header_utmpx_h" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_UTMPX_H 1 +_ACEOF + +ac_fn_cxx_check_type "$LINENO" "struct utmpx" "ac_cv_type_struct_utmpx" " +#include <sys/types.h> +#include <utmpx.h> + +" +if test "x$ac_cv_type_struct_utmpx" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_UTMPX 1 +_ACEOF + + +fi + + +ac_fn_cxx_check_member "$LINENO" "struct utmpx" "ut_host" "ac_cv_member_struct_utmpx_ut_host" " +#include <sys/types.h> +#include <utmpx.h> + +" +if test "x$ac_cv_member_struct_utmpx_ut_host" = xyes; then : + +$as_echo "#define HAVE_UTMPX_HOST 1" >>confdefs.h + +fi + + +fi + +done + +ac_fn_cxx_check_type "$LINENO" "struct lastlog" "ac_cv_type_struct_lastlog" " +#include <sys/types.h> +#include <utmp.h> +#ifdef HAVE_LASTLOG_H +#include <lastlog.h> +#endif + +" +if test "x$ac_cv_type_struct_lastlog" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_LASTLOG 1 +_ACEOF + + +fi + + +ac_fn_cxx_check_type "$LINENO" "struct lastlogx" "ac_cv_type_struct_lastlogx" " +#include <sys/types.h> +#include <utmpx.h> +#ifdef HAVE_LASTLOG_H +#include <lastlog.h> +#endif + +" +if test "x$ac_cv_type_struct_lastlogx" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_LASTLOGX 1 +_ACEOF + + +fi + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a fallback location of utmp" >&5 +$as_echo_n "checking for a fallback location of utmp... " >&6; } +if ${pt_cv_path_utmp+:} false; then : + $as_echo_n "(cached) " >&6 +else + +if test "$cross_compiling" != yes; then + for file in "/var/run/utmp" "/var/adm/utmp" "/etc/utmp" "/usr/etc/utmp" "/usr/adm/utmp"; do + if test -f "$file"; then + pt_cv_path_utmp=$file + break + fi + done +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pt_cv_path_utmp" >&5 +$as_echo "$pt_cv_path_utmp" >&6; } +if test x$pt_cv_path_utmp != x; then + +cat >>confdefs.h <<_ACEOF +#define PT_UTMP_FILE "$pt_cv_path_utmp" +_ACEOF + +elif test "$cross_compiling" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Define PT_UTMP_FILE in config.h manually" >&5 +$as_echo "$as_me: WARNING: Define PT_UTMP_FILE in config.h manually" >&2;} +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a fallback location of wtmp" >&5 +$as_echo_n "checking for a fallback location of wtmp... " >&6; } +if ${pt_cv_path_wtmp+:} false; then : + $as_echo_n "(cached) " >&6 +else + +if test "$cross_compiling" != yes; then + for file in "/var/log/wtmp" "/var/adm/wtmp" "/etc/wtmp" "/usr/etc/wtmp" "/usr/adm/wtmp"; do + if test -f "$file"; then + pt_cv_path_wtmp=$file + break + fi + done +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pt_cv_path_wtmp" >&5 +$as_echo "$pt_cv_path_wtmp" >&6; } +if test x$pt_cv_path_wtmp != x; then + +cat >>confdefs.h <<_ACEOF +#define PT_WTMP_FILE "$pt_cv_path_wtmp" +_ACEOF + +elif test "$cross_compiling" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Define PT_WTMP_FILE in config.h manually" >&5 +$as_echo "$as_me: WARNING: Define PT_WTMP_FILE in config.h manually" >&2;} +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a fallback location of wtmpx" >&5 +$as_echo_n "checking for a fallback location of wtmpx... " >&6; } +if ${pt_cv_path_wtmpx+:} false; then : + $as_echo_n "(cached) " >&6 +else + +if test "$cross_compiling" != yes; then + for file in "/var/log/wtmpx" "/var/adm/wtmpx"; do + if test -f "$file"; then + pt_cv_path_wtmpx=$file + break + fi + done +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pt_cv_path_wtmpx" >&5 +$as_echo "$pt_cv_path_wtmpx" >&6; } +if test x$pt_cv_path_wtmpx != x; then + +cat >>confdefs.h <<_ACEOF +#define PT_WTMPX_FILE "$pt_cv_path_wtmpx" +_ACEOF + +elif test "$cross_compiling" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Define PT_WTMPX_FILE in config.h manually" >&5 +$as_echo "$as_me: WARNING: Define PT_WTMPX_FILE in config.h manually" >&2;} +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a fallback location of lastlog" >&5 +$as_echo_n "checking for a fallback location of lastlog... " >&6; } +if ${pt_cv_path_lastlog+:} false; then : + $as_echo_n "(cached) " >&6 +else + +if test "$cross_compiling" != yes; then + for file in "/var/log/lastlog" "/var/adm/lastlog"; do + if test -f "$file"; then + pt_cv_path_lastlog=$file + break + fi + done +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pt_cv_path_lastlog" >&5 +$as_echo "$pt_cv_path_lastlog" >&6; } +if test x$pt_cv_path_lastlog != x; then + +cat >>confdefs.h <<_ACEOF +#define PT_LASTLOG_FILE "$pt_cv_path_lastlog" +_ACEOF + +elif test "$cross_compiling" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Define PT_LASTLOG_FILE in config.h manually" >&5 +$as_echo "$as_me: WARNING: Define PT_LASTLOG_FILE in config.h manually" >&2;} +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a fallback location of lastlogx" >&5 +$as_echo_n "checking for a fallback location of lastlogx... " >&6; } +if ${pt_cv_path_lastlogx+:} false; then : + $as_echo_n "(cached) " >&6 +else + +if test "$cross_compiling" != yes; then + for file in "/var/log/lastlogx" "/var/adm/lastlogx"; do + if test -f "$file"; then + pt_cv_path_lastlogx=$file + break + fi + done +fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pt_cv_path_lastlogx" >&5 +$as_echo "$pt_cv_path_lastlogx" >&6; } +if test x$pt_cv_path_lastlogx != x; then + +cat >>confdefs.h <<_ACEOF +#define PT_LASTLOGX_FILE "$pt_cv_path_lastlogx" +_ACEOF + +elif test "$cross_compiling" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Define PT_LASTLOGX_FILE in config.h manually" >&5 +$as_echo "$as_me: WARNING: Define PT_LASTLOGX_FILE in config.h manually" >&2;} +fi + + + + +save_LIBS=$LIBS +save_CXXFLAGS=$CXXFLAGS +CXXFLAGS="$CXXFLAGS $X_CFLAGS" +LIBS="$LIBS $X_LIBS $X_EXTRA_LIBS -lX11" +if test x$support_xim = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working Xlocale" >&5 +$as_echo_n "checking for working Xlocale... " >&6; } +if ${rxvt_cv_func_xlocale+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + : +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include <X11/Xlib.h> + #include <stdlib.h> + int main() { + char *p; + if ((p = XSetLocaleModifiers("@im=none")) != NULL && *p) + exit (XSupportsLocale() ? 0 : 1); + else + exit (1); + } + +_ACEOF +if ac_fn_cxx_try_run "$LINENO"; then : + rxvt_cv_func_xlocale=yes +else + rxvt_cv_func_xlocale=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $rxvt_cv_func_xlocale" >&5 +$as_echo "$rxvt_cv_func_xlocale" >&6; } + if test x$rxvt_cv_func_xlocale = xyes; then + +$as_echo "#define USE_XIM 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for broken XIM callback" >&5 +$as_echo_n "checking for broken XIM callback... " >&6; } +if ${rxvt_cv_broken_ximcb+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + + #include <X11/Xlib.h> + + void im_destroy_cb (XIC unused1, XPointer client_data, XPointer unused3); + + void f() { + XIMCallback cb; + cb.callback = im_destroy_cb; + } + +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + rxvt_cv_broken_ximcb=yes +else + rxvt_cv_broken_ximcb=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $rxvt_cv_broken_ximcb" >&5 +$as_echo "$rxvt_cv_broken_ximcb" >&6; } + + if test x$rxvt_cv_broken_ximcb = xyes; then + +$as_echo "#define XIMCB_PROTO_BROKEN 1" >>confdefs.h + + fi + fi +fi + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working X setlocale" >&5 +$as_echo_n "checking for working X setlocale... " >&6; } +if ${rxvt_cv_func_xsetlocale+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define X_LOCALE 1 +#include <X11/Xlocale.h> +int +main () +{ +setlocale(LC_CTYPE, ""); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + rxvt_cv_func_xsetlocale=yes +else + rxvt_cv_func_xsetlocale=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $rxvt_cv_func_xsetlocale" >&5 +$as_echo "$rxvt_cv_func_xsetlocale" >&6; } +if test x$rxvt_cv_func_xsetlocale = xyes; then + +$as_echo "#define HAVE_XSETLOCALE 1" >>confdefs.h + +fi +LIBS=$save_LIBS +CXXFLAGS=$save_CXXFLAGS + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working nl_langinfo" >&5 +$as_echo_n "checking for working nl_langinfo... " >&6; } +if ${rxvt_cv_func_nl_langinfo+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <langinfo.h> +int +main () +{ +nl_langinfo(CODESET); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + rxvt_cv_func_nl_langinfo=yes +else + rxvt_cv_func_nl_langinfo=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $rxvt_cv_func_nl_langinfo" >&5 +$as_echo "$rxvt_cv_func_nl_langinfo" >&6; } +if test x$rxvt_cv_func_nl_langinfo = xyes; then + +$as_echo "#define HAVE_NL_LANGINFO 1" >>confdefs.h + +fi + + + +case $host in + *-*-solaris*) + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#if __STDC_VERSION__ >= 199901L +error +#endif + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + $as_echo "#define _XOPEN_SOURCE 500" >>confdefs.h + +else + $as_echo "#define _XOPEN_SOURCE 600" >>confdefs.h + +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing sendmsg" >&5 +$as_echo_n "checking for library containing sendmsg... " >&6; } +if ${ac_cv_search_sendmsg+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char sendmsg (); +int +main () +{ +return sendmsg (); + ; + return 0; +} +_ACEOF +for ac_lib in '' socket; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_search_sendmsg=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_sendmsg+:} false; then : + break +fi +done +if ${ac_cv_search_sendmsg+:} false; then : + +else + ac_cv_search_sendmsg=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_sendmsg" >&5 +$as_echo "$ac_cv_search_sendmsg" >&6; } +ac_res=$ac_cv_search_sendmsg +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +fi + + ;; +esac + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for unix-compliant filehandle passing ability" >&5 +$as_echo_n "checking for unix-compliant filehandle passing ability... " >&6; } +if ${pt_cv_can_pass_fds+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include <stddef.h> // broken bsds (is that redundant?) need this +#include <sys/types.h> +#include <sys/socket.h> +#include <sys/uio.h> + +int +main () +{ + +{ + msghdr msg; + iovec iov; + char buf [100]; + char data = 0; + + iov.iov_base = &data; + iov.iov_len = 1; + + msg.msg_iov = &iov; + msg.msg_iovlen = 1; + msg.msg_control = buf; + msg.msg_controllen = sizeof buf; + + cmsghdr *cmsg = CMSG_FIRSTHDR (&msg); + cmsg->cmsg_level = SOL_SOCKET; + cmsg->cmsg_type = SCM_RIGHTS; + cmsg->cmsg_len = 100; + + *(int *)CMSG_DATA (cmsg) = 5; + + return sendmsg (3, &msg, 0); +} + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + pt_cv_can_pass_fds=yes +else + pt_cv_can_pass_fds=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pt_cv_can_pass_fds" >&5 +$as_echo "$pt_cv_can_pass_fds" >&6; } +if test x$pt_cv_can_pass_fds = xyes; then + +$as_echo "#define HAVE_UNIX_FDPASS 1" >>confdefs.h + +else + as_fn_error $? "libptytty requires unix-compliant filehandle passing ability" "$LINENO" 5 +fi + + + +for ac_header in \ + pty.h \ + util.h \ + libutil.h \ + sys/ioctl.h \ + stropts.h \ + +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +for ac_func in \ + revoke \ + _getpty \ + getpt \ + posix_openpt \ + isastream \ + setuid \ + seteuid \ + setreuid \ + setresuid \ + +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_cxx_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for UNIX98 ptys" >&5 +$as_echo_n "checking for UNIX98 ptys... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <stdlib.h> +int +main () +{ +grantpt(0);unlockpt(0);ptsname(0); + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + unix98_pty=yes + +$as_echo "#define UNIX98_PTY 1" >>confdefs.h + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + +if test -z "$unix98_pty"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing openpty" >&5 +$as_echo_n "checking for library containing openpty... " >&6; } +if ${ac_cv_search_openpty+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_func_search_save_LIBS=$LIBS +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char openpty (); +int +main () +{ +return openpty (); + ; + return 0; +} +_ACEOF +for ac_lib in '' util; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_cxx_try_link "$LINENO"; then : + ac_cv_search_openpty=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext + if ${ac_cv_search_openpty+:} false; then : + break +fi +done +if ${ac_cv_search_openpty+:} false; then : + +else + ac_cv_search_openpty=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_openpty" >&5 +$as_echo "$ac_cv_search_openpty" >&6; } +ac_res=$ac_cv_search_openpty +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +$as_echo "#define HAVE_OPENPTY 1" >>confdefs.h + +fi + +fi + + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tty group" >&5 +$as_echo_n "checking for tty group... " >&6; } +if ${pt_cv_tty_group+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test "$cross_compiling" = yes; then : + pt_cv_tty_group=no +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include <sys/types.h> +#include <sys/stat.h> +#include <unistd.h> +#include <grp.h> + +int main() +{ + struct stat st; + struct group *gr; + char *tty; + gr = getgrnam("tty"); + tty = ttyname(0); + if (gr != 0 + && tty != 0 + && (stat(tty, &st)) == 0 + && st.st_gid == gr->gr_gid) + return 0; + else + return 1; +} +_ACEOF +if ac_fn_cxx_try_run "$LINENO"; then : + pt_cv_tty_group=yes +else + pt_cv_tty_group=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $pt_cv_tty_group" >&5 +$as_echo "$pt_cv_tty_group" >&6; } +if test x$pt_cv_tty_group = xyes; then + +$as_echo "#define TTY_GID_SUPPORT 1" >>confdefs.h + +fi + +support_image=no +if test x$support_inheritpixmap = xyes || test x$support_pixbuf = xyes; then + support_image=yes +fi +if test x$support_xft = xyes || test x$support_image = xyes; then + rxvt_have_xrender=no + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for xrender" >&5 +$as_echo_n "checking for xrender... " >&6; } + if test $PKG_CONFIG != no && $PKG_CONFIG --exists xrender; then + XRENDER_CFLAGS="`$PKG_CONFIG --cflags xrender`" + XRENDER_LIBS="`$PKG_CONFIG --libs xrender`" + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } + + X_LIBS="$XRENDER_LIBS $X_LIBS" + CPPFLAGS="$CPPFLAGS $XRENDER_CFLAGS" + rxvt_have_xrender=yes + + save_LIBS="$LIBS" + LIBS="$LIBS $X_LIBS" + ac_fn_cxx_check_header_mongrel "$LINENO" "X11/extensions/Xrender.h" "ac_cv_header_X11_extensions_Xrender_h" "$ac_includes_default" +if test "x$ac_cv_header_X11_extensions_Xrender_h" = xyes; then : + +else + rxvt_have_xrender=no +fi + + + ac_fn_cxx_check_func "$LINENO" "XRenderFindStandardFormat" "ac_cv_func_XRenderFindStandardFormat" +if test "x$ac_cv_func_XRenderFindStandardFormat" = xyes; then : + +else + rxvt_have_xrender=no +fi + + LIBS="$save_LIBS" + + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + : + fi + +fi + +if test x$support_xft = xyes && test x$rxvt_have_xrender = xyes; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fontconfig xft" >&5 +$as_echo_n "checking for fontconfig xft... " >&6; } + if test $PKG_CONFIG != no && $PKG_CONFIG --exists fontconfig xft; then + XFT_CFLAGS="`$PKG_CONFIG --cflags fontconfig xft`" + XFT_LIBS="`$PKG_CONFIG --libs fontconfig xft`" + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } + + X_LIBS="$XFT_LIBS $X_LIBS" + CPPFLAGS="$CPPFLAGS $XFT_CFLAGS" + + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + + # Extract the first word of "xft-config", so it can be a program name with args. +set dummy xft-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_XFT_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $XFT_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_XFT_CONFIG="$XFT_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_XFT_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_XFT_CONFIG" && ac_cv_path_XFT_CONFIG="no" + ;; +esac +fi +XFT_CONFIG=$ac_cv_path_XFT_CONFIG +if test -n "$XFT_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XFT_CONFIG" >&5 +$as_echo "$XFT_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + if test $XFT_CONFIG != no; then + X_LIBS="`$XFT_CONFIG --libs` $X_LIBS" + CPPFLAGS="$CPPFLAGS `$XFT_CONFIG --cflags`" + fi + + fi + + + save_LIBS="$LIBS" + LIBS="$LIBS $X_LIBS" + for ac_header in X11/Xft/Xft.h fontconfig/fontconfig.h +do : + as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` +ac_fn_cxx_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" +if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +else + support_xft=no +fi + +done + + for ac_func in XftDrawString32 FcPatternGet +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_cxx_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +else + support_xft=no +fi +done + + LIBS="$save_LIBS" + + if test x$support_xft = xyes; then + +$as_echo "#define XFT 1" >>confdefs.h + + fi +fi + +if test x$support_image = xyes && test x$rxvt_have_xrender = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Render >= 0.11" >&5 +$as_echo_n "checking for Render >= 0.11... " >&6; } + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include <X11/extensions/Xrender.h> +#if RENDER_MAJOR == 0 && RENDER_MINOR <= 10 +error +#endif + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_compile "$LINENO"; then : + +else + support_image=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test x$support_image = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } + LIBS="$LIBS -lm" + +$as_echo "#define XRENDER 1" >>confdefs.h + + + if test x$support_inheritpixmap = xyes; then + +$as_echo "#define ENABLE_TRANSPARENCY 1" >>confdefs.h + + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + fi +fi + +if test x$support_styles = xyes; then + +$as_echo "#define ENABLE_STYLES 1" >>confdefs.h + +fi +if test x$support_iso14755 = xyes; then + +$as_echo "#define ISO_14755 1" >>confdefs.h + +fi +if test x$support_8bitctrls = xyes; then + +$as_echo "#define EIGHT_BIT_CONTROLS 1" >>confdefs.h + +fi +if test x$support_fading = xyes; then + +$as_echo "#define OFF_FOCUS_FADING 1" >>confdefs.h + +fi +if test x$support_keepscrolling = xno; then + +$as_echo "#define NO_SCROLLBAR_BUTTON_CONTINUAL_SCROLLING 1" >>confdefs.h + +fi +if test x$support_selectionscrolling = xyes; then + +$as_echo "#define SELECTION_SCROLLING 1" >>confdefs.h + +fi +if test x$support_frills = xyes; then + +$as_echo "#define ENABLE_FRILLS 1" >>confdefs.h + +fi +if test x$support_mousewheel = xyes; then + +$as_echo "#define MOUSE_WHEEL 1" >>confdefs.h + +fi +if test x$support_mouseslipwheel = xyes; then + +$as_echo "#define MOUSE_SLIP_WHEELING 1" >>confdefs.h + +fi + +scrolltypes=plain + +$as_echo "#define PLAIN_SCROLLBAR 1" >>confdefs.h + + +if test x$support_scroll_rxvt = xyes; then + +$as_echo "#define RXVT_SCROLLBAR 1" >>confdefs.h + + scrolltypes="$scrolltypes rxvt" +fi +if test x$support_scroll_next = xyes; then + +$as_echo "#define NEXT_SCROLLBAR 1" >>confdefs.h + + scrolltypes="$scrolltypes next" +fi +if test x$support_scroll_xterm = xyes; then + +$as_echo "#define XTERM_SCROLLBAR 1" >>confdefs.h + + scrolltypes="$scrolltypes xterm" +fi +if test x$support_pointer_blank = xyes; then + +$as_echo "#define POINTER_BLANK 1" >>confdefs.h + +fi +if test x$support_text_blink = xyes; then + +$as_echo "#define TEXT_BLINK 1" >>confdefs.h + +fi +if test x$support_unicode3 = xyes; then + +$as_echo "#define UNICODE_3 1" >>confdefs.h + +fi +if test x$support_combining = xyes; then + +$as_echo "#define ENABLE_COMBINING 1" >>confdefs.h + +fi +if test x$codesets = xall; then + codesets=jp,jp-ext,kr,zh,zh-ext +fi + +$as_echo "#define ENCODING_EU 1" >>confdefs.h + + +$as_echo "#define ENCODING_VN 1" >>confdefs.h + +for codeset in `echo $codesets | tr "a-z,\\-" "A-Z _"`; do + case "$codeset" in + JP ) +$as_echo "#define ENCODING_JP 1" >>confdefs.h + ;; + JP_EXT ) +$as_echo "#define ENCODING_JP_EXT 1" >>confdefs.h + ;; + KR ) +$as_echo "#define ENCODING_KR 1" >>confdefs.h + ;; + ZH ) +$as_echo "#define ENCODING_ZH 1" >>confdefs.h + ;; + ZH_EXT ) +$as_echo "#define ENCODING_ZH_EXT 1" >>confdefs.h + ;; + esac +done + +IF_PERL=\# +if test x$support_perl = xyes; then + # Extract the first word of "perl5", so it can be a program name with args. +set dummy perl5; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_PERL+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $PERL in + [\\/]* | ?:[\\/]*) + ac_cv_path_PERL="$PERL" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_PERL" && ac_cv_path_PERL="perl" + ;; +esac +fi +PERL=$ac_cv_path_PERL +if test -n "$PERL"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5 +$as_echo "$PERL" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $PERL suitability" >&5 +$as_echo_n "checking for $PERL suitability... " >&6; } + if $PERL -MExtUtils::Embed -e "use v5.8" >/dev/null 2>/dev/null; then + + save_CXXFLAGS="$CXXFLAGS" + save_LIBS="$LIBS" + CXXFLAGS="$CXXFLAGS `$PERL -MExtUtils::Embed -e ccopts`" + LIBS="$LIBS `$PERL -MExtUtils::Embed -e ldopts`" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include <EXTERN.h> +#include <perl.h> +#include <XSUB.h> + +int +main () +{ + + PerlInterpreter *perl = perl_alloc (); + + ; + return 0; +} +_ACEOF +if ac_fn_cxx_try_link "$LINENO"; then : + rxvt_perl_link=yes +else + rxvt_perl_link=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + CXXFLAGS="$save_CXXFLAGS" + LIBS="$save_LIBS" + + if test x$rxvt_perl_link = xyes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 +$as_echo "ok" >&6; } + +$as_echo "#define ENABLE_PERL 1" >>confdefs.h + + IF_PERL= + PERL_O=rxvtperl.o + PERLFLAGS="`$PERL -MExtUtils::Embed -e ccopts`" + PERLLIB="`$PERL -MExtUtils::Embed -e ldopts`" + PERLPRIVLIBEXP="`$PERL -MConfig -e 'print $Config{privlibexp}'`" + else + as_fn_error $? "no, unable to link" "$LINENO" 5 + fi + else + as_fn_error $? "no working perl found, or perl not version >= 5.8" "$LINENO" 5 + fi +fi + + + + + + + + +ac_config_files="$ac_config_files Makefile doc/Makefile src/Makefile" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + if test "x$cache_file" != "x/dev/null"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +U= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + + +: "${CONFIG_STATUS=./config.status}" +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false + +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -pR'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -pR' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -pR' + fi +else + as_ln_s='cp -pR' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + + +# as_fn_executable_p FILE +# ----------------------- +# Test if FILE is an executable regular file. +as_fn_executable_p () +{ + test -f "$1" && test -x "$1" +} # as_fn_executable_p +as_test_x='test -x' +as_executable_p=as_fn_executable_p + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by $as_me, which was +generated by GNU Autoconf 2.69. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + +case $ac_config_headers in *" +"*) set x $ac_config_headers; shift; ac_config_headers=$*;; +esac + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Report bugs to the package provider." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_version="\\ +config.status +configured by $0, generated by GNU Autoconf 2.69, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2012 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=?*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + as_fn_append CONFIG_HEADERS " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + as_fn_error $? "ambiguous option: \`$1' +Try \`$0 --help' for more information.";; + --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + $as_echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.h.in" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= ac_tmp= + trap 'exit_status=$? + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\)..*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\)..*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' <conf$$subs.awk | sed ' +/^[^""]/{ + N + s/\n// +} +' >>$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +_ACEOF + +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + +# Set up the scripts for CONFIG_HEADERS section. +# No need to generate them if there are no CONFIG_HEADERS. +# This happens for instance with `./config.status Makefile'. +if test -n "$CONFIG_HEADERS"; then +cat >"$ac_tmp/defines.awk" <<\_ACAWK || +BEGIN { +_ACEOF + +# Transform confdefs.h into an awk script `defines.awk', embedded as +# here-document in config.status, that substitutes the proper values into +# config.h.in to produce config.h. + +# Create a delimiter string that does not exist in confdefs.h, to ease +# handling of long lines. +ac_delim='%!_!# ' +for ac_last_try in false false :; do + ac_tt=`sed -n "/$ac_delim/p" confdefs.h` + if test -z "$ac_tt"; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +# For the awk script, D is an array of macro values keyed by name, +# likewise P contains macro parameters if any. Preserve backslash +# newline sequences. + +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +sed -n ' +s/.\{148\}/&'"$ac_delim"'/g +t rset +:rset +s/^[ ]*#[ ]*define[ ][ ]*/ / +t def +d +:def +s/\\$// +t bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3"/p +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p +d +:bsnl +s/["\\]/\\&/g +s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ +D["\1"]=" \3\\\\\\n"\\/p +t cont +s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p +t cont +d +:cont +n +s/.\{148\}/&'"$ac_delim"'/g +t clear +:clear +s/\\$// +t bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/"/p +d +:bsnlc +s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p +b cont +' <confdefs.h | sed ' +s/'"$ac_delim"'/"\\\ +"/g' >>$CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + for (key in D) D_is_set[key] = 1 + FS = "" +} +/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { + line = \$ 0 + split(line, arg, " ") + if (arg[1] == "#") { + defundef = arg[2] + mac1 = arg[3] + } else { + defundef = substr(arg[1], 2) + mac1 = arg[2] + } + split(mac1, mac2, "(") #) + macro = mac2[1] + prefix = substr(line, 1, index(line, defundef) - 1) + if (D_is_set[macro]) { + # Preserve the white space surrounding the "#". + print prefix "define", macro P[macro] D[macro] + next + } else { + # Replace #undef with comments. This is necessary, for example, + # in the case of _POSIX_SOURCE, which is predefined and required + # on some systems where configure will not decide to define it. + if (defundef == "undef") { + print "/*", prefix defundef, macro, "*/" + next + } + } +} +{ print } +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 +fi # test -n "$CONFIG_HEADERS" + + +eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS " +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$ac_tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$ac_tmp/stdin" + case $ac_file in + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + :H) + # + # CONFIG_HEADER + # + if test x"$ac_file" != x-; then + { + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" + } >"$ac_tmp/config.h" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then + { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 +$as_echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f "$ac_file" + mv "$ac_tmp/config.h" "$ac_file" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + fi + else + $as_echo "/* $configure_input */" \ + && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ + || as_fn_error $? "could not create -" "$LINENO" 5 + fi + ;; + + + esac + +done # for ac_tag + + +as_fn_exit 0 +_ACEOF +ac_clean_files=$ac_clean_files_save + +test $ac_write_fail = 0 || + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || as_fn_exit 1 +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + + +echo "Configuration: + + Rxvt version: $VERSION : $DATE + Source code location: $srcdir + Install path: ${prefix}/bin + Compiler: $CXX + Compiler flags: $CXXFLAGS + Linker: $LINKER" + +if test x$term != x; then + echo " set TERM to: $term" +fi +if test x$terminfo != x; then + echo " set TERMINFO to: $terminfo" +fi +echo " default resource name: $RESNAME" +echo " resource class: $RESCLASS" +if test x$RESFALLBACK != x; then + echo " resource class fallback: $RESFALLBACK" +fi +echo +echo " embedded perl: $support_perl" +echo " image library: $image_lib" +echo +if test x$support_xim = xyes -a x$rxvt_cv_func_xlocale = xno; then + echo ".----------------------------------------------------------------." + echo ". WARNING: --enable-xim was specified however the locale support ." + echo ". functions could not be found. ." + echo ". XIM is now being DISABLED! ." + echo ".----------------------------------------------------------------." +fi + +echo "*** Optionally check src/feature.h for further, rarely used options ***" +echo + 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) diff --git a/src/version.h b/src/version.h new file mode 100644 index 0000000..d82a1f3 --- /dev/null +++ b/src/version.h @@ -0,0 +1,3 @@ +// VERSION _must_ be \d.\d+ +#define VERSION "9.22" +#define DATE "2016-01-23" |