1 /* 2 * File: feature.h 3 * 4 * Compile-time configuration. 5 *----------------------------------------------------------------------- 6 * Copyright (c) 1997,1998 Oezguer Kesim <kesim@math.fu-berlin.de> 7 * 8 * This program is free software; you can redistribute it and/or modify 9 * it under the terms of the GNU General Public License as published by 10 * the Free Software Foundation; either version 3 of the License, or 11 * (at your option) any later version. 12 * 13 * This program is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 * GNU General Public License for more details. 17 * 18 * You should have received a copy of the GNU General Public License 19 * along with this program; if not, write to the Free Software 20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 21 * 22 *----------------------------------------------------------------------*/ 23 #ifndef FEATURE_H 24 #define FEATURE_H 25 26 #ifndef X11USRLIBDIR 27 # define X11USRLIBDIR "/usr/lib" 28 #endif 29 #ifndef X11LIBDIR 30 # define X11LIBDIR X11USRLIBDIR "/X11" 31 #endif 32 #ifndef XAPPLOADDIR 33 # define XAPPLOADDIR X11LIBDIR "/app-defaults" 34 # define XAPPLOADDIRLOCALE X11LIBDIR "/%s/app-defaults" 35 #endif 36 37 /*-----------------------SCREEN OPTIONS AND COLOURS---------------------*/ 38 39 /* 40 * NOTE: 41 * 42 * Some of these configuration options have not been tested within the new 43 * rxvt-unicode framework. Changing them should work, might have no effect, 44 * destroy your disks or have any other effects. You may freely try (and 45 * report bugs, too!), but don't _expect_ them to work. 46 */ 47 48 /* 49 * The cursor blink interval, in seconds. 50 */ 51 #define CURSOR_BLINK_INTERVAL 0.5 52 53 /* 54 * The text blink interval, in seconds. 55 */ 56 #define TEXT_BLINK_INTERVAL CURSOR_BLINK_INTERVAL 57 58 /* 59 * Avoid enabling the colour cursor (-cr, cursorColor, cursorColor2) 60 */ 61 /* #define NO_CURSORCOLOR */ 62 63 /* 64 * Make colours match xterm colours instead of `traditional' rxvt colours 65 */ 66 #define XTERM_COLORS 67 68 /* 69 * Disable separate colours for bold, underline and reverse video 70 */ 71 /* #define NO_BOLD_UNDERLINE_REVERSE */ 72 73 /* 74 * Define maximum possible columns and rows 75 */ 76 #define MAX_COLS 10000 77 #define MAX_ROWS 10000 78 79 /* 80 * Define maximum possible savelines 81 */ 82 #define MAX_SAVELINES 10000000 83 84 /* 85 * Define to remove support for XCopyArea () support. XCopyArea () is useful 86 * for scrolling on non-local X displays 87 */ 88 #define NO_SLOW_LINK_SUPPORT 89 90 /* 91 * Allow 80/132 mode switching on startup 92 */ 93 /* #define ALLOW_132_MODE */ 94 95 /*---------------------------------KEYS---------------------------------*/ 96 97 /* 98 * Enable the keysym resource which allows you to define strings associated 99 * with various KeySyms (0xFF00 - 0xFFFF). 100 * Required by perl. 101 */ 102 #if ENABLE_FRILLS || ENABLE_PERL 103 # define KEYSYM_RESOURCE 104 #endif 105 106 /* 107 * Modifier/s to use to allow up/down arrows and Prior/Next keys 108 * to scroll single or page-fulls 109 */ 110 #define SCROLL_ON_SHIFT 111 /* #define SCROLL_ON_CTRL */ 112 /* #define SCROLL_ON_META */ 113 114 /* 115 * Allow scrolling with modifier+Up/Down keys, in addition 116 * to modifier+Prior/Next? (modifier is controlled with 117 * SCROLL_ON_* defines above.). 118 * Also for modifier+Home/End keys to move to top/bottom 119 */ 120 /* #define SCROLL_ON_UPDOWN_KEYS */ 121 /* #define SCROLL_ON_HOMEEND_KEYS */ 122 123 /* 124 * Allow unshifted Next/Prior keys to scroll forward/back 125 * (in addition to shift+Next/shift+Prior) --pjh 126 */ 127 /* #define UNSHIFTED_SCROLLKEYS */ 128 129 /* (Hops) Set to choose a number of lines of context between pages 130 * (rather than a proportion (1/5) of savedlines buffer) 131 * when paging the savedlines with SHIFT-{Prior,Next} keys. 132 */ 133 #define PAGING_CONTEXT_LINES 1 134 135 /* 136 * Have either Ctrl+Tab or Mod4+Tab emit \e\t 137 * Useful when window manager grabs Alt+Tab -- mg 138 */ 139 /* #define CTRL_TAB_MAKES_META */ 140 /* #define MOD4_TAB_MAKES_META */ 141 142 /*--------------------------------MOUSE---------------------------------*/ 143 /* 144 * Disable sending escape sequences (up, down, page up/down) 145 * from the scrollbar when XTerm mouse reporting is enabled 146 */ 147 /* #define NO_SCROLLBAR_REPORT */ 148 149 /* 150 * Have mouse reporting include double-click info for button1 151 */ 152 /* #define MOUSE_REPORT_DOUBLECLICK */ 153 154 /* 155 * Set delay between multiple click events [default: 500 milliseconds] 156 */ 157 /* #define MULTICLICK_TIME 500 */ 158 159 /* 160 * Time factor to slow down a `jumpy' mouse. Motion isn't recognised until 161 * this long after the last mouse click [default: 50 milliseconds] 162 */ 163 #define MOUSE_THRESHOLD 50 164 165 /* 166 * Set delay periods for continuous scrolling with scrollbar buttons 167 */ 168 /* #define SCROLLBAR_INITIAL_DELAY 0.33 */ 169 /* #define SCROLLBAR_CONTINUOUS_DELAY 0.05 */ 170 171 /* 172 * The speed of selection scrolling is proportional to the distance 173 * the mouse pointer is out of the text window. This is the max 174 * number of lines to scroll at a time. 175 */ 176 #define SELECTION_SCROLL_MAX_LINES 8 177 178 /* 179 * The number of lines (measured in character's heights, not pixels) 180 * the pointer must be out of the window for each increase in the 181 * number of lines scrolled. 182 */ 183 #define SELECTION_SCROLL_LINE_SPEEDUP 3 184 185 /*--------------------------------MISC----------------------------------*/ 186 /* 187 * Only log in wtmp and lastlog files when we're a login shell (-ls option) 188 */ 189 #define LOG_ONLY_ON_LOGIN 190 191 /*--------------------------------BELL----------------------------------*/ 192 /* 193 * Disable all bell indications 194 */ 195 /* #define NO_BELL */ 196 197 /* 198 * Disable automatic de-iconify when a bell is received 199 */ 200 /* #define NO_MAPALERT */ 201 202 /* 203 * Have mapAlert behaviour selectable with mapAlert resource 204 */ 205 #define MAPALERT_OPTION 206 207 /*-----------------------------SCROLL BAR-------------------------------*/ 208 /* 209 * Choose the rxvt style scrollbar width 210 * - should be an even number [default: 10] 211 */ 212 /* #define SB_WIDTH_RXVT 10 */ 213 214 /* 215 * Minimum and maximum widths of the scrollbar (all styles) 216 */ 217 #define SB_WIDTH_MINIMUM 5 218 #define SB_WIDTH_MAXIMUM 100 219 220 /* 221 * rxvt scrollbar shadow width in pixels, must be 1 or 2 222 */ 223 #define SHADOW_WIDTH 1 224 225 /* 226 * clicking above or below the scrollbar slider (all styles minus 227 * xterm) will scroll by (height - 1) rather than (height / 4). 228 */ 229 #define RXVT_SCROLL_FULL 1 230 231 /* 232 * (Hops) draw an internal border line on inside edge of the rxvt scrollbar 233 */ 234 /* #define SB_BORDER */ 235 236 /*---------------------------MULTILINGUAL-------------------------------*/ 237 /* 238 * Allow run-time selection of Meta (Alt) to set the 8th bit on 239 */ 240 #define META8_OPTION 241 242 /*---------------------------DISPLAY OPTIONS----------------------------*/ 243 /* 244 * Force local connection to be socket (or other local) communication 245 */ 246 /* #define LOCAL_X_IS_UNIX */ 247 248 /* 249 * Have DISPLAY environment variable & "\E[7n" transmit display with IP number 250 */ 251 /* #define DISPLAY_IS_IP */ 252 253 /* 254 * Change what ESC Z transmits instead of the default "\E[?1;2c" 255 */ 256 /* #define ESCZ_ANSWER "\033[?1;2C" */ 257 258 /* 259 * Allow foreground/background colour to be changed with xterm 260 * operating system commands. 261 */ 262 #define XTERM_COLOR_CHANGE 263 264 /* 265 * Remove secondary screen's independent cursor position, a la xterm 266 */ 267 /* #define NO_SECONDARY_SCREEN_CURSOR */ 268 269 /* 270 * Provide termcap/terminfo bw support (wrap backwards on cub1) 271 */ 272 #define TERMCAP_HAS_BW 1 273 274 /* 275 * The duration of the visual bell flash in s. The default of 20ms 276 * corresponds to the delay given in the terminfo flash code. 277 */ 278 #define VISUAL_BELL_DURATION .020 279 280 /*--------------------------------OTHER---------------------------------*/ 281 282 /* 283 * Enable the linux yield/usleep hack, which can dramatically improve 284 * performance by working around the linux kernel tty ratelimit bug. 285 * Unfortunately, it seems screen is negatively affected by this on some 286 * machines, so it is disabled by default. Use freebsd or any other kernel 287 * that doesn't suffer from this bug and it will be fast either way. 288 * 289 * See command.C for details. 290 */ 291 #if __linux__ 292 # define LINUX_YIELD_HACK 0 293 #endif 294 295 /* DEFAULT RESOURCES VALUES */ 296 297 /* 298 * Define default colours for certain items. If you have a low colour 299 * display, then consider using colours which are already pre-allocated: 300 * 301 * Black (#000000) 302 * Red3 (#CD0000) 303 * Green3 (#00CD00) 304 * Yellow3 (#CDCD00) 305 * Blue3 (#0000CD) 306 * Magenta3 (#CD00CD) 307 * Cyan3 (#00CDCD) 308 * AntiqueWhite (#FAEBD7) 309 * Grey25 (#404040) 310 * Red (#FF0000) 311 * Green (#00FF00) 312 * Yellow (#FFFF00) 313 * Blue (#0000FF) 314 * Magenta (#FF00FF) 315 * Cyan (#00FFFF) 316 * White (#FFFFFF) 317 */ 318 /* These colours MUST be defined */ 319 #define COLOR_FOREGROUND "rgb:00/00/00" 320 #define COLOR_BACKGROUND "rgb:ff/ff/ff" 321 #define COLOR_SCROLLBAR "rgb:b2/b2/b2" /* scrollColor match Netscape */ 322 #define COLOR_SCROLLTROUGH "rgb:96/96/96" 323 324 /* 325 * The cursor colours are special. Be very careful about setting these: 326 * foreground/background colours may be modified by command line or resources 327 * prior to this allocation. Also, they are not valid if NO_CURSORCOLOR is 328 * defined 329 */ 330 #define COLOR_CURSOR_FOREGROUND NULL /* if NULL, use background colour */ 331 #define COLOR_CURSOR_BACKGROUND NULL /* if NULL, use foreground colour */ 332 333 /* 334 * Printer pipe which will be used for emulation of attached vt100 printer 335 */ 336 #define PRINTPIPE "lpr" 337 338 /* 339 * Define defaults for backspace and delete keys - unless they have been 340 * configured out with --disable-backspace-key / --disable-delete-key 341 */ 342 #define DEFAULT_BACKSPACE "DEC" /* SPECIAL */ 343 #define DEFAULT_DELETE "\033[3~" 344 345 /* 346 * Default separating chars for multiple-click selection 347 * Space and tab are separate separating characters and are not settable 348 */ 349 #define CUTCHARS "\"&'()*,;<=>?@[\\]^`{|}" 350 351 /* 352 * Width of the term internal border 353 */ 354 #define INTERNALBORDERWIDTH 2 355 356 /* 357 * Width of the term external border 358 */ 359 #define EXTERNALBORDERWIDTH 0 360 361 /* 362 * Default number of extra dots between lines 363 */ 364 #define LINESPACE 0 365 366 /* 367 * Default number of extra dots between columns 368 */ 369 #define LETTERSPACE 0 370 371 /* 372 * Default number of lines in the scrollback buffer 373 */ 374 #define SAVELINES 1000 375 376 #endif 377 378