Initial update from my source tree. For 0.52.0
[wmaker-crm.git] / src / wconfig.h.in
blobc22ab2bd47e657e1ab20bc29e2c156c430384cfe
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 WEENDOZE_CYCLING to remove all Windoze style Alt-Tab cycling
41 * If define, windoze cycling must still be enabled with the
42 * WindozeCycling = YES and FinishedCyclingKey = Meta_L options
44 not working yet
46 #undef WEENDOZE_CYCLING
49 /* undefine ANIMATIONS if you don't want animations for iconification,
50 * shading, icon arrangement etc. */
51 #define ANIMATIONS
55 * undefine USECPP if you don't want your config files to be preprocessed
56 * by cpp
58 #define USECPP
60 /* #define CPP_PATH @CPP_PATH@ */
63 * support for OffiX DND drag and drop in the Dock
65 #define OFFIX_DND
68 * support for XDE drang and drop in the Dock. Experimental
70 #undef XDE_DND
73 * support for Motif window manager (mwm) window hints
75 #define MWM_HINTS
79 * Undefine BALLOON_TEXT if you don't want balloons for showing extra
80 * information, like window titles that are not fully visible.
82 #define BALLOON_TEXT
85 * If balloons should be shaped or be simple rectangles.
86 * The X server must support the shape extensions and it's support
87 * must be enabled (default).
89 #define SHAPED_BALLOON
93 * Define NO_EMERGENCY_AUTORESTART if you don't want another window manager
94 * automatically started when WindowMaker crashes. The X session will die
95 * in some cases if wmaker crashes and autorestart is disabled.
97 #undef NO_EMERGENCY_AUTORESTART
99 /*
100 * The window manager that is autorestarted
102 #define FALLBACK_WINDOWMANAGER "blackbox"
105 /* Define if you have a 5 button mouse and want to use button 4
106 * (in the root window) for switching to the previous workspace
107 * and 5 for the next. This will not work if you enable
108 * DisableWSMouseActions or compile wmaker with --enable-lite */
109 #undef MOUSE_WS_SWITCH
112 * Turn on a hack to make mouse and keyboard actions work even if
113 * the NumLock or ScrollLock modifiers are turned on. They might
114 * inflict a performance/memory penalty.
116 * If you're an X expert (knows the implementation of XGrabKey() in X)
117 * and knows that the penalty is small (or not), please tell me.
119 #define NUMLOCK_HACK
124 * define EXTEND_WINDOWSHORTCUT if you have a great memory and want 10
125 * window shortcuts instead of 4. You will also need to define the
126 * same thing in WPrefs.app/WPrefs.h to get the corresponding entries
127 * in WPrefs.
129 #undef EXTEND_WINDOWSHORTCUT
134 * define OPTIMIZE_SHAPE if you want the shape setting code to be optimized
135 * for applications that change their shape frequently (like xdaliclock
136 * -shape), removing flickering. If wmaker and your display are on
137 * different machines and the network connection is slow, it is not
138 * recommended.
140 #undef OPTIMIZE_SHAPE
142 /* define CONFIGURE_WINDOW_WHILE_MOVING if you want WindowMaker to send
143 * the synthetic ConfigureNotify event to windows while moving at every
144 * single movement. Default is to send a synthetic ConfigureNotify event
145 * only at the end of window moving, which improves performance.
147 #undef CONFIGURE_WINDOW_WHILE_MOVING
151 * disable/enable workspace indicator in the dock
154 #undef WS_INDICATOR
158 * define HIDDENDOT if you want a dot to be shown in the application icon
159 * of applications that are hidden.
161 #undef HIDDENDOT
165 * Ignores the PPosition hint from clients. This is needed for some
166 * programs that have buggy implementations of such hint and place
167 * themselves in strange locations.
169 #undef IGNORE_NOPPOSITION
172 #define SILLYNESS
175 *..........................................................................
176 * The following options WILL NOT BE MADE RUN-TIME. Please do not request.
177 * They will only add unneeded bloat.
178 *..........................................................................
182 * define SHADOW_RESIZEBAR if you want a resizebar with shadows like in
183 * NextStep 3.x ??, instead of the default Openstep look. NEXTSTEP 3.3
184 * also does not have these shadows.
186 #undef SHADOW_RESIZEBAR
189 * Titlebar text shadow
191 #undef TITLE_TEXT_SHADOW
194 * Define DEMATERIALIZE_ICON if you want the undocked icon animation
195 * to be a progressive disaparison animation.
197 #undef DEMATERIALIZE_ICON
200 * Define ICON_KABOOM_EXTRA if you want extra fancy icon undocking
201 * explosion animation.
203 #undef ICON_KABOOM_EXTRA
206 * #undef if you dont want the window creation animation when superfluous
207 * is enabled.
209 #undef WINDOW_BIRTH_ZOOM
213 *--------------------------------------------------------------------
214 * Default Configuration
216 * Some of the following options can be configured in
217 * the preference files, but if for some reason, they can't
218 * be used, these defaults will be.
219 * There are also some options that can only be configured here,
220 * at compile time.
221 *--------------------------------------------------------------------
224 /* list of paths to look for the config files, searched in order
225 * of appearance */
226 #define DEF_CONFIG_PATHS \
227 "~/GNUstep/Library/WindowMaker:"PKGDATADIR
229 #define DEF_MENU_FILE "menu"
231 /* name of the script to execute at startup */
232 #define DEF_INIT_SCRIPT "autostart"
234 #define DEF_EXIT_SCRIPT "exitscript"
236 #define DEFAULTS_DIR "Defaults"
238 /* the file of the system wide submenu to be forced into the main menu */
239 /* remove the comments if you want it */
241 #define GLOBAL_SUBMENU_FILE PKGDATADIR"/GlobalMenu"
244 /* pixmap path */
245 #define DEF_PIXMAP_PATHS \
246 "(\"~/pixmaps\",\"~/GNUstep/Library/WindowMaker/Pixmaps\",\""PIXMAPDIR"\")"
248 /* icon path */
249 #define DEF_ICON_PATHS \
250 "(\"~/pixmaps\",\"~/GNUstep/Library/Icons\",\"/usr/include/X11/pixmaps/\",\""PIXMAPDIR"\")"
253 /* window title to use for untitled windows */
254 #define DEF_WINDOW_TITLE "Untitled"
256 /* default style */
257 #define DEF_FRAME_COLOR "white"
260 #ifdef I18N_MB
261 #define DEF_TITLE_FONT "\"-*-*-medium-r-normal--14-*\""
262 #define DEF_MENU_TITLE_FONT "\"-*-*-medium-r-normal--14-*\""
263 #define DEF_MENU_ENTRY_FONT "\"-*-*-medium-r-normal--14-*\""
264 #define DEF_ICON_TITLE_FONT "\"-*-*-medium-r-normal--10-*\""
265 #define DEF_CLIP_TITLE_FONT "\"-*-*-medium-r-normal--10-*\""
266 #define DEF_INFO_TEXT_FONT "\"-*-*-medium-r-normal--14-*\""
267 #else /* I18N_MB */
268 #define DEF_TITLE_FONT "\"-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*\""
269 #define DEF_MENU_TITLE_FONT "\"-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*\""
270 #define DEF_MENU_ENTRY_FONT "\"-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*\""
271 #define DEF_ICON_TITLE_FONT "\"-*-helvetica-medium-r-normal-*-8-*-*-*-*-*-*-*\""
272 #define DEF_CLIP_TITLE_FONT "\"-*-helvetica-bold-r-normal-*-10-*-*-*-*-*-*-*\""
273 #define DEF_INFO_TEXT_FONT "\"-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*\""
274 #endif /* !I18N_MB */
276 #define HELVETICA10_FONT "-*-helvetica-medium-r-normal-*-10-*-*-*-*-*-*-*"
278 #define DEF_FRAME_THICKNESS 1 /* linewidth of the move/resize frame */
280 #define DEF_XPM_CLOSENESS 40000
282 /* default position of application menus */
283 #define DEF_APPMENU_X 10
284 #define DEF_APPMENU_Y 10
286 /* calculate window edge resistance from edge resistance */
287 #define WIN_RESISTANCE(x) (((x)*20)/30)
289 /* Window level where icons reside */
290 #define NORMAL_ICON_LEVEL WMNormalLevel
292 /* do not divide main menu and submenu in different tiers,
293 * opposed to OpenStep */
294 #define SINGLE_MENULEVEL
296 /* max. time to spend doing animations in seconds. If the animation
297 * time exceeds this value, it is immediately finished. Usefull for
298 * moments of high-load.
300 #define MAX_ANIMATION_TIME 1
302 /* Zoom animation */
303 #define MINIATURIZE_ANIMATION_FRAMES_Z 5
304 #define MINIATURIZE_ANIMATION_STEPS_Z 12
305 #define MINIATURIZE_ANIMATION_DELAY_Z 500
306 /* Twist animation */
307 #define MINIATURIZE_ANIMATION_FRAMES_T 12
308 #define MINIATURIZE_ANIMATION_STEPS_T 16
309 #define MINIATURIZE_ANIMATION_DELAY_T 1000
310 #define MINIATURIZE_ANIMATION_TWIST_T 0.5
311 /* Flip animation */
312 #define MINIATURIZE_ANIMATION_FRAMES_F 12
313 #define MINIATURIZE_ANIMATION_STEPS_F 16
314 #define MINIATURIZE_ANIMATION_DELAY_F 1000
315 #define MINIATURIZE_ANIMATION_TWIST_F 0.5
318 #define HIDE_ANIMATION_STEPS (MINIATURIZE_ANIMATION_STEPS*2/3)
320 /* delay before balloon is showed */
321 #define BALLOON_DELAY 1000
323 /* delay for menu item selection hysteresis */
324 #define MENU_SELECT_DELAY 200
326 /* animation speed constants */
328 /* icon slide */
329 #define ICON_SLIDE_SLOWDOWN_UF 20
330 #define ICON_SLIDE_DELAY_UF 0
331 #define ICON_SLIDE_STEPS_UF 15
333 #define ICON_SLIDE_SLOWDOWN_F 30
334 #define ICON_SLIDE_DELAY_F 0
335 #define ICON_SLIDE_STEPS_F 10
337 #define ICON_SLIDE_SLOWDOWN_M 40
338 #define ICON_SLIDE_DELAY_M 0
339 #define ICON_SLIDE_STEPS_M 5
341 #define ICON_SLIDE_SLOWDOWN_S 50
342 #define ICON_SLIDE_DELAY_S 0
343 #define ICON_SLIDE_STEPS_S 3
345 #define ICON_SLIDE_SLOWDOWN_U 50
346 #define ICON_SLIDE_DELAY_U 3
347 #define ICON_SLIDE_STEPS_U 3
349 /* menu scrolling */
350 #define MENU_SCROLL_STEPS_UF 14
351 #define MENU_SCROLL_DELAY_UF 0
353 #define MENU_SCROLL_STEPS_F 10
354 #define MENU_SCROLL_DELAY_F 5
356 #define MENU_SCROLL_STEPS_M 6
357 #define MENU_SCROLL_DELAY_M 5
359 #define MENU_SCROLL_STEPS_S 4
360 #define MENU_SCROLL_DELAY_S 6
362 #define MENU_SCROLL_STEPS_U 1
363 #define MENU_SCROLL_DELAY_U 8
365 /* shade animation */
366 #define SHADE_STEPS_UF 5
367 #define SHADE_DELAY_UF 0
369 #define SHADE_STEPS_F 10
370 #define SHADE_DELAY_F 0
372 #define SHADE_STEPS_M 15
373 #define SHADE_DELAY_M 0
375 #define SHADE_STEPS_S 30
376 #define SHADE_DELAY_S 0
378 #define SHADE_STEPS_U 20
379 #define SHADE_DELAY_U 10
381 /* window birth animation steps (DO NOT MAKE IT RUN-TIME) */
382 #define WINDOW_BIRTH_STEPS 20
384 /* number of steps for icon dematerialization. */
385 #define DEMATERIALIZE_STEPS 16
387 /* Delay when cycling colors of selected icons. */
388 #define COLOR_CYCLE_DELAY 200
390 /* size of the pieces in the undocked icon explosion */
391 #define ICON_KABOOM_PIECE_SIZE 4
394 /* Position increment for smart placement. >= 1 raise these values if it's
395 * too slow for you */
396 #define PLACETEST_HSTEP 8
397 #define PLACETEST_VSTEP 8
400 #define DOCK_EXTRA_SPACE 0
402 /* Vicinity in which an icon can be attached to the clip */
403 #define CLIP_ATTACH_VICINITY 1
405 /* The amount of space (in multiples of the icon size)
406 * a docked icon must be dragged out to detach it */
407 #define DOCK_DETTACH_THRESHOLD 3
409 /* Delay (in ms) after which the clip will autocollapse when leaved */
410 #define AUTO_COLLAPSE_DELAY 1000
412 /* Delay (in ms) after which the clip will be lowered when leaved */
413 #define AUTO_LOWER_DELAY 1000
415 /* Delay (in ms) after which the clip will be raised when entered.
416 * Set this to zero if you want instant raise. */
417 #define AUTO_RAISE_DELAY 650
420 /* Max. number of icons the clip can have */
421 #define CLIP_MAX_ICONS 32
423 /* blink interval when invoking a menu item */
424 #define MENU_BLINK_DELAY 60000
425 #define MENU_BLINK_COUNT 2
427 #define CURSOR_BLINK_RATE 300
429 #define MOVE_THRESHOLD 5 /* how many pixels to move before dragging windows
430 * and other objects */
432 #define HRESIZE_THRESHOLD 3
434 #define MAX_WORKSPACENAME_WIDTH 16
435 #define MAX_WINDOWLIST_WIDTH 160 /* max width of window title in
436 * window list */
438 #define DEFAULTS_CHECK_INTERVAL 2000 /* how often wmaker will check for
439 * changes in the config files */
441 /* if your keyboard don't have arrow keys */
442 #undef ARROWLESS_KBD
445 /* don't put titles in miniwindows */
446 #undef NO_MINIWINDOW_TITLES
449 #define FRAME_BORDER_COLOR "black"
452 #ifdef TITLE_TEXT_SHADOW
453 #define TITLE_TEXT_SHADOW_X_OFFSET 1
454 #define TITLE_TEXT_SHADOW_Y_OFFSET 1
455 #define TITLE_TEXT_SHADOW_WIDTH 1
456 #define TITLE_TEXT_SHADOW_HEIGHT 1
457 #endif
461 *----------------------------------------------------------------------
462 * You should not modify the following values, unless you know
463 * what you're doing.
464 *----------------------------------------------------------------------
468 /* number of window shortcuts */
469 #ifdef EXTEND_WINDOWSHORTCUT
470 # define MAX_WINDOW_SHORTCUTS 10
471 #else
472 # define MAX_WINDOW_SHORTCUTS 4
473 #endif
476 #define WM_PI 3.14159265358979323846
478 #define FRAME_BORDER_WIDTH 1 /* width of window border for frames */
480 #define RESIZEBAR_HEIGHT 8 /* height of the resizebar */
481 #define RESIZEBAR_MIN_WIDTH 20 /* min. width of handles-corner_width */
482 #define RESIZEBAR_CORNER_WIDTH 28 /* width of the corner of resizebars */
484 #define TITLEBAR_EXTRA_HEIGHT 8
486 #define MENU_INDICATOR_SPACE 12
488 /* minimum size for windows */
489 #define MIN_WINDOW_SIZE 5
491 #define MIN_TITLEFONT_HEIGHT(h) ((h)>14 ? (h) : 14)
493 #define ICON_WIDTH 64 /* size of the icon window */
494 #define ICON_HEIGHT 64
495 #define ICON_BORDER_WIDTH 2
497 #define MAX_ICON_WIDTH 60 /* size of the icon pixmap */
498 #define MAX_ICON_HEIGHT 48
500 /* KDE may have problems with more than 32 workspaces */
501 #ifdef KWM_HINTS
502 # define MAX_WORKSPACES 32
503 #else
504 # define MAX_WORKSPACES 100
505 #endif
507 #define MAX_MENU_TEXT_LENGTH 512
509 #define MAX_RESTART_ARGS 16
511 #define MAX_COMMAND_SIZE 1024
513 #define MAX_DEAD_PROCESSES 128
516 #define MAXLINE 1024
519 #ifdef _MAX_PATH
520 # define DEFAULT_PATH_MAX _MAX_PATH
521 #else
522 # define DEFAULT_PATH_MAX 512
523 #endif
526 #define DEBUG0
528 /* some rules */
530 #ifndef SHAPE
531 #undef SHAPED_BALLOON
532 #endif
534 #ifdef XKB_MODELOCK
535 #define KEEP_XKB_LOCK_STATUS
536 #define XKB_TITLE_HINT
537 #define XKB_ON "[TH]"
538 #define XKB_OFF "[EN]"
539 #endif
541 #if HAVE_LIBINTL_H && I18N
542 # include <libintl.h>
543 # define _(text) gettext(text)
544 #else
545 # define _(text) (text)
546 #endif
549 #if defined(__GNUC__) && !defined(__STRICT_ANSI__)
550 # define INLINE inline
551 #else
552 # define INLINE
553 #endif
555 #endif /* WMCONFIG_H_ */