Initial revision
[wmaker-crm.git] / src / wconfig.h.in
blob11127c43558f189e99647b1858be6ef8a9549232
1 /*
2 * wconfig.h- default configuration and definitions
3 *
4 * WindowMaker window manager
5 *
6 * Copyright (c) 1997 Alfredo K. Kojima
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 2 of the License, or
11 * (at your option) any later version.
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.
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.
23 #ifndef WMCONFIG_H_
24 #define WMCONFIG_H_
26 #include "config.h"
29 *--------------------------------------------------------------------
30 * Feature Selection
32 * Comment out the following #defines if you want to
33 * disable a feature.
34 * Also check the features you can enable through configure.
35 *--------------------------------------------------------------------
38 /* undefine ANIMATIONS if you don't want animations for iconification,
39 * shading, icon arrangement etc. */
40 #define ANIMATIONS
44 * #undef if you dont want the window creation animation when superfluous
45 * is enabled.
46 * THIS WILL NOT BE MADE RUN-TIME.
48 #define WINDOW_BIRTH_ZOOM
52 * mimic N*XTSTEP behaviour as close as possible.
53 * affected behaviour:
54 * - disable auto-lower miniwindows
56 #undef STRICTNS
60 * undefine USECPP if you don't want your config files to be preprocessed
61 * by cpp
63 #define USECPP
65 /* #define CPP_PATH @CPP_PATH@ */
68 * Internationalization (I18N) support
69 * Multi-byte (japanese, korean, chinese etc.) character support
70 * set by configure
72 @I18N_MB@
76 * sound support
78 @SOUND@
82 * support for OffiX DND drag and drop in the Dock
84 #define OFFIX_DND
87 /* define CONFIGURE_WINDOW_WHILE_MOVING if you want WindowMaker to send
88 * the synthetic ConfigureNotify event to windows while moving at every
89 * single movement. Default is to send a synthetic ConfigureNotify event
90 * only at the end of window moving, which improves performance.
92 #undef CONFIGURE_WINDOW_WHILE_MOVING
95 * Undefine BALLOON_TEXT if you don't want balloons for showing extra
96 * information, like window titles that are not fully visible.
98 #define BALLOON_TEXT
101 * If balloons should be shaped or be simple rectangles.
102 * The X server must support the shape extensions and it's support
103 * must be enabled (default).
105 #define SHAPED_BALLOON
109 * Define NO_EMERGENCY_AUTORESTART if you don't want another window manager
110 * automatically started when WindowMaker crashes. The X session will die
111 * in some cases if wmaker crashes and autorestart is disabled.
113 #undef NO_EMERGENCY_AUTORESTART
116 * The window manager that is autorestarted
118 #define FALLBACK_WINDOWMANAGER "blackbox"
121 /* Define if you want MWM hint support (and consequently GNOME). */
122 #define MWM_HINTS
126 * Turn on a hack to make mouse and keyboard actions work even if
127 * the NumLock or ScrollLock modifiers are turned on. They might
128 * inflict a performance/memory penalty.
130 * If you're an X expert (knows the implementation of XGrabKey() in X)
131 * and knows that the penalty is small (or not), please tell me.
133 #define NUMLOCK_HACK
138 * define SHADOW_RESIZEBAR if you want a resizebar with shadows like in
139 * NextStep 3.x ??, instead of the default Openstep look. NEXTSTEP 3.3
140 * also does not have these shadows.
142 #undef SHADOW_RESIZEBAR
145 * define REDUCE_APPICONS if you want apps with the same WM_INSTANCE &&
146 * WM_CLASS to share an appicon
148 @REDUCE_APPICONS@
151 * Define SPREAD_ICON if you want icon blowing animation (when detached from
152 * dock/clip in the superfluous mode), to spread the icon in four directions.
153 * If this is undefined, then the classic "Falling pieces" animation is used.
155 #undef SPREAD_ICON
160 *--------------------------------------------------------------------
161 * Default Configuration
163 * Some of the following options can be configured in
164 * the preference files, but if for some reason, they can't
165 * be used, these defaults will be.
166 * There are also some options that can only be configured here,
167 * at compile time.
168 *--------------------------------------------------------------------
171 /* list of paths to look for the config files, searched in order
172 * of appearance */
173 #define DEF_CONFIG_PATHS \
174 "~/GNUstep/Library/WindowMaker:"PKGDATADIR
176 /* name of the script to execute at startup */
177 #define DEF_INIT_SCRIPT "autostart"
179 #define DEF_EXIT_SCRIPT "exitscript"
181 #define DEFAULTS_DIR "Defaults"
184 /* pixmap path */
185 #define DEF_PIXMAP_PATHS \
186 "(\"~/pixmaps\",\"~/GNUstep/Library/WindowMaker/Pixmaps\",\""PIXMAPDIR"\")"
188 /* icon path */
189 #define DEF_ICON_PATHS \
190 "(\"~/pixmaps\",\"~/GNUstep/Library/Icons\",\"/usr/include/X11/pixmaps/\",\""PIXMAPDIR"\")"
193 /* window title to use for untitled windows */
194 #define DEF_WINDOW_TITLE "Untitled"
196 /* default style */
197 #define DEF_FRAME_COLOR "white"
200 #ifdef I18N_MB
201 #define DEF_TITLE_FONT "\"-*-*-medium-r-normal--14-*\""
202 #define DEF_MENU_TITLE_FONT "\"-*-*-medium-r-normal--14-*\""
203 #define DEF_MENU_ENTRY_FONT "\"-*-*-medium-r-normal--14-*\""
204 #define DEF_ICON_TITLE_FONT "\"-*-*-medium-r-normal--10-*\""
205 #define DEF_CLIP_TITLE_FONT "\"-*-*-medium-r-normal--10-*\""
206 #define DEF_INFO_TEXT_FONT "\"-*-*-medium-r-normal--14-*\""
207 #else /* I18N_MB */
208 #define DEF_TITLE_FONT "\"-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*\""
209 #define DEF_MENU_TITLE_FONT "\"-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*\""
210 #define DEF_MENU_ENTRY_FONT "\"-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*\""
211 #define DEF_ICON_TITLE_FONT "\"-*-helvetica-medium-r-normal-*-8-*-*-*-*-*-*-*\""
212 #define DEF_CLIP_TITLE_FONT "\"-*-helvetica-bold-r-normal-*-10-*-*-*-*-*-*-*\""
213 #define DEF_INFO_TEXT_FONT "\"-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*\""
214 #endif /* !I18N_MB */
216 #define HELVETICA10_FONT "-*-helvetica-medium-r-normal-*-10-*-*-*-*-*-*-*"
218 #define DEF_FRAME_THICKNESS 1 /* linewidth of the move/resize frame */
220 #define DEF_XPM_CLOSENESS 40000
222 /* default position of application menus */
223 #define DEF_APPMENU_X 10
224 #define DEF_APPMENU_Y 10
226 /* do not divide main menu and submenu in different tiers,
227 * opposed to OpenStep */
228 #define SINGLE_MENULEVEL
230 /* Zoom animation */
231 #define MINIATURIZE_ANIMATION_FRAMES_Z 5
232 #define MINIATURIZE_ANIMATION_STEPS_Z 12
233 #define MINIATURIZE_ANIMATION_DELAY_Z 500
234 /* Twist animation */
235 #define MINIATURIZE_ANIMATION_FRAMES_T 12
236 #define MINIATURIZE_ANIMATION_STEPS_T 16
237 #define MINIATURIZE_ANIMATION_DELAY_T 1000
238 #define MINIATURIZE_ANIMATION_TWIST_T 0.5
239 /* Flip animation */
240 #define MINIATURIZE_ANIMATION_FRAMES_F 12
241 #define MINIATURIZE_ANIMATION_STEPS_F 16
242 #define MINIATURIZE_ANIMATION_DELAY_F 1000
243 #define MINIATURIZE_ANIMATION_TWIST_F 0.5
246 #define BALLOON_DELAY 1000
248 /* animation speed constants */
250 /* icon slide */
251 #define ICON_SLIDE_SLOWDOWN_UF 20
252 #define ICON_SLIDE_DELAY_UF 0
253 #define ICON_SLIDE_STEPS_UF 15
255 #define ICON_SLIDE_SLOWDOWN_F 30
256 #define ICON_SLIDE_DELAY_F 0
257 #define ICON_SLIDE_STEPS_F 10
259 #define ICON_SLIDE_SLOWDOWN_M 40
260 #define ICON_SLIDE_DELAY_M 0
261 #define ICON_SLIDE_STEPS_M 5
263 #define ICON_SLIDE_SLOWDOWN_S 50
264 #define ICON_SLIDE_DELAY_S 0
265 #define ICON_SLIDE_STEPS_S 3
267 #define ICON_SLIDE_SLOWDOWN_U 50
268 #define ICON_SLIDE_DELAY_U 3
269 #define ICON_SLIDE_STEPS_U 3
271 /* menu scrolling */
272 #define MENU_SCROLL_STEPS_UF 14
273 #define MENU_SCROLL_DELAY_UF 0
275 #define MENU_SCROLL_STEPS_F 10
276 #define MENU_SCROLL_DELAY_F 5
278 #define MENU_SCROLL_STEPS_M 6
279 #define MENU_SCROLL_DELAY_M 5
281 #define MENU_SCROLL_STEPS_S 4
282 #define MENU_SCROLL_DELAY_S 6
284 #define MENU_SCROLL_STEPS_U 1
285 #define MENU_SCROLL_DELAY_U 8
287 /* shade animation */
288 #define SHADE_STEPS_UF 5
289 #define SHADE_DELAY_UF 0
291 #define SHADE_STEPS_F 10
292 #define SHADE_DELAY_F 0
294 #define SHADE_STEPS_M 15
295 #define SHADE_DELAY_M 0
297 #define SHADE_STEPS_S 30
298 #define SHADE_DELAY_S 0
300 #define SHADE_STEPS_U 20
301 #define SHADE_DELAY_U 10
303 /* window birth animation steps (DO NOT MAKE IT RUN-TIME) */
304 #define WINDOW_BIRTH_STEPS 20
307 /* Delay when cycling colors of selected icons. */
308 #define COLOR_CYCLE_DELAY 300
311 /* Position increment for smart placement. >= 1 raise these values if it's
312 * too slow for you */
313 #define PLACETEST_HSTEP 8
314 #define PLACETEST_VSTEP 8
317 #define DOCK_EXTRA_SPACE 1
319 /* Vicinity in which an icon can be attached to the clip */
320 #define CLIP_ATTACH_VICINITY 1
322 /* Delay (in ms) after which the clip will autocollapse when leaved */
323 #define AUTO_COLLAPSE_DELAY 1000
326 /* Max. number of icons the clip can have */
327 #define CLIP_MAX_ICONS 32
329 /* blink interval when invoking a menu item */
330 #define MENU_BLINK_DELAY 60000
331 #define MENU_BLINK_COUNT 2
333 #define CURSOR_BLINK_RATE 300
335 #define MOVE_THRESHOLD 3 /* how many pixels to move before dragging windows */
337 #define HRESIZE_THRESHOLD 3
339 #define MAX_WORKSPACENAME_WIDTH 16
340 #define MAX_WINDOWLIST_WIDTH 160 /* max width of window title in
341 * window list */
343 #define DEFAULTS_CHECK_INTERVAL 2000 /* how often wmaker will check for
344 * changes in the config files */
346 /* if your keyboard don't have arrow keys */
347 #undef ARROWLESS_KBD
350 /* don't put titles in miniwindows */
351 #undef NO_MINIWINDOW_TITLES
354 * disable/enable workspace indicator in the dock
357 #undef WS_INDICATOR
360 /* the button positions in the clip */
361 #define LCLIPB_X 4
362 #define RCLIPB_X 32
363 #define CLIPB_Y 41
364 #define CLIPB_W 27
365 #define CLIPB_H 18
369 *----------------------------------------------------------------------
370 * You should not modify the following values, unless you know
371 * what you're doing.
372 *----------------------------------------------------------------------
377 #define WM_PI 3.14159265358979323846
379 #define FRAME_BORDER_COLOR "black"
381 #define FRAME_BORDER_WIDTH 1 /* width of window border for frames */
383 #define RESIZEBAR_HEIGHT 8 /* height of the resizebar */
384 #define RESIZEBAR_MIN_WIDTH 20 /* min. width of handles-corner_width */
385 #define RESIZEBAR_CORNER_WIDTH 28 /* width of the corner of resizebars */
387 #define TITLEBAR_EXTRA_HEIGHT 8
389 #define MENU_INDICATOR_SPACE 12
391 /* minimum size for windows */
392 #define MIN_WINDOW_SIZE 5
394 #define MIN_TITLEFONT_HEIGHT(h) ((h)>14 ? (h) : 14)
396 #define ICON_WIDTH 64 /* size of the icon window */
397 #define ICON_HEIGHT 64
398 #define ICON_BORDER_WIDTH 2
400 #define MAX_ICON_WIDTH 60 /* size of the icon pixmap */
401 #define MAX_ICON_HEIGHT 48
403 #define MAX_WORKSPACES 100
405 #define MAX_MENU_TEXT_LENGTH 512
407 #define MAX_RESTART_ARGS 16
409 #define MAX_COMMAND_SIZE 1024
411 #define MAX_DEAD_PROCESSES 128
414 #define MAXLINE 1024
416 #ifdef _MAX_PATH
417 # define DEFAULT_PATH_MAX _MAX_PATH
418 #else
419 # define DEFAULT_PATH_MAX 512
420 #endif
422 #ifndef SHAPE
423 #undef SHAPED_BALLOON
424 #endif
426 #define DEBUG0
429 #if HAVE_LIBINTL_H && I18N
430 # include <libintl.h>
431 # define _(text) gettext(text)
432 #else
433 # define _(text) (text)
434 #endif
437 #if defined(__GNUC__) && !defined(__STRICT_ANSI__)
438 # define INLINE inline
439 #else
440 # define INLINE
441 #endif
443 #endif /* WMCONFIG_H_ */