1 /* 2 * File: feature.h 3 * $Id: feature.h,v 1.69 2002/04/09 00:49:22 gcw Exp $ 4 * 5 * Compile-time configuration. 6 *----------------------------------------------------------------------- 7 * Copyright (c) 1997,1998 Oezguer Kesim <kesim@math.fu-berlin.de> 8 * 9 * This program is free software; you can redistribute it and/or modify 10 * it under the terms of the GNU General Public License as published by 11 * the Free Software Foundation; either version 2 of the License, or 12 * (at your option) any later version. 13 * 14 * This program is distributed in the hope that it will be useful, 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 * GNU General Public License for more details. 18 * 19 * You should have received a copy of the GNU General Public License 20 * along with this program; if not, write to the Free Software 21 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 22 * 23 *----------------------------------------------------------------------*/ 24 #ifndef _FEATURE_H 25 #define _FEATURE_H 26 27 #ifndef X11USRLIBDIR 28 # define X11USRLIBDIR "/usr/X11R6/lib" 29 #endif 30 #ifndef X11LIBDIR 31 # define X11LIBDIR X11USRLIBDIR "/X11" 32 #endif 33 #ifndef XAPPLOADDIR 34 # define XAPPLOADDIR X11LIBDIR "/app-defaults" 35 # define XAPPLOADDIRLOCALE X11LIBDIR "/%-.*s/app-defaults" 36 #endif 37 38 /*-----------------------SCREEN OPTIONS AND COLOURS---------------------*/ 39 /* 40 * Define the name of the environment variable to be used in 41 * addition to the "PATH" environment and the `path' resource. 42 * Usually it should point to where you keep your background pixmaps and/or 43 * your menu files 44 */ 45 #define PATH_ENV "XVTPATH" 46 47 /* 48 * Avoid enabling the colour cursor (-cr, cursorColor, cursorColor2) 49 */ 50 /* #define NO_CURSORCOLOR */ 51 52 /* 53 * Suppress use of BOLD and BLINK attributes for setting bright foreground 54 * and background, respectively. Simulate BOLD using colorBD, boldFont or 55 * overstrike characters. 56 */ 57 /* #define NO_BRIGHTCOLOR */ 58 59 /* 60 * Make colours match xterm colours instead of `traditional' xvt colours 61 */ 62 #define XTERM_COLORS 63 64 /* 65 * Disable separate colours for bold, underline and reverse video 66 */ 67 /* #define NO_BOLD_UNDERLINE_REVERSE */ 68 69 /* 70 * Disable using simulated bold using overstrike. You can also turn off 71 * overstrike just for multi char fonts 72 * Note: NO_BOLDOVERSTRIKE implies NO_BOLDOVERSTRIKE_MULTI 73 */ 74 /* #define NO_BOLDOVERSTRIKE */ 75 /* #define NO_BOLDOVERSTRIKE_MULTI */ 76 77 /* 78 * Don't bother cleaning up pixel droppings. If you don't use bold 79 * overstrike then you don't usually need this 80 */ 81 /* #define NO_PIXEL_DROPPING_AVOIDANCE */ 82 83 /* 84 * Also use bold font or overstrike even if we use colour for bold 85 */ 86 #define VERYBOLD 87 88 /* 89 * Compile without support for real bold fonts 90 */ 91 /* #define NO_BOLDFONT */ 92 93 /* 94 * Add support for '-hc colour' for background highlight of selection 95 */ 96 /* #define OPTION_HC */ 97 98 /* 99 * Define maximum possible columns and rows 100 */ 101 #define MAX_COLS 1000 102 #define MAX_ROWS 1000 103 104 /* 105 * Define default colours for certain items. If you have a low colour 106 * display, then consider using colours which are already pre-allocated: 107 * Black (#000000) 108 * Red3 (#CD0000) + these 109 * Green3 (#00CD00) + colours 110 * Yellow3 (#CDCD00) + are 111 * Blue3 (#0000CD) + not 112 * Magenta3 (#CD00CD) + pre-allocated 113 * Cyan3 (#00CDCD) + if 114 * AntiqueWhite (#FAEBD7) + NO_BRIGHTCOLOR 115 * Grey25 (#404040) + defined 116 * Red (#FF0000) 117 * Green (#00FF00) 118 * Yellow (#FFFF00) 119 * Blue (#0000FF) 120 * Magenta (#FF00FF) 121 * Cyan (#00FFFF) 122 * White (#FFFFFF) 123 */ 124 /* These colours MUST be defined */ 125 #define COLOR_FOREGROUND "Black" 126 #define COLOR_BACKGROUND "White" 127 #define COLOR_SCROLLBAR "#B2B2B2" /* scrollColor match Netscape */ 128 #define COLOR_SCROLLTROUGH "#969696" 129 /* 130 * The cursor colours are special. Be very careful about setting these: 131 * foreground/background colours may be modified by command line or resources 132 * prior to this allocation. Also, they are not valid if NO_CURSORCOLOR is 133 * defined 134 */ 135 #define COLOR_CURSOR_FOREGROUND NULL /* if NULL, use background colour */ 136 #define COLOR_CURSOR_BACKGROUND NULL /* if NULL, use foreground colour */ 137 138 /* 139 * Define to remove support for XCopyArea() support. XCopyArea() is useful 140 * for scrolling on non-local X displays 141 */ 142 /* #define NO_SLOW_LINK_SUPPORT */ 143 144 /* 145 * Printer pipe which will be used for emulation of attached vt100 printer 146 */ 147 #define PRINTPIPE "lpr" 148 149 /* 150 * Allow 80/132 mode switching on startup 151 */ 152 /* #define ALLOW_132_MODE */ 153 154 /*------------------------------RESOURCES-------------------------------*/ 155 /* 156 * Define to find installed application defaults for xvt 157 * Only if USE_XGETDEFAULT is not defined. 158 */ 159 /* #define USE_XAPPLOADDIR */ 160 161 /* 162 * Add support for the Offix DND (Drag 'n' Drop) protocol 163 */ 164 /* #define OFFIX_DND */ 165 166 /*---------------------------------KEYS---------------------------------*/ 167 168 /* 169 * Define defaults for backspace and delete keys - unless they have been 170 * configured out with --disable-backspace-key / --disable-delete-key 171 */ 172 /* #define DEFAULT_BACKSPACE "DEC" */ /* SPECIAL */ 173 /* #define DEFAULT_BACKSPACE "\177" */ 174 /* #define DEFAULT_DELETE "\033[3~" */ 175 176 /* 177 * Choose one of these values to be the `hotkey' for changing font. 178 * This has been superceded and is only for you older users 179 */ 180 /* #define HOTKEY_CTRL */ 181 /* #define HOTKEY_META */ 182 183 /* 184 * To use 185 * Home = "\E[1~", End = "\E[4~" 186 * instead of 187 * Home = "\E[7~", End = "\E[8~" [default] 188 */ 189 /* #define LINUX_KEYS */ 190 191 /* 192 * Enable the keysym resource which allows you to define strings associated 193 * with various KeySyms (0xFF00 - 0xFFFF). 194 * Only works with the default hand-rolled resources. 195 */ 196 #ifndef NO_RESOURCES 197 # define KEYSYM_RESOURCE 198 #endif 199 200 /* 201 * Modifier/s to use to allow up/down arrows and Priot/Next keys 202 * to scroll single or page-fulls 203 */ 204 #define SCROLL_ON_SHIFT 205 /* #define SCROLL_ON_CTRL */ 206 /* #define SCROLL_ON_META */ 207 208 /* 209 * Allow scrolling with modifier+Up/Down keys, in addition 210 * to modifier+Prior/Next? (modifier is controlled with 211 * SCROLL_ON_* defines above.). 212 * Also for modifier+Home/End keys to move to top/bottom 213 */ 214 /* #define SCROLL_ON_UPDOWN_KEYS */ 215 /* #define SCROLL_ON_HOMEEND_KEYS */ 216 217 /* 218 * Allow unshifted Next/Prior keys to scroll forward/back 219 * (in addition to shift+Next/shift+Prior) --pjh 220 */ 221 /* #define UNSHIFTED_SCROLLKEYS */ 222 223 /* (Hops) Set to choose a number of lines of context between pages 224 * (rather than a proportion (1/5) of savedlines buffer) 225 * when paging the savedlines with SHIFT-{Prior,Next} keys. 226 */ 227 #define PAGING_CONTEXT_LINES 1 /* */ 228 229 /* 230 * Have either Ctrl+Tab or Mod4+Tab emit \e\t 231 * Useful when window manager grabs Alt+Tab -- mg 232 */ 233 /* #define CTRL_TAB_MAKES_META */ 234 /* #define MOD4_TAB_MAKES_META */ 235 236 /* 237 * default mode switch when greek keyboard is enabled (i.e. GREEK_SUPPORT) 238 */ 239 #ifndef GREEK_KEYBOARD_MODESWITCH 240 # define GREEK_KEYBOARD_MODESWITCH XK_Mode_switch 241 #endif 242 243 /*--------------------------------MOUSE---------------------------------*/ 244 /* 245 * Disable sending escape sequences (up, down, page up/down) 246 * from the scrollbar when XTerm mouse reporting is enabled 247 */ 248 /* #define NO_SCROLLBAR_REPORT */ 249 250 /* 251 * Default separating chars for multiple-click selection 252 * Space and tab are separate separating characters and are not settable 253 */ 254 #define CUTCHARS "\"&'()*,;<=>?@[\\]^`{|}~" 255 256 /* 257 * Add run-time support for changing the cutchars for double click selection 258 */ 259 #define CUTCHAR_RESOURCE 260 261 /* 262 * Have mouse reporting include double-click info for button1 263 */ 264 /* #define MOUSE_REPORT_DOUBLECLICK */ 265 266 /* 267 * Set delay between multiple click events [default: 500 milliseconds] 268 */ 269 /* #define MULTICLICK_TIME 500 */ 270 271 /* 272 * Time factor to slow down a `jumpy' mouse. Motion isn't recognised until 273 * this long after the last mouse click [default: 50 milliseconds] 274 */ 275 #define MOUSE_THRESHOLD 50 276 277 /* 278 * If mouse wheel is defined, then scrolling is by 5 lines (or 1 line 279 * if the shift key is down). Scrolling can be smooth or jump scrolling 280 */ 281 /* #define JUMP_MOUSE_WHEEL */ 282 283 /* 284 * Set delay periods for continuous scrolling with scrollbar buttons 285 */ 286 /* #define SCROLLBAR_INITIAL_DELAY 40 */ 287 /* #define SCROLLBAR_CONTINUOUS_DELAY 2 */ 288 289 /*--------------------------------MISC----------------------------------*/ 290 /* 291 * Disable to reset tty device to pre-incovation state 292 */ 293 #define RESET_TTY_TO_COMMON_DEFAULTS 294 295 /* 296 * Only log in wtmp file when we're a login shell (-ls option) 297 */ 298 #define WTMP_ONLY_ON_LOGIN 299 300 /*--------------------------------BELL----------------------------------*/ 301 /* 302 * Disable all bell indications 303 */ 304 /* #define NO_BELL */ 305 306 /* 307 * Disable automatic de-iconify when a bell is received 308 */ 309 /* #define NO_MAPALERT */ 310 311 /* 312 * Have mapAlert behaviour selectable with mapAlert resource 313 */ 314 #define MAPALERT_OPTION 315 316 /*-----------------------------SCROLL BAR-------------------------------*/ 317 /* 318 * Choose the xvt style scrollbar width 319 * - should be an even number [default: 10] 320 */ 321 /* #define SB_WIDTH_XVT 10 */ 322 323 /* 324 * Minimum and maximum widths of the scrollbar (all styles) 325 */ 326 #define SB_WIDTH_MINIMUM 5 327 #define SB_WIDTH_MAXIMUM 100 328 329 /* 330 * When using xvt scrollbar, clicking above or below the slider will move 331 * 1/4 of the screen height, if possible. Setting XVT_SCROLL_FULL will move 332 * it one screen height less one line, if possible 333 */ 334 #define XVT_SCROLL_FULL 1 335 336 /* 337 * (Hops) draw an internal border line on inside edge of the scrollbar 338 */ 339 /* #define SB_BORDER */ 340 341 /*------------------------------MENU BAR--------------------------------*/ 342 /* 343 * Choose how many of (experimental) menuBars you want to be able to stack at 344 * one time. 345 * A value of 1 disables menuBar stacking. 346 * A value of 0 disables menuBar all together. 347 * Note that the amount of memory overhead is the same for any value >= 2. 348 */ 349 #define MENUBAR_MAX 8 350 351 /* 352 * Change the default shadow style 353 */ 354 /* #define MENUBAR_SHADOW_IN */ 355 356 /* 357 * Change the default shadow style 358 */ 359 #define MENU_SHADOW_IN 360 361 /*---------------------------MULTILINGUAL-------------------------------*/ 362 /* 363 * Allow run-time selection of Meta (Alt) to set the 8th bit on 364 */ 365 #define META8_OPTION 366 367 /*---------------------------DISPLAY OPTIONS----------------------------*/ 368 /* 369 * Force local connection to be socket (or other local) communication 370 */ 371 /* #define LOCAL_X_IS_UNIX */ 372 373 /* 374 * Have DISPLAY environment variable & "\E[7n" transmit display with IP number 375 */ 376 /* #define DISPLAY_IS_IP */ 377 378 /* 379 * Have "\E[7n" transmit the display name. 380 * This has been cited as a potential security hole. 381 */ 382 /* #define ENABLE_DISPLAY_ANSWER */ 383 384 /* 385 * Change what ESC Z transmits instead of the default "\E[?1;2c" 386 */ 387 /* #define ESCZ_ANSWER "\033[?1;2C" */ 388 389 /* 390 * Check the current value of the window-time/icon-name and avoid 391 * re-setting it to the same value -- avoids unnecessary window refreshes 392 */ 393 #define SMART_WINDOW_TITLE 394 395 /* 396 * Allow foreground/background colour to be changed with an 397 * xterm escape sequence "\E]39;colour^G" -- still experimental 398 */ 399 #define XTERM_COLOR_CHANGE 400 401 /* 402 * Remove secondary screen's independent cursor position, a la xterm 403 */ 404 /* #define NO_SECONDARY_SCREEN_CURSOR */ 405 406 /* 407 * If no secondary screen is available (NO_SECONDARY_SCREEN in config.h), 408 * then scroll the text up on a window change request 409 */ 410 /* #define SCROLL_ON_NO_SECONDARY */ 411 412 /* 413 * Width of the term internal border 414 */ 415 #define INTERNALBORDERWIDTH 2 416 417 /* 418 * Width of the term external border 419 */ 420 #define EXTERNALBORDERWIDTH 0 421 422 /* 423 * Default number of extra dots between lines 424 */ 425 #define LINESPACE 0 426 427 /* 428 * Default number of lines in the scrollback buffer 429 */ 430 #define SAVELINES 64 431 432 /* 433 * Provide termcap/terminfo bw support 434 */ 435 /* #define TERMCAP_HAS_BW */ 436 437 /* 438 * MAX_NFONTS is the maximum allowed number of fonts in the list 439 * FONT0_IDX is the default font in the list (starting at 0) 440 * Sizes between multi-char fonts sets (MFONT_LIST) and single-char font 441 * sets (NFONT_LIST) have been matched up 442 */ 443 #define MAX_NFONTS 7 444 #define FONT0_IDX 2 445 446 #endif 447