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