1/* $XTermId: main.h,v 1.85 2023/10/22 10:34:12 tom Exp $ */
2
3/*
4 * Copyright 2000-2022,2023 by Thomas E. Dickey
5 *
6 *                         All Rights Reserved
7 *
8 * Permission is hereby granted, free of charge, to any person obtaining a
9 * copy of this software and associated documentation files (the
10 * "Software"), to deal in the Software without restriction, including
11 * without limitation the rights to use, copy, modify, merge, publish,
12 * distribute, sublicense, and/or sell copies of the Software, and to
13 * permit persons to whom the Software is furnished to do so, subject to
14 * the following conditions:
15 *
16 * The above copyright notice and this permission notice shall be included
17 * in all copies or substantial portions of the Software.
18 *
19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
20 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
22 * IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY
23 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
24 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
25 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26 *
27 * Except as contained in this notice, the name(s) of the above copyright
28 * holders shall not be used in advertising or otherwise to promote the
29 * sale, use or other dealings in this Software without prior written
30 * authorization.
31 *
32 * Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
33 *
34 *                         All Rights Reserved
35 *
36 * Permission to use, copy, modify, and distribute this software and its
37 * documentation for any purpose and without fee is hereby granted,
38 * provided that the above copyright notice appear in all copies and that
39 * both that copyright notice and this permission notice appear in
40 * supporting documentation, and that the name of Digital Equipment
41 * Corporation not be used in advertising or publicity pertaining to
42 * distribution of the software without specific, written prior permission.
43 *
44 *
45 * DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
46 * ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
47 * DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
48 * ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
49 * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
50 * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
51 * SOFTWARE.
52 */
53#ifndef included_main_h
54#define included_main_h
55
56#include <xterm.h>
57
58#ifndef DEFCLASS
59#define DEFCLASS		"XTerm"
60#endif
61
62#ifndef DEFFONT
63#define DEFFONT			"fixed"
64#endif
65
66#ifndef DEFWIDEFONT
67#define DEFWIDEFONT		NULL	/* grab one which is 2x as wide */
68#endif
69
70#ifndef DEFWIDEBOLDFONT
71#define DEFWIDEBOLDFONT		NULL
72#endif
73
74#ifndef DEFXIMFONT
75#define DEFXIMFONT		"fixed"
76#endif
77
78#ifndef DEFBOLDFONT
79#define DEFBOLDFONT		NULL	/* no bold font uses overstriking */
80#endif
81
82#ifndef DEFBORDER
83#define DEFBORDER		2
84#endif
85
86#ifndef DEFFACENAME
87#define DEFFACENAME		NULL
88#endif
89
90#ifndef DEFFACENAME_AUTO
91#define DEFFACENAME_AUTO	"mono"
92#endif
93
94#ifndef DEFFACESIZE
95#define DEFFACESIZE		"8.0"
96#endif
97
98#ifndef DEF_ALLOW_COLOR
99#define DEF_ALLOW_COLOR		True
100#endif
101
102#ifndef DEF_ALLOW_FONT
103#define DEF_ALLOW_FONT		True
104#endif
105
106#ifndef DEF_ALLOW_MOUSE
107#define DEF_ALLOW_MOUSE		True
108#endif
109
110#ifndef DEF_ALLOW_TCAP
111#define DEF_ALLOW_TCAP		True
112#endif
113
114#ifndef DEF_ALLOW_TITLE
115#define DEF_ALLOW_TITLE		True
116#endif
117
118#ifndef DEF_ALLOW_WINDOW
119#define DEF_ALLOW_WINDOW	False
120#endif
121
122#ifndef DEF_DISALLOWED_COLOR
123#define DEF_DISALLOWED_COLOR	"SetColor,GetColor,GetAnsiColor"
124#endif
125
126#ifndef DEF_DISALLOWED_FONT
127#define DEF_DISALLOWED_FONT	"SetFont,GetFont"
128#endif
129
130#ifndef DEF_DISALLOWED_MOUSE
131#define DEF_DISALLOWED_MOUSE	"*"
132#endif
133
134#ifndef DEF_DISALLOWED_PASTE_CONTROLS
135#define DEF_DISALLOWED_PASTE_CONTROLS	"BS,DEL,ENQ,EOT,ESC,NUL,STTY"
136#endif
137
138#ifndef DEF_DISALLOWED_TCAP
139#define DEF_DISALLOWED_TCAP	"SetTcap,GetTcap"
140#endif
141
142#ifndef DEF_DISALLOWED_WINDOW
143#define DEF_DISALLOWED_WINDOW	"20,21,SetXprop,SetSelection"
144#endif
145
146#if OPT_BLINK_TEXT
147#define DEFBLINKASBOLD		False
148#else
149#define DEFBLINKASBOLD		True
150#endif
151
152#if OPT_DOUBLE_BUFFER
153#define DEF_DOUBLE_BUFFER	True
154#else
155#define DEF_DOUBLE_BUFFER	False
156#endif
157
158#ifndef DEFDELETE_DEL
159#define DEFDELETE_DEL		Maybe
160#endif
161
162#ifndef DEF_BACKARO_ERASE
163#define DEF_BACKARO_ERASE	False
164#endif
165
166#ifndef DEF_BACKARO_BS
167#define DEF_BACKARO_BS		True
168#endif
169
170#ifndef DEF_CD_XTRA_SCROLL
171#define DEF_CD_XTRA_SCROLL	"False"
172#endif
173
174#ifndef DEF_ALT_SENDS_ESC
175#define DEF_ALT_SENDS_ESC	False
176#endif
177
178#ifndef DEF_META_SENDS_ESC
179#define DEF_META_SENDS_ESC	False
180#endif
181
182#ifndef DEF_8BIT_META
183#define DEF_8BIT_META		"true"	/* eightBitMeta */
184#endif
185
186#ifndef DEF_COLOR4
187#define DEF_COLOR4		"blue2"		/* see XTerm-col.ad */
188#endif
189
190#ifndef DEF_COLOR12
191#define DEF_COLOR12		"rgb:5c/5c/ff"	/* see XTerm-col.ad */
192#endif
193
194#ifndef DEF_INITIAL_ERASE
195#define DEF_INITIAL_ERASE	False
196#endif
197
198#ifndef DEF_MENU_LOCALE
199#define DEF_MENU_LOCALE		"C"
200#endif
201
202#ifndef DEF_POINTER_MODE
203#define DEF_POINTER_MODE	pNoMouse
204#endif
205
206#ifndef DEF_PTY_STTY_SIZE
207#if defined(linux) || defined(__APPLE__)
208#define DEF_PTY_STTY_SIZE	False
209#else
210#define DEF_PTY_STTY_SIZE	True
211#endif
212#endif
213
214#ifndef DEF_BUFFER_RATE
215#define DEF_BUFFER_RATE		40	/* frames/second, limited to 100 */
216#endif
217
218#ifndef DEF_LIMIT_RESPONSE
219#define DEF_LIMIT_RESPONSE	1024
220#endif
221
222#ifndef DEF_SAVE_LINES
223#define DEF_SAVE_LINES		1024
224#endif
225
226#ifndef DEF_SCROLL_LINES
227#define DEF_SCROLL_LINES	1
228#endif
229
230#ifndef DEF_SL_CLOCK
231#define DEF_SL_CLOCK		1000
232#endif
233
234#ifndef DEF_SL_COORDS
235#define DEF_SL_COORDS		80
236#endif
237
238#ifndef DEF_SL_FORMAT
239#define DEF_SL_FORMAT           "%{version%}  %{position%}  %{unixtime%}"
240#endif
241
242#ifndef DEF_STRINGS_MAX
243#if OPT_REGIS_GRAPHICS || OPT_SIXEL_GRAPHICS
244#define DEF_STRINGS_MAX		600000
245#else
246#define DEF_STRINGS_MAX		20000
247#endif
248#endif
249
250#ifndef DEF_TITLE_MODES
251#define DEF_TITLE_MODES		0
252#endif
253
254#ifndef DEF_TI_XTRA_SCROLL
255#define DEF_TI_XTRA_SCROLL	"False"
256#endif
257
258#ifndef DEF_TRACK_USAGE
259#define DEF_TRACK_USAGE		False
260#endif
261
262#ifndef DEF_XFT_CACHE
263#define DEF_XFT_CACHE		50
264#endif
265
266#ifndef PROJECTROOT
267#define PROJECTROOT		"/usr"
268#endif
269
270/*
271 * The configure script quotes PROJECTROOT's value.
272 * imake does not quote PROJECTROOT's value.
273 */
274#ifdef HAVE_CONFIG_H
275#define DEFLOCALEFILTER2(x)	x
276#else
277#define DEFLOCALEFILTER2(x)	#x
278#endif
279
280/*
281 * If the configure script finds luit, we have the path directly.
282 */
283#ifdef LUIT_PATH
284#define DEFLOCALEFILTER		LUIT_PATH
285#else
286#define DEFLOCALEFILTER1(x)	DEFLOCALEFILTER2(x)
287#define DEFLOCALEFILTER		DEFLOCALEFILTER1(PROJECTROOT) "/bin/luit"
288#endif
289
290#define MIN_SCALE_HEIGHT	0.9f
291#define MAX_SCALE_HEIGHT	1.5f
292
293/*
294 * See lib/Xt/Resources.c
295 */
296#define MAXRESOURCES            400
297
298#endif /* included_main_h */
299