- Fixed some non-portable shell constructs used in installed scripts
[wmaker-crm.git] / src / wconfig.h.in
blobd54a46c63d0ad8697bfd6198f7c22a56524668d6
1 /*
2 * wconfig.h- default configuration and definitions + compile time options
3 *
4 * WindowMaker window manager
5 *
6 * Copyright (c) 1997-1999 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 this file (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 *--------------------------------------------------------------------
42 * #undefine if you dont want texture plugin support or your system have
43 * some sort of problem with them.
45 #define TEXTURE_PLUGIN
47 #ifdef TEXTURE_PLUGIN
48 #undef DRAWSTRING_PLUGIN
49 #endif
52 /* undefine ANIMATIONS if you don't want animations for iconification,
53 * shading, icon arrangement etc. */
54 #define ANIMATIONS
58 * undefine USECPP if you don't want your config files to be preprocessed
59 * by cpp
61 #define USECPP
63 /* #define CPP_PATH @CPP_PATH@ */
66 * support for OffiX DND drag and drop in the Dock
68 #define OFFIX_DND
71 * support for XDND drop in the Dock. Experimental
73 #ifdef GNOME_STUFF
74 #define XDND
75 #endif
78 * support for Motif window manager (mwm) window hints
80 #define MWM_HINTS
84 * Undefine BALLOON_TEXT if you don't want balloons for showing extra
85 * information, like window titles that are not fully visible.
87 #define BALLOON_TEXT
90 * If balloons should be shaped or be simple rectangles.
91 * The X server must support the shape extensions and it's support
92 * must be enabled (default).
94 #define SHAPED_BALLOON
98 * Define NO_EMERGENCY_AUTORESTART if you don't want another window manager
99 * automatically started when WindowMaker crashes. The X session will die
100 * in some cases if wmaker crashes and autorestart is disabled.
102 #undef NO_EMERGENCY_AUTORESTART
105 * The window manager that is autorestarted
107 #define FALLBACK_WINDOWMANAGER "blackbox"
110 * Turn on a hack to make mouse and keyboard actions work even if
111 * the NumLock or ScrollLock modifiers are turned on. They might
112 * inflict a performance/memory penalty.
114 * If you're an X expert (knows the implementation of XGrabKey() in X)
115 * and knows that the penalty is small (or not), please tell me.
117 #define NUMLOCK_HACK
122 * define OPTIMIZE_SHAPE if you want the shape setting code to be optimized
123 * for applications that change their shape frequently (like xdaliclock
124 * -shape), removing flickering. If wmaker and your display are on
125 * different machines and the network connection is slow, it is not
126 * recommended.
128 #undef OPTIMIZE_SHAPE
130 /* define CONFIGURE_WINDOW_WHILE_MOVING if you want WindowMaker to send
131 * the synthetic ConfigureNotify event to windows while moving at every
132 * single movement. Default is to send a synthetic ConfigureNotify event
133 * only at the end of window moving, which improves performance.
135 #undef CONFIGURE_WINDOW_WHILE_MOVING
139 * disable/enable workspace indicator in the dock
141 #undef WS_INDICATOR
145 * define HIDDENDOT if you want a dot to be shown in the application icon
146 * of applications that are hidden.
148 #define HIDDENDOT
152 * Ignores the PPosition hint from clients. This is needed for some
153 * programs that have buggy implementations of such hint and place
154 * themselves in strange locations.
156 #undef IGNORE_PPOSITION
160 * Do not scale application icon and miniwindow icon images.
162 #undef DONT_SCALE_ICONS
169 #define SILLYNESS
176 *..........................................................................
177 * The following options WILL NOT BE MADE RUN-TIME. Please do not request.
178 * They will only add unneeded bloat.
179 *..........................................................................
183 * define SHADOW_RESIZEBAR if you want a resizebar with shadows like in
184 * AfterStep, instead of the default Openstep look.
185 * NEXTSTEP 3.3 also does not have these shadows.
187 #undef SHADOW_RESIZEBAR
190 * Define DEMATERIALIZE_ICON if you want the undocked icon animation
191 * to be a progressive disaparison animation.
192 * This will cause all application icons to be created with Save Under
193 * enable.
195 #undef DEMATERIALIZE_ICON
198 * Define ICON_KABOOM_EXTRA if you want extra fancy icon undocking
199 * explosion animation.
201 #undef ICON_KABOOM_EXTRA
204 * #undef if you dont want the window creation animation when superfluous
205 * is enabled.
207 #undef WINDOW_BIRTH_ZOOM
210 * whether arrow drawing in clip buttons should be gradiented
212 #undef GRADIENT_CLIP_ARROWS
215 * define DEFINABLE_CURSOR if you want WindowMaker's default cursor
216 * to be user-definable instead of using a hard-coded left_ptr.
218 #undef DEFINABLE_CURSOR
221 #undef NO_WINDOW_ENUMERATOR
225 *--------------------------------------------------------------------
226 * Default Configuration
228 * Some of the following options can be configured in
229 * the preference files, but if for some reason, they can't
230 * be used, these defaults will be.
231 * There are also some options that can only be configured here,
232 * at compile time.
233 *--------------------------------------------------------------------
236 /* list of paths to look for the config files, searched in order
237 * of appearance */
238 #define DEF_CONFIG_PATHS \
239 "~/GNUstep/Library/WindowMaker:"PKGDATADIR
241 #define DEF_MENU_FILE "menu"
243 /* name of the script to execute at startup */
244 #define DEF_INIT_SCRIPT "autostart"
246 #define DEF_EXIT_SCRIPT "exitscript"
248 #define DEFAULTS_DIR "Defaults"
250 #ifdef USE_TIFF
251 #define DEF_BUTTON_IMAGES PKGDATADIR"/buttons.tiff"
252 #else
253 #define DEF_BUTTON_IMAGES PKGDATADIR"/buttons.xpm"
254 #endif
256 /* the file of the system wide submenu to be forced into the main menu */
257 /* remove the comments if you want it */
259 #define GLOBAL_SUBMENU_FILE PKGDATADIR"/GlobalMenu"
262 /* pixmap path */
263 #define DEF_PIXMAP_PATHS \
264 "(\"~/pixmaps\",\"~/GNUstep/Library/WindowMaker/Pixmaps\",\""PIXMAPDIR"\")"
266 #ifdef USER_MENU
267 #define GLOBAL_USER_MENU_PATH PKGDATADIR"/UserMenus"
268 #define DEF_USER_MENU_PATHS \
269 "~/GNUstep/Library/WindowMaker/UserMenus:"GLOBAL_USER_MENU_PATH
270 #endif
272 /* icon path */
273 #define DEF_ICON_PATHS \
274 "(\"~/pixmaps\",\"~/GNUstep/Library/Icons\",\"/usr/include/X11/pixmaps/\",\""PIXMAPDIR"\")"
277 /* window title to use for untitled windows */
278 #define DEF_WINDOW_TITLE "Untitled"
280 /* default style */
281 #define DEF_FRAME_COLOR "white"
284 #ifdef I18N_MB
285 #define DEF_TITLE_FONT "\"-*-*-medium-r-normal--14-*\""
286 #define DEF_MENU_TITLE_FONT "\"-*-*-medium-r-normal--14-*\""
287 #define DEF_MENU_ENTRY_FONT "\"-*-*-medium-r-normal--14-*\""
288 #define DEF_ICON_TITLE_FONT "\"-*-*-medium-r-normal--10-*\""
289 #define DEF_CLIP_TITLE_FONT "\"-*-*-medium-r-normal--10-*\""
290 #define DEF_INFO_TEXT_FONT "\"-*-*-medium-r-normal--14-*\""
291 #define DEF_ADDITONAL_FONT "-*-*-medium-r-normal--12-*"
293 #define DEF_WORKSPACE_NAME_FONT "\"-*-*-medium-r-normal--24-*\""
294 #else /* !I18N_MB */
295 #define DEF_TITLE_FONT "\"-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*\""
296 #define DEF_MENU_TITLE_FONT "\"-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*\""
297 #define DEF_MENU_ENTRY_FONT "\"-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*\""
298 #define DEF_ICON_TITLE_FONT "\"-*-helvetica-medium-r-normal-*-8-*-*-*-*-*-*-*\""
299 #define DEF_CLIP_TITLE_FONT "\"-*-helvetica-bold-r-normal-*-10-*-*-*-*-*-*-*\""
300 #define DEF_INFO_TEXT_FONT "\"-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*\""
302 #define DEF_WORKSPACE_NAME_FONT "\"-*-lucida-bold-r-*-*-24-*-*-*-*-*-*-*\""
303 #endif /* !I18N_MB */
305 #define HELVETICA10_FONT "-*-helvetica-medium-r-normal-*-10-*-*-*-*-*-*-*"
307 #define DEF_FRAME_THICKNESS 1 /* linewidth of the move/resize frame */
309 #define DEF_WINDOW_TITLE_EXTEND_SPACE "0"
310 #define DEF_MENU_TITLE_EXTEND_SPACE "0"
311 #define DEF_MENU_TEXT_EXTEND_SPACE "0"
312 #define TITLEBAR_EXTEND_SPACE 4
314 #define DEF_XPM_CLOSENESS 40000
316 /* default position of application menus */
317 #define DEF_APPMENU_X 10
318 #define DEF_APPMENU_Y 10
320 /* calculate window edge resistance from edge resistance */
321 #define WIN_RESISTANCE(x) (((x)*20)/30)
323 /* Window level where icons reside */
324 #define NORMAL_ICON_LEVEL WMNormalLevel
326 /* do not divide main menu and submenu in different tiers,
327 * opposed to OpenStep */
328 #define SINGLE_MENULEVEL
330 /* max. time to spend doing animations in seconds. If the animation
331 * time exceeds this value, it is immediately finished. Usefull for
332 * moments of high-load.
334 #define MAX_ANIMATION_TIME 1
336 /* Zoom animation */
337 #define MINIATURIZE_ANIMATION_FRAMES_Z 5
338 #define MINIATURIZE_ANIMATION_STEPS_Z 12
339 #define MINIATURIZE_ANIMATION_DELAY_Z 500
340 /* Twist animation */
341 #define MINIATURIZE_ANIMATION_FRAMES_T 12
342 #define MINIATURIZE_ANIMATION_STEPS_T 16
343 #define MINIATURIZE_ANIMATION_DELAY_T 1000
344 #define MINIATURIZE_ANIMATION_TWIST_T 0.5
345 /* Flip animation */
346 #define MINIATURIZE_ANIMATION_FRAMES_F 12
347 #define MINIATURIZE_ANIMATION_STEPS_F 16
348 #define MINIATURIZE_ANIMATION_DELAY_F 1000
349 #define MINIATURIZE_ANIMATION_TWIST_F 0.5
352 #define HIDE_ANIMATION_STEPS (MINIATURIZE_ANIMATION_STEPS*2/3)
354 /* delay before balloon is showed */
355 #define BALLOON_DELAY 1000
357 /* delay for menu item selection hysteresis */
358 #define MENU_SELECT_DELAY 200
360 /* delay for jumpback of scrolled menus */
361 #define MENU_JUMP_BACK_DELAY 400
363 /* *** animation speed constants *** */
365 /* icon slide */
366 #define ICON_SLIDE_SLOWDOWN_UF 20
367 #define ICON_SLIDE_DELAY_UF 0
368 #define ICON_SLIDE_STEPS_UF 15
370 #define ICON_SLIDE_SLOWDOWN_F 30
371 #define ICON_SLIDE_DELAY_F 0
372 #define ICON_SLIDE_STEPS_F 10
374 #define ICON_SLIDE_SLOWDOWN_M 40
375 #define ICON_SLIDE_DELAY_M 0
376 #define ICON_SLIDE_STEPS_M 5
378 #define ICON_SLIDE_SLOWDOWN_S 50
379 #define ICON_SLIDE_DELAY_S 0
380 #define ICON_SLIDE_STEPS_S 3
382 #define ICON_SLIDE_SLOWDOWN_U 50
383 #define ICON_SLIDE_DELAY_U 3
384 #define ICON_SLIDE_STEPS_U 3
386 /* menu scrolling */
387 #define MENU_SCROLL_STEPS_UF 14
388 #define MENU_SCROLL_DELAY_UF 0
390 #define MENU_SCROLL_STEPS_F 10
391 #define MENU_SCROLL_DELAY_F 5
393 #define MENU_SCROLL_STEPS_M 6
394 #define MENU_SCROLL_DELAY_M 5
396 #define MENU_SCROLL_STEPS_S 4
397 #define MENU_SCROLL_DELAY_S 6
399 #define MENU_SCROLL_STEPS_U 1
400 #define MENU_SCROLL_DELAY_U 8
403 /* shade animation */
404 #define SHADE_STEPS_UF 5
405 #define SHADE_DELAY_UF 0
407 #define SHADE_STEPS_F 10
408 #define SHADE_DELAY_F 0
410 #define SHADE_STEPS_M 15
411 #define SHADE_DELAY_M 0
413 #define SHADE_STEPS_S 30
414 #define SHADE_DELAY_S 0
416 #define SHADE_STEPS_U 20
417 #define SHADE_DELAY_U 10
420 /* workspace name on switch display */
421 #define WORKSPACE_NAME_FADE_DELAY 30
423 #ifdef VIRTUAL_DESKTOP
424 /* workspace virtual edge speed */
425 #define VIRTUALEDGE_SCROLL_VSTEP 30
426 #define VIRTUALEDGE_SCROLL_HSTEP 30
427 #endif
429 #define WORKSPACE_NAME_DELAY 400
431 /* window birth animation steps (DO NOT MAKE IT RUN-TIME) */
432 #define WINDOW_BIRTH_STEPS 20
434 /* number of steps for icon dematerialization. */
435 #define DEMATERIALIZE_STEPS 16
437 /* Delay when cycling colors of selected icons. */
438 #define COLOR_CYCLE_DELAY 200
440 /* size of the pieces in the undocked icon explosion */
441 #define ICON_KABOOM_PIECE_SIZE 4
444 /* Position increment for smart placement. >= 1 raise these values if it's
445 * too slow for you */
446 #define PLACETEST_HSTEP 8
447 #define PLACETEST_VSTEP 8
450 #define DOCK_EXTRA_SPACE 0
452 /* Vicinity in which an icon can be attached to the clip */
453 #define CLIP_ATTACH_VICINITY 1
455 #define CLIP_BUTTON_SIZE 23
458 /* The amount of space (in multiples of the icon size)
459 * a docked icon must be dragged out to detach it */
460 #define DOCK_DETTACH_THRESHOLD 3
462 /* Delay (in ms) after which the clip will autocollapse when leaved */
463 #define AUTO_COLLAPSE_DELAY 1000
465 /* Delay (in ms) after which the clip will autoexpand when entered.
466 * Set this to zero if you want instant expanding. */
467 #define AUTO_EXPAND_DELAY 600
469 /* Delay (in ms) after which the clip will be lowered when leaved */
470 #define AUTO_LOWER_DELAY 1000
472 /* Delay (in ms) after which the clip will be raised when entered.
473 * Set this to zero if you want instant raise. */
474 #define AUTO_RAISE_DELAY 600
477 /* Max. number of icons the clip can have */
478 #define CLIP_MAX_ICONS 32
480 /* blink interval when invoking a menu item */
481 #define MENU_BLINK_DELAY 60000
482 #define MENU_BLINK_COUNT 2
484 #define CURSOR_BLINK_RATE 300
486 #define MOVE_THRESHOLD 5 /* how many pixels to move before dragging windows
487 * and other objects */
489 #define KEY_CONTROL_WINDOW_WEIGHT 1
491 #define HRESIZE_THRESHOLD 3
493 #define MAX_WORKSPACENAME_WIDTH 16
494 #define MAX_WINDOWLIST_WIDTH 160 /* max width of window title in
495 * window list */
497 #define DEFAULTS_CHECK_INTERVAL 2000 /* how often wmaker will check for
498 * changes in the config files */
500 /* if your keyboard don't have arrow keys */
501 #undef ARROWLESS_KBD
504 /* don't put titles in miniwindows */
505 #undef NO_MINIWINDOW_TITLES
508 #define FRAME_BORDER_COLOR "black"
511 /* for boxes with high mouse sampling rates (SGI) */
512 #define DELAY_BETWEEN_MOUSE_SAMPLING 10
516 *----------------------------------------------------------------------
517 * You should not modify the following values, unless you know
518 * what you're doing.
519 *----------------------------------------------------------------------
523 /* number of window shortcuts */
524 #define MAX_WINDOW_SHORTCUTS 10
527 #define WM_PI 3.14159265358979323846
529 #define FRAME_BORDER_WIDTH 1 /* width of window border for frames */
531 #define RESIZEBAR_HEIGHT 8 /* height of the resizebar */
532 #define RESIZEBAR_MIN_WIDTH 20 /* min. width of handles-corner_width */
533 #define RESIZEBAR_CORNER_WIDTH 28 /* width of the corner of resizebars */
535 #define MENU_INDICATOR_SPACE 12
537 /* minimum size for windows */
538 #define MIN_WINDOW_SIZE 5
540 #define MIN_TITLEFONT_HEIGHT(h) ((h)>14 ? (h) : 14)
542 #define ICON_WIDTH 64 /* size of the icon window */
543 #define ICON_HEIGHT 64
544 #define ICON_BORDER_WIDTH 2
546 #define MAX_ICON_WIDTH 60 /* size of the icon pixmap */
547 #define MAX_ICON_HEIGHT 48
549 /* KDE may have problems with more than 32 workspaces */
550 #ifdef KWM_HINTS
551 # define MAX_WORKSPACES 32
552 #else
553 # define MAX_WORKSPACES 100
554 #endif
556 #define MAX_MENU_TEXT_LENGTH 512
558 #define MAX_RESTART_ARGS 16
560 #define MAX_COMMAND_SIZE 1024
562 #define MAX_DEAD_PROCESSES 128
565 #define MAXLINE 1024
568 #ifdef _MAX_PATH
569 # define DEFAULT_PATH_MAX _MAX_PATH
570 #else
571 # define DEFAULT_PATH_MAX 512
572 #endif
575 #define DEBUG0
577 /* some rules */
579 #ifndef SHAPE
580 #undef SHAPED_BALLOON
581 #endif
583 #ifdef XKB_MODELOCK
584 #define KEEP_XKB_LOCK_STATUS
585 /* This is a hidden feature.
586 * Choose just one of LANGUAGE_* hints.
587 * Icon can be changed in def_pixmaps.h.
588 * More icons are welcome.
590 #define XKB_BUTTON_HINT
591 #undef LANGUAGE_TH
592 #undef LANGUAGE_SK
593 #endif
595 #ifndef DEMATERIALIZE_ICON
596 # define NORMAL_ICON_KABOOM
597 #endif
599 #if defined(HAVE_LIBINTL_H) && defined(I18N)
600 # include <libintl.h>
601 # define _(text) gettext(text)
602 #else
603 # define _(text) (text)
604 #endif
607 #if defined(__GNUC__) && !defined(__STRICT_ANSI__)
608 # define INLINE inline
609 #else
610 # define INLINE
611 #endif
613 #endif /* WMCONFIG_H_ */