--- rxvt-unicode/src/feature.h 2004/01/30 15:58:07 1.7 +++ rxvt-unicode/src/feature.h 2011/05/30 21:24:41 1.62 @@ -24,36 +24,41 @@ #define FEATURE_H #ifndef X11USRLIBDIR -# define X11USRLIBDIR "/usr/X11R6/lib" +# define X11USRLIBDIR "/usr/lib" #endif #ifndef X11LIBDIR # define X11LIBDIR X11USRLIBDIR "/X11" #endif #ifndef XAPPLOADDIR -# define XAPPLOADDIR X11LIBDIR "/app-defaults" -# define XAPPLOADDIRLOCALE X11LIBDIR "/%-.*s/app-defaults" +# define XAPPLOADDIR X11LIBDIR "/app-defaults" +# define XAPPLOADDIRLOCALE X11LIBDIR "/%s/app-defaults" #endif /*-----------------------SCREEN OPTIONS AND COLOURS---------------------*/ + /* - * Define the name of the environment variable to be used in - * addition to the "PATH" environment and the `path' resource. - * Usually it should point to where you keep your background pixmaps and/or - * your menu files + * NOTE: + * + * Some of these configuration options have not been tested within the new + * rxvt-unicode framework. Changing them should work, might have no effect, + * destroy your disks or have any other effects. You may freely try (and + * report bugs, too!), but don't _expect_ them to work. */ -#define PATH_ENV "RXVTPATH" /* - * Avoid enabling the colour cursor (-cr, cursorColor, cursorColor2) + * The cursor blink interval, in seconds. */ -/* #define NO_CURSORCOLOR */ +#define CURSOR_BLINK_INTERVAL 0.5 /* - * Suppress use of BOLD and BLINK attributes for setting bright foreground - * and background, respectively. Simulate BOLD using colorBD or - * overstrike characters. + * The text blink interval, in seconds. */ -/* #define NO_BRIGHTCOLOR */ +#define TEXT_BLINK_INTERVAL CURSOR_BLINK_INTERVAL + +/* + * Avoid enabling the colour cursor (-cr, cursorColor, cursorColor2) + */ +/* #define NO_CURSORCOLOR */ /* * Make colours match xterm colours instead of `traditional' rxvt colours @@ -66,115 +71,40 @@ /* #define NO_BOLD_UNDERLINE_REVERSE */ /* - * Don't bother cleaning up pixel droppings. If you don't use bold - * overstrike then you don't usually need this - */ -#define NO_PIXEL_DROPPING_AVOIDANCE - -/* * Define maximum possible columns and rows */ -#define MAX_COLS 4000 -#define MAX_ROWS 1000 +#define MAX_COLS 10000 +#define MAX_ROWS 10000 /* - * Define default colours for certain items. If you have a low colour - * display, then consider using colours which are already pre-allocated: - * Black (#000000) - * Red3 (#CD0000) + these - * Green3 (#00CD00) + colours - * Yellow3 (#CDCD00) + are - * Blue3 (#0000CD) + not - * Magenta3 (#CD00CD) + pre-allocated - * Cyan3 (#00CDCD) + if - * AntiqueWhite (#FAEBD7) + NO_BRIGHTCOLOR - * Grey25 (#404040) + defined - * Red (#FF0000) - * Green (#00FF00) - * Yellow (#FFFF00) - * Blue (#0000FF) - * Magenta (#FF00FF) - * Cyan (#00FFFF) - * White (#FFFFFF) - */ -/* These colours MUST be defined */ -#define COLOR_FOREGROUND "Black" -#define COLOR_BACKGROUND "White" -#define COLOR_SCROLLBAR "#B2B2B2" /* scrollColor match Netscape */ -#define COLOR_SCROLLTROUGH "#969696" -/* - * The cursor colours are special. Be very careful about setting these: - * foreground/background colours may be modified by command line or resources - * prior to this allocation. Also, they are not valid if NO_CURSORCOLOR is - * defined + * Define maximum possible savelines */ -#define COLOR_CURSOR_FOREGROUND NULL /* if NULL, use background colour */ -#define COLOR_CURSOR_BACKGROUND NULL /* if NULL, use foreground colour */ +#define MAX_SAVELINES 10000000 /* - * Define to remove support for XCopyArea() support. XCopyArea() is useful + * Define to remove support for XCopyArea () support. XCopyArea () is useful * for scrolling on non-local X displays */ -/* #define NO_SLOW_LINK_SUPPORT */ - -/* - * Printer pipe which will be used for emulation of attached vt100 printer - */ -#define PRINTPIPE "lpr" +#define NO_SLOW_LINK_SUPPORT /* * Allow 80/132 mode switching on startup */ /* #define ALLOW_132_MODE */ - -/*------------------------------RESOURCES-------------------------------*/ -/* - * Define to find installed application defaults for rxvt - * Only if USE_XGETDEFAULT is not defined. - */ -/* #define USE_XAPPLOADDIR */ - -/* - * Add support for the Offix DND (Drag 'n' Drop) protocol - */ -/* #define OFFIX_DND */ /*---------------------------------KEYS---------------------------------*/ /* - * Define defaults for backspace and delete keys - unless they have been - * configured out with --disable-backspace-key / --disable-delete-key - */ -//#define DEFAULT_BACKSPACE "DEC" /* SPECIAL */ -#define DEFAULT_BACKSPACE "\010" /* wrong, but match terminfo etc. */ -#define DEFAULT_DELETE "\033[3~" - -/* - * Choose one of these values to be the `hotkey' for changing font. - * This has been superceded and is only for you older users - */ -/* #define HOTKEY_CTRL */ -/* #define HOTKEY_META */ - -/* - * To use - * Home = "\E[1~", End = "\E[4~" - * instead of - * Home = "\E[7~", End = "\E[8~" [default] - */ -/* #define LINUX_KEYS */ - -/* * Enable the keysym resource which allows you to define strings associated * with various KeySyms (0xFF00 - 0xFFFF). - * Only works with the default hand-rolled resources. + * Required by perl. */ -#ifndef NO_RESOURCES +#if ENABLE_FRILLS || ENABLE_PERL # define KEYSYM_RESOURCE #endif /* - * Modifier/s to use to allow up/down arrows and Priot/Next keys + * Modifier/s to use to allow up/down arrows and Prior/Next keys * to scroll single or page-fulls */ #define SCROLL_ON_SHIFT @@ -184,7 +114,7 @@ /* * Allow scrolling with modifier+Up/Down keys, in addition * to modifier+Prior/Next? (modifier is controlled with - * SCROLL_ON_* defines above.). + * SCROLL_ON_* defines above.). * Also for modifier+Home/End keys to move to top/bottom */ /* #define SCROLL_ON_UPDOWN_KEYS */ @@ -200,7 +130,7 @@ * (rather than a proportion (1/5) of savedlines buffer) * when paging the savedlines with SHIFT-{Prior,Next} keys. */ -#define PAGING_CONTEXT_LINES 1 /* */ +#define PAGING_CONTEXT_LINES 1 /* * Have either Ctrl+Tab or Mod4+Tab emit \e\t @@ -209,13 +139,6 @@ /* #define CTRL_TAB_MAKES_META */ /* #define MOD4_TAB_MAKES_META */ -/* - * default mode switch when greek keyboard is enabled (i.e. GREEK_SUPPORT) - */ -#ifndef GREEK_KEYBOARD_MODESWITCH -# define GREEK_KEYBOARD_MODESWITCH XK_Mode_switch -#endif - /*--------------------------------MOUSE---------------------------------*/ /* * Disable sending escape sequences (up, down, page up/down) @@ -224,17 +147,6 @@ /* #define NO_SCROLLBAR_REPORT */ /* - * Default separating chars for multiple-click selection - * Space and tab are separate separating characters and are not settable - */ -#define CUTCHARS "\"&'()*,;<=>?@[\\]^`{|}~" - -/* - * Add run-time support for changing the cutchars for double click selection - */ -#define CUTCHAR_RESOURCE - -/* * Have mouse reporting include double-click info for button1 */ /* #define MOUSE_REPORT_DOUBLECLICK */ @@ -251,53 +163,30 @@ #define MOUSE_THRESHOLD 50 /* - * If mouse wheel is defined, then scrolling is by 5 lines (or 1 line - * if the shift key is down). Scrolling can be smooth or jump scrolling - */ -/* #define JUMP_MOUSE_WHEEL */ - -/* * Set delay periods for continuous scrolling with scrollbar buttons */ -/* #define SCROLLBAR_INITIAL_DELAY 40 */ -/* #define SCROLLBAR_CONTINUOUS_DELAY 2 */ +/* #define SCROLLBAR_INITIAL_DELAY 0.33 */ +/* #define SCROLLBAR_CONTINUOUS_DELAY 0.05 */ /* * The speed of selection scrolling is proportional to the distance * the mouse pointer is out of the text window. This is the max * number of lines to scroll at a time. */ -#define SELECTION_SCROLL_MAX_LINES 2 +#define SELECTION_SCROLL_MAX_LINES 8 /* * The number of lines (measured in character's heights, not pixels) * the pointer must be out of the window for each increase in the * number of lines scrolled. */ -#define SELECTION_SCROLL_LINE_SPEEDUP 4 +#define SELECTION_SCROLL_LINE_SPEEDUP 3 /*--------------------------------MISC----------------------------------*/ /* - * Disable to reset tty device to pre-incovation state - */ -#define RESET_TTY_TO_COMMON_DEFAULTS - -/* - * Only log in wtmp file when we're a login shell (-ls option) - */ -#define WTMP_ONLY_ON_LOGIN - -/* - * When pasting ACS characters, convert to similar normal characters + * Only log in wtmp and lastlog files when we're a login shell (-ls option) */ -/* #define ACS_ASCII */ - -/* - * Default ascii characters to which ACS symbols are converted - */ -#ifdef ACS_ASCII -# define ACS_CHARS ".# o+ ----+---__++--|<> =#. " -#endif +#define LOG_ONLY_ON_LOGIN /*--------------------------------BELL----------------------------------*/ /* @@ -329,36 +218,20 @@ #define SB_WIDTH_MAXIMUM 100 /* - * When using Rxvt scrollbar, clicking above or below the slider will move - * 1/4 of the screen height, if possible. Setting RXVT_SCROLL_FULL will move - * it one screen height less one line, if possible - */ -#define RXVT_SCROLL_FULL 1 - -/* - * (Hops) draw an internal border line on inside edge of the scrollbar - */ -/* #define SB_BORDER */ - -/*------------------------------MENU BAR--------------------------------*/ -/* - * Choose how many of (experimental) menuBars you want to be able to stack at - * one time. - * A value of 1 disables menuBar stacking. - * A value of 0 disables menuBar all together. - * Note that the amount of memory overhead is the same for any value >= 2. + * rxvt scrollbar shadow width in pixels, must be 1 or 2 */ -#define MENUBAR_MAX 8 +#define SHADOW_WIDTH 1 /* - * Change the default shadow style + * clicking above or below the scrollbar slider (all styles minus + * xterm) will scroll by (height - 1) rather than (height / 4). */ -/* #define MENUBAR_SHADOW_IN */ +#define RXVT_SCROLL_FULL 1 /* - * Change the default shadow style + * (Hops) draw an internal border line on inside edge of the rxvt scrollbar */ -#define MENU_SHADOW_IN +/* #define SB_BORDER */ /*---------------------------MULTILINGUAL-------------------------------*/ /* @@ -378,38 +251,102 @@ /* #define DISPLAY_IS_IP */ /* - * Have "\E[7n" transmit the display name. - * This has been cited as a potential security hole. + * Change what ESC Z transmits instead of the default "\E[?1;2c" */ -#define ENABLE_DISPLAY_ANSWER +/* #define ESCZ_ANSWER "\033[?1;2C" */ /* - * Change what ESC Z transmits instead of the default "\E[?1;2c" + * Allow foreground/background colour to be changed with xterm + * operating system commands. */ -/* #define ESCZ_ANSWER "\033[?1;2C" */ +#define XTERM_COLOR_CHANGE /* - * Check the current value of the window-time/icon-name and avoid - * re-setting it to the same value -- avoids unnecessary window refreshes + * Remove secondary screen's independent cursor position, a la xterm */ -#define SMART_WINDOW_TITLE +/* #define NO_SECONDARY_SCREEN_CURSOR */ /* - * Allow foreground/background colour to be changed with an - * xterm escape sequence "\E]39;colour^G" -- still experimental + * Provide termcap/terminfo bw support (wrap backwards on cub1) */ -#define XTERM_COLOR_CHANGE +#define TERMCAP_HAS_BW 1 /* - * Remove secondary screen's independent cursor position, a la xterm + * The duration of the visual bell flash in s. The default of 20ms + * corresponds to the delay given in the terminfo flash code. */ -/* #define NO_SECONDARY_SCREEN_CURSOR */ +#define VISUAL_BELL_DURATION .020 + +/*--------------------------------OTHER---------------------------------*/ + +/* + * Enable the linux yield/usleep hack, which can dramatically improve + * performance by working around the linux kernel tty ratelimit bug. + * Unfortunately, it seems screen is negatively affected by this on some + * machines, so it is disabled by default. Use freebsd or any other kernel + * that doesn't suffer form this bug and it will be fast either way. + * + * See command.C for details. + */ +#if __linux__ +# define LINUX_YIELD_HACK 0 +#endif + +/* DEFAULT RESOURCES VALUES */ + +/* + * Define default colours for certain items. If you have a low colour + * display, then consider using colours which are already pre-allocated: + * + * Black (#000000) + * Red3 (#CD0000) + * Green3 (#00CD00) + * Yellow3 (#CDCD00) + * Blue3 (#0000CD) + * Magenta3 (#CD00CD) + * Cyan3 (#00CDCD) + * AntiqueWhite (#FAEBD7) + * Grey25 (#404040) + * Red (#FF0000) + * Green (#00FF00) + * Yellow (#FFFF00) + * Blue (#0000FF) + * Magenta (#FF00FF) + * Cyan (#00FFFF) + * White (#FFFFFF) + */ +/* These colours MUST be defined */ +#define COLOR_FOREGROUND "rgb:00/00/00" +#define COLOR_BACKGROUND "rgb:ff/ff/ff" +#define COLOR_SCROLLBAR "rgb:b2/b2/b2" /* scrollColor match Netscape */ +#define COLOR_SCROLLTROUGH "rgb:96/96/96" + +/* + * The cursor colours are special. Be very careful about setting these: + * foreground/background colours may be modified by command line or resources + * prior to this allocation. Also, they are not valid if NO_CURSORCOLOR is + * defined + */ +#define COLOR_CURSOR_FOREGROUND NULL /* if NULL, use background colour */ +#define COLOR_CURSOR_BACKGROUND NULL /* if NULL, use foreground colour */ + +/* + * Printer pipe which will be used for emulation of attached vt100 printer + */ +#define PRINTPIPE "lpr" + +/* + * Define defaults for backspace and delete keys - unless they have been + * configured out with --disable-backspace-key / --disable-delete-key + */ +#define DEFAULT_BACKSPACE "DEC" /* SPECIAL */ +#define DEFAULT_DELETE "\033[3~" /* - * If no secondary screen is available (NO_SECONDARY_SCREEN in config.h), - * then scroll the text up on a window change request + * Default separating chars for multiple-click selection + * Space and tab are separate separating characters and are not settable */ -#define SCROLL_ON_NO_SECONDARY +#define CUTCHARS "\"&'()*,;<=>?@[\\]^`{|}" /* * Width of the term internal border @@ -427,25 +364,14 @@ #define LINESPACE 0 /* - * Default number of lines in the scrollback buffer + * Default number of extra dots between columns */ -#define SAVELINES 64 +#define LETTERSPACE 0 /* - * Provide termcap/terminfo bw support - */ -/* #define TERMCAP_HAS_BW */ - -/* - * MAX_NFONTS is the maximum allowed number of fonts in the list - * FONT0_IDX is the default font in the list (starting at 0) - * Sizes between multi-char fonts sets (MFONT_LIST) and single-char font - * sets (NFONT_LIST) have been matched up + * Default number of lines in the scrollback buffer */ -#define MAX_NFONTS 7 -#define FONT0_IDX 2 - -#define UNICODE 1 /* TODO */ -#define UTF8 1 /* TODO */ +#define SAVELINES 1000 #endif +