Updating to version 0.20.2
[wmaker-crm.git] / src / wconfig.h.in
blobe07317ea0b2e3e92400534cf8474840eec4c32f5
1 /*
2 * wconfig.h- default configuration and definitions + compile time options
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"
28 /*** Change it (wconfig.h) *after* you ran configure ***/
31 *--------------------------------------------------------------------
32 * Feature Selection
34 * Comment out the following #defines if you want to
35 * disable a feature.
36 * Also check the features you can enable through configure.
37 *--------------------------------------------------------------------
40 /* undefine ANIMATIONS if you don't want animations for iconification,
41 * shading, icon arrangement etc. */
42 #define ANIMATIONS
46 * mimic N*XTSTEP behaviour as close as possible.
47 * affected behaviour:
48 * - disable auto-lower miniwindows
50 #undef STRICTNS
54 * undefine USECPP if you don't want your config files to be preprocessed
55 * by cpp
57 #define USECPP
59 /* #define CPP_PATH @CPP_PATH@ */
62 * Internationalization (I18N) support
63 * Multi-byte (japanese, korean, chinese etc.) character support
64 * set by configure
66 @I18N_MB@
70 * sound support
72 @SOUND@
76 * support for OffiX DND drag and drop in the Dock
78 #define OFFIX_DND
81 * support for XDE drang and drop in the Dock. still in beta
83 #undef XDE_DND
87 * Undefine BALLOON_TEXT if you don't want balloons for showing extra
88 * information, like window titles that are not fully visible.
90 #define BALLOON_TEXT
93 * If balloons should be shaped or be simple rectangles.
94 * The X server must support the shape extensions and it's support
95 * must be enabled (default).
97 #define SHAPED_BALLOON
101 * Define NO_EMERGENCY_AUTORESTART if you don't want another window manager
102 * automatically started when WindowMaker crashes. The X session will die
103 * in some cases if wmaker crashes and autorestart is disabled.
105 #undef NO_EMERGENCY_AUTORESTART
108 * The window manager that is autorestarted
110 #define FALLBACK_WINDOWMANAGER "blackbox"
113 /* Define if you want MWM hint support (and consequently GNOME). */
114 #define MWM_HINTS
118 * Turn on a hack to make mouse and keyboard actions work even if
119 * the NumLock or ScrollLock modifiers are turned on. They might
120 * inflict a performance/memory penalty.
122 * If you're an X expert (knows the implementation of XGrabKey() in X)
123 * and knows that the penalty is small (or not), please tell me.
125 #define NUMLOCK_HACK
128 * define REDUCE_APPICONS if you want apps with the same WM_INSTANCE &&
129 * WM_CLASS to share an appicon
131 @REDUCE_APPICONS@
135 * define OPTIMIZE_SHAPE if you want the shape setting code to be optimized
136 * for applications that change their shape frequently (like xdaliclock
137 * -shape), removing flickering. If wmaker and your display are on
138 * different machines and the network connection is slow, it is not
139 * recommended.
141 #undef OPTIMIZE_SHAPE
143 /* define CONFIGURE_WINDOW_WHILE_MOVING if you want WindowMaker to send
144 * the synthetic ConfigureNotify event to windows while moving at every
145 * single movement. Default is to send a synthetic ConfigureNotify event
146 * only at the end of window moving, which improves performance.
148 #undef CONFIGURE_WINDOW_WHILE_MOVING
152 *..........................................................................
153 * The following options WILL NOT BE MADE RUN-TIME. Please do not request.
154 * They will only add unneeded bloat.
155 *..........................................................................
159 * define SHADOW_RESIZEBAR if you want a resizebar with shadows like in
160 * NextStep 3.x ??, instead of the default Openstep look. NEXTSTEP 3.3
161 * also does not have these shadows.
163 #undef SHADOW_RESIZEBAR
167 * Define DEMATERIALIZE_ICON if you want the undocked icon animation
168 * to be a progressive disaparison animation.
170 #undef DEMATERIALIZE_ICON
173 * Define ICON_KABOOM_EXTRA if you want extra fancy icon undocking
174 * explosion animation.
176 #undef ICON_KABOOM_EXTRA
179 * #undef if you dont want the window creation animation when superfluous
180 * is enabled.
182 #undef WINDOW_BIRTH_ZOOM
186 *--------------------------------------------------------------------
187 * Default Configuration
189 * Some of the following options can be configured in
190 * the preference files, but if for some reason, they can't
191 * be used, these defaults will be.
192 * There are also some options that can only be configured here,
193 * at compile time.
194 *--------------------------------------------------------------------
197 /* list of paths to look for the config files, searched in order
198 * of appearance */
199 #define DEF_CONFIG_PATHS \
200 "~/GNUstep/Library/WindowMaker:"PKGDATADIR
202 /* name of the script to execute at startup */
203 #define DEF_INIT_SCRIPT "autostart"
205 #define DEF_EXIT_SCRIPT "exitscript"
207 #define DEFAULTS_DIR "Defaults"
210 /* pixmap path */
211 #define DEF_PIXMAP_PATHS \
212 "(\"~/pixmaps\",\"~/GNUstep/Library/WindowMaker/Pixmaps\",\""PIXMAPDIR"\")"
214 /* icon path */
215 #define DEF_ICON_PATHS \
216 "(\"~/pixmaps\",\"~/GNUstep/Library/Icons\",\"/usr/include/X11/pixmaps/\",\""PIXMAPDIR"\")"
219 /* window title to use for untitled windows */
220 #define DEF_WINDOW_TITLE "Untitled"
222 /* default style */
223 #define DEF_FRAME_COLOR "white"
226 #ifdef I18N_MB
227 #define DEF_TITLE_FONT "\"-*-*-medium-r-normal--14-*\""
228 #define DEF_MENU_TITLE_FONT "\"-*-*-medium-r-normal--14-*\""
229 #define DEF_MENU_ENTRY_FONT "\"-*-*-medium-r-normal--14-*\""
230 #define DEF_ICON_TITLE_FONT "\"-*-*-medium-r-normal--10-*\""
231 #define DEF_CLIP_TITLE_FONT "\"-*-*-medium-r-normal--10-*\""
232 #define DEF_INFO_TEXT_FONT "\"-*-*-medium-r-normal--14-*\""
233 #else /* I18N_MB */
234 #define DEF_TITLE_FONT "\"-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*\""
235 #define DEF_MENU_TITLE_FONT "\"-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*\""
236 #define DEF_MENU_ENTRY_FONT "\"-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*\""
237 #define DEF_ICON_TITLE_FONT "\"-*-helvetica-medium-r-normal-*-8-*-*-*-*-*-*-*\""
238 #define DEF_CLIP_TITLE_FONT "\"-*-helvetica-bold-r-normal-*-10-*-*-*-*-*-*-*\""
239 #define DEF_INFO_TEXT_FONT "\"-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*\""
240 #endif /* !I18N_MB */
242 #define HELVETICA10_FONT "-*-helvetica-medium-r-normal-*-10-*-*-*-*-*-*-*"
244 #define DEF_FRAME_THICKNESS 1 /* linewidth of the move/resize frame */
246 #define DEF_XPM_CLOSENESS 40000
248 /* default position of application menus */
249 #define DEF_APPMENU_X 10
250 #define DEF_APPMENU_Y 10
252 /* do not divide main menu and submenu in different tiers,
253 * opposed to OpenStep */
254 #define SINGLE_MENULEVEL
256 /* max. time to spend doing animations in seconds. If the animation
257 * time exceeds this value, it is immediately finished. Usefull for
258 * moments of high-load.
260 #define MAX_ANIMATION_TIME 1
262 /* Zoom animation */
263 #define MINIATURIZE_ANIMATION_FRAMES_Z 5
264 #define MINIATURIZE_ANIMATION_STEPS_Z 12
265 #define MINIATURIZE_ANIMATION_DELAY_Z 500
266 /* Twist animation */
267 #define MINIATURIZE_ANIMATION_FRAMES_T 12
268 #define MINIATURIZE_ANIMATION_STEPS_T 16
269 #define MINIATURIZE_ANIMATION_DELAY_T 1000
270 #define MINIATURIZE_ANIMATION_TWIST_T 0.5
271 /* Flip animation */
272 #define MINIATURIZE_ANIMATION_FRAMES_F 12
273 #define MINIATURIZE_ANIMATION_STEPS_F 16
274 #define MINIATURIZE_ANIMATION_DELAY_F 1000
275 #define MINIATURIZE_ANIMATION_TWIST_F 0.5
278 #define HIDE_ANIMATION_STEPS (MINIATURIZE_ANIMATION_STEPS*2/3)
281 #define BALLOON_DELAY 1000
283 /* animation speed constants */
285 /* icon slide */
286 #define ICON_SLIDE_SLOWDOWN_UF 20
287 #define ICON_SLIDE_DELAY_UF 0
288 #define ICON_SLIDE_STEPS_UF 15
290 #define ICON_SLIDE_SLOWDOWN_F 30
291 #define ICON_SLIDE_DELAY_F 0
292 #define ICON_SLIDE_STEPS_F 10
294 #define ICON_SLIDE_SLOWDOWN_M 40
295 #define ICON_SLIDE_DELAY_M 0
296 #define ICON_SLIDE_STEPS_M 5
298 #define ICON_SLIDE_SLOWDOWN_S 50
299 #define ICON_SLIDE_DELAY_S 0
300 #define ICON_SLIDE_STEPS_S 3
302 #define ICON_SLIDE_SLOWDOWN_U 50
303 #define ICON_SLIDE_DELAY_U 3
304 #define ICON_SLIDE_STEPS_U 3
306 /* menu scrolling */
307 #define MENU_SCROLL_STEPS_UF 14
308 #define MENU_SCROLL_DELAY_UF 0
310 #define MENU_SCROLL_STEPS_F 10
311 #define MENU_SCROLL_DELAY_F 5
313 #define MENU_SCROLL_STEPS_M 6
314 #define MENU_SCROLL_DELAY_M 5
316 #define MENU_SCROLL_STEPS_S 4
317 #define MENU_SCROLL_DELAY_S 6
319 #define MENU_SCROLL_STEPS_U 1
320 #define MENU_SCROLL_DELAY_U 8
322 /* shade animation */
323 #define SHADE_STEPS_UF 5
324 #define SHADE_DELAY_UF 0
326 #define SHADE_STEPS_F 10
327 #define SHADE_DELAY_F 0
329 #define SHADE_STEPS_M 15
330 #define SHADE_DELAY_M 0
332 #define SHADE_STEPS_S 30
333 #define SHADE_DELAY_S 0
335 #define SHADE_STEPS_U 20
336 #define SHADE_DELAY_U 10
338 /* window birth animation steps (DO NOT MAKE IT RUN-TIME) */
339 #define WINDOW_BIRTH_STEPS 20
341 /* number of steps for icon dematerialization. */
342 #define DEMATERIALIZE_STEPS 16
344 /* Delay when cycling colors of selected icons. */
345 #define COLOR_CYCLE_DELAY 200
347 /* size of the pieces in the undocked icon explosion */
348 #define ICON_KABOOM_PIECE_SIZE 4
351 /* Position increment for smart placement. >= 1 raise these values if it's
352 * too slow for you */
353 #define PLACETEST_HSTEP 8
354 #define PLACETEST_VSTEP 8
357 #define DOCK_EXTRA_SPACE 1
359 /* Vicinity in which an icon can be attached to the clip */
360 #define CLIP_ATTACH_VICINITY 1
362 /* The amount of space (in multiples of the icon size)
363 * a docked icon must be dragged out to detach it */
364 #define DOCK_DETTACH_THRESHOLD 3
366 /* Delay (in ms) after which the clip will autocollapse when leaved */
367 #define AUTO_COLLAPSE_DELAY 1000
370 /* Max. number of icons the clip can have */
371 #define CLIP_MAX_ICONS 32
373 /* blink interval when invoking a menu item */
374 #define MENU_BLINK_DELAY 60000
375 #define MENU_BLINK_COUNT 2
377 #define CURSOR_BLINK_RATE 300
379 #define MOVE_THRESHOLD 3 /* how many pixels to move before dragging windows */
381 #define HRESIZE_THRESHOLD 3
383 #define MAX_WORKSPACENAME_WIDTH 16
384 #define MAX_WINDOWLIST_WIDTH 160 /* max width of window title in
385 * window list */
387 #define DEFAULTS_CHECK_INTERVAL 2000 /* how often wmaker will check for
388 * changes in the config files */
390 /* if your keyboard don't have arrow keys */
391 #undef ARROWLESS_KBD
394 /* don't put titles in miniwindows */
395 #undef NO_MINIWINDOW_TITLES
398 * disable/enable workspace indicator in the dock
401 #undef WS_INDICATOR
405 *----------------------------------------------------------------------
406 * You should not modify the following values, unless you know
407 * what you're doing.
408 *----------------------------------------------------------------------
413 #define WM_PI 3.14159265358979323846
415 #define FRAME_BORDER_COLOR "black"
417 #define FRAME_BORDER_WIDTH 1 /* width of window border for frames */
419 #define RESIZEBAR_HEIGHT 8 /* height of the resizebar */
420 #define RESIZEBAR_MIN_WIDTH 20 /* min. width of handles-corner_width */
421 #define RESIZEBAR_CORNER_WIDTH 28 /* width of the corner of resizebars */
423 #define TITLEBAR_EXTRA_HEIGHT 8
425 #define MENU_INDICATOR_SPACE 12
427 /* minimum size for windows */
428 #define MIN_WINDOW_SIZE 5
430 #define MIN_TITLEFONT_HEIGHT(h) ((h)>14 ? (h) : 14)
432 #define ICON_WIDTH 64 /* size of the icon window */
433 #define ICON_HEIGHT 64
434 #define ICON_BORDER_WIDTH 2
436 #define MAX_ICON_WIDTH 60 /* size of the icon pixmap */
437 #define MAX_ICON_HEIGHT 48
439 #define MAX_WORKSPACES 100
441 #define MAX_MENU_TEXT_LENGTH 512
443 #define MAX_RESTART_ARGS 16
445 #define MAX_COMMAND_SIZE 1024
447 #define MAX_DEAD_PROCESSES 128
450 #define MAXLINE 1024
453 #ifdef _MAX_PATH
454 # define DEFAULT_PATH_MAX _MAX_PATH
455 #else
456 # define DEFAULT_PATH_MAX 512
457 #endif
460 #define DEBUG0
462 /* some rules */
464 #ifndef SHAPE
465 #undef SHAPED_BALLOON
466 #endif
469 #if HAVE_LIBINTL_H && I18N
470 # include <libintl.h>
471 # define _(text) gettext(text)
472 #else
473 # define _(text) (text)
474 #endif
477 #if defined(__GNUC__) && !defined(__STRICT_ANSI__)
478 # define INLINE inline
479 #else
480 # define INLINE
481 #endif
483 #endif /* WMCONFIG_H_ */