--- rxvt-unicode/src/feature.h 2005/12/21 23:57:12 1.26 +++ rxvt-unicode/src/feature.h 2008/02/17 15:03:30 1.59 @@ -24,46 +24,56 @@ #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 XAPPLOADDIR X11LIBDIR "/app-defaults" # define XAPPLOADDIRLOCALE X11LIBDIR "/%s/app-defaults" #endif +/*-------------------------------SECURITY-------------------------------*/ + +/* + * Default mode to restore when releasing the PTS device. It is relaxed to be + * compatible with most systems, change it to a more secure value if your + * system supports it (0640 for example). + */ +#define RESTORE_TTY_MODE 0666 + +/* + * Define if you want to use a separate process for pty/tty handling + * when running setuid/setgid. You need this when making it setuid/setgid. + */ +#define PTYTTY_HELPER 1 + /*-----------------------SCREEN OPTIONS AND COLOURS---------------------*/ /* * NOTE: * - * Most of these configuration options have not been tested within the new - * rxvt-unicode framework. Changing them might work, might have no effect, + * 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 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 + * The cursor blink interval, in seconds. */ -#define PATH_ENV "RXVTPATH" +#define CURSOR_BLINK_INTERVAL 0.5 /* - * Avoid enabling the colour cursor (-cr, cursorColor, cursorColor2) + * The text blink interval, in seconds. */ -/* #define NO_CURSORCOLOR */ +#define TEXT_BLINK_INTERVAL CURSOR_BLINK_INTERVAL /* - * Suppress use of BOLD and BLINK attributes for setting bright foreground - * and background, respectively. Simulate BOLD using colorBD or - * overstrike characters. + * Avoid enabling the colour cursor (-cr, cursorColor, cursorColor2) */ -/* #define NO_BRIGHTCOLOR */ +/* #define NO_CURSORCOLOR */ /* * Make colours match xterm colours instead of `traditional' rxvt colours @@ -87,91 +97,24 @@ #define MAX_SAVELINES 10000000 /* - * 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 COLOR_CURSOR_FOREGROUND NULL /* if NULL, use background colour */ -#define COLOR_CURSOR_BACKGROUND NULL /* if NULL, use foreground colour */ - -/* * Define to remove support for XCopyArea () support. XCopyArea () is useful * for scrolling on non-local X displays */ -#undef 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_DELETE "\033[3~" - -/* - * 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. */ -#if !NO_RESOURCES && ENABLE_FRILLS +#if ENABLE_FRILLS || ENABLE_PERL # define KEYSYM_RESOURCE #endif @@ -186,7 +129,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 */ @@ -202,7 +145,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 @@ -219,20 +162,9 @@ /* #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 +/* #define MOUSE_REPORT_DOUBLECLICK */ /* * Set delay between multiple click events [default: 500 milliseconds] @@ -246,12 +178,6 @@ #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 0.33 */ @@ -273,14 +199,9 @@ /*--------------------------------MISC----------------------------------*/ /* - * Disable to reset tty device to pre-incovation state + * Only log in wtmp and lastlog files when we're a login shell (-ls option) */ -#define RESET_TTY_TO_COMMON_DEFAULTS - -/* - * Only log in wtmp file when we're a login shell (-ls option) - */ -#define WTMP_ONLY_ON_LOGIN +#define LOG_ONLY_ON_LOGIN /*--------------------------------BELL----------------------------------*/ /* @@ -312,6 +233,11 @@ #define SB_WIDTH_MAXIMUM 100 /* + * rxvt scrollbar shadow width in pixels, must be 1 or 2 + */ +#define SHADOW_WIDTH 1 + +/* * 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 @@ -323,26 +249,6 @@ */ /* #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. - */ -#define MENUBAR_MAX 16 - -/* - * Change the default shadow style - */ -/* #define MENUBAR_SHADOW_IN */ - -/* - * Change the default shadow style - */ -#define MENU_SHADOW_IN - /*---------------------------MULTILINGUAL-------------------------------*/ /* * Allow run-time selection of Meta (Alt) to set the 8th bit on @@ -366,14 +272,8 @@ /* #define ESCZ_ANSWER "\033[?1;2C" */ /* - * Check the current value of the window-time/icon-name and avoid - * re-setting it to the same value -- avoids unnecessary window refreshes - */ -//#define SMART_WINDOW_TITLE // currently disabled, needs to be reimplemented - -/* * Allow foreground/background colour to be changed with an - * xterm escape sequence "\E]39;colour^G" -- still experimental + * xterm escape sequence "\E]39;colour^G" */ #define XTERM_COLOR_CHANGE @@ -383,42 +283,106 @@ /* #define NO_SECONDARY_SCREEN_CURSOR */ /* - * Width of the term internal border + * Provide termcap/terminfo bw support (wrap backwards on cub1) */ -#define INTERNALBORDERWIDTH 2 +#define TERMCAP_HAS_BW 1 /* - * Width of the term external border + * The duration of the visual bell flash in s. The default of 20ms + * corresponds to the delay given in the terminfo flash code. */ -#define EXTERNALBORDERWIDTH 0 +#define VISUAL_BELL_DURATION .020 + +/*--------------------------------OTHER---------------------------------*/ /* - * Default number of extra dots between lines + * 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. */ -#define LINESPACE 0 +#if __linux__ +# define LINUX_YIELD_HACK 0 +#endif + +/* DEFAULT RESOURCES VALUES */ /* - * Default number of lines in the scrollback buffer + * 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) */ -#define SAVELINES 64 +/* 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" /* - * Provide termcap/terminfo bw support (wrap backwards on cub1) + * 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 TERMCAP_HAS_BW +#define COLOR_CURSOR_FOREGROUND NULL /* if NULL, use background colour */ +#define COLOR_CURSOR_BACKGROUND NULL /* if NULL, use foreground colour */ /* - * Some (older, e.g. fvwm 2.2.2) window managers need some time when - * updating window positions. If transparency isn't working correctly - * then you might try out this one. + * Printer pipe which will be used for emulation of attached vt100 printer */ -/* #define WAIT_FOR_WM */ +#define PRINTPIPE "lpr" /* - * The duration of the visual bell flash in µs. The default of 20ms - * corresponds to the delay given in the terminfo flash code. + * 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~" + +/* + * Default separating chars for multiple-click selection + * Space and tab are separate separating characters and are not settable + */ +#define CUTCHARS "\"&'()*,;<=>?@[\\]^`{|}" + +/* + * Width of the term internal border + */ +#define INTERNALBORDERWIDTH 2 + +/* + * Width of the term external border + */ +#define EXTERNALBORDERWIDTH 0 + +/* + * Default number of extra dots between lines + */ +#define LINESPACE 0 + +/* + * Default number of lines in the scrollback buffer */ -#define VISUAL_BELL_DURATION 20000 +#define SAVELINES 1000 #endif