- made deiconification not automatically focus window in sloppy focus
[wmaker-crm.git] / src / wconfig.h.in
blob48e5cd2100a76842ac994b9124baec62bc63e89f
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 *--------------------------------------------------------------------
42 * #undefine if you dont want texture plugin support or your system have
43 * some sort of problem with them.
45 #define TEXTURE_PLUGIN
48 /*
49 * #define to enable WindozeCycling. Set WindozeCycling = YES in
50 * your WindowMaker config file
51 * WARNING: this still has some bugs
53 #undef WEENDOZE_CYCLE
56 /* undefine ANIMATIONS if you don't want animations for iconification,
57 * shading, icon arrangement etc. */
58 #define ANIMATIONS
62 * undefine USECPP if you don't want your config files to be preprocessed
63 * by cpp
65 #define USECPP
67 /* #define CPP_PATH @CPP_PATH@ */
70 * support for OffiX DND drag and drop in the Dock
72 #define OFFIX_DND
75 * support for XDE drang and drop in the Dock. Experimental
77 #undef XDE_DND
80 * support for Motif window manager (mwm) window hints
82 #define MWM_HINTS
86 * Undefine BALLOON_TEXT if you don't want balloons for showing extra
87 * information, like window titles that are not fully visible.
89 #define BALLOON_TEXT
92 * If balloons should be shaped or be simple rectangles.
93 * The X server must support the shape extensions and it's support
94 * must be enabled (default).
96 #define SHAPED_BALLOON
100 * Define NO_EMERGENCY_AUTORESTART if you don't want another window manager
101 * automatically started when WindowMaker crashes. The X session will die
102 * in some cases if wmaker crashes and autorestart is disabled.
104 #undef NO_EMERGENCY_AUTORESTART
107 * The window manager that is autorestarted
109 #define FALLBACK_WINDOWMANAGER "blackbox"
112 /* Define if you have a 5 button mouse and want to use button 4
113 * (in the root window) for switching to the previous workspace
114 * and 5 for the next. This will not work if you enable
115 * DisableWSMouseActions or compile wmaker with --enable-lite */
116 #undef MOUSE_WS_SWITCH
119 * Turn on a hack to make mouse and keyboard actions work even if
120 * the NumLock or ScrollLock modifiers are turned on. They might
121 * inflict a performance/memory penalty.
123 * If you're an X expert (knows the implementation of XGrabKey() in X)
124 * and knows that the penalty is small (or not), please tell me.
126 #define NUMLOCK_HACK
131 * define EXTEND_WINDOWSHORTCUT if you have a great memory and want 10
132 * window shortcuts instead of 4. You will also need to define the
133 * same thing in WPrefs.app/WPrefs.h to get the corresponding entries
134 * in WPrefs.
136 #undef EXTEND_WINDOWSHORTCUT
141 * define OPTIMIZE_SHAPE if you want the shape setting code to be optimized
142 * for applications that change their shape frequently (like xdaliclock
143 * -shape), removing flickering. If wmaker and your display are on
144 * different machines and the network connection is slow, it is not
145 * recommended.
147 #undef OPTIMIZE_SHAPE
149 /* define CONFIGURE_WINDOW_WHILE_MOVING if you want WindowMaker to send
150 * the synthetic ConfigureNotify event to windows while moving at every
151 * single movement. Default is to send a synthetic ConfigureNotify event
152 * only at the end of window moving, which improves performance.
154 #undef CONFIGURE_WINDOW_WHILE_MOVING
158 * disable/enable workspace indicator in the dock
160 #undef WS_INDICATOR
164 * define USER_MENU if you want user specified menus for sending
165 * commands to applications. Kinda experimental..
167 #undef USER_MENU
171 * define HIDDENDOT if you want a dot to be shown in the application icon
172 * of applications that are hidden.
174 #define HIDDENDOT
178 * Ignores the PPosition hint from clients. This is needed for some
179 * programs that have buggy implementations of such hint and place
180 * themselves in strange locations.
182 #undef IGNORE_PPOSITION
185 #define SILLYNESS
189 *..........................................................................
190 * The following options WILL NOT BE MADE RUN-TIME. Please do not request.
191 * They will only add unneeded bloat.
192 *..........................................................................
196 * define SHADOW_RESIZEBAR if you want a resizebar with shadows like in
197 * AfterStep, instead of the default Openstep look.
198 * NEXTSTEP 3.3 also does not have these shadows.
200 #undef SHADOW_RESIZEBAR
203 * Titlebar text shadow
205 #undef TITLE_TEXT_SHADOW
208 * Define DEMATERIALIZE_ICON if you want the undocked icon animation
209 * to be a progressive disaparison animation.
210 * This will cause all application icons to be created with Save Under
211 * enable.
213 #undef DEMATERIALIZE_ICON
216 * Define ICON_KABOOM_EXTRA if you want extra fancy icon undocking
217 * explosion animation.
219 #undef ICON_KABOOM_EXTRA
222 * #undef if you dont want the window creation animation when superfluous
223 * is enabled.
225 #undef WINDOW_BIRTH_ZOOM
228 * whether arrow drawing in clip buttons should be gradiented
230 #undef GRADIENT_CLIP_ARROWS
233 #define TEXTURE_PLUGIN
236 *--------------------------------------------------------------------
237 * Default Configuration
239 * Some of the following options can be configured in
240 * the preference files, but if for some reason, they can't
241 * be used, these defaults will be.
242 * There are also some options that can only be configured here,
243 * at compile time.
244 *--------------------------------------------------------------------
247 /* list of paths to look for the config files, searched in order
248 * of appearance */
249 #define DEF_CONFIG_PATHS \
250 "~/GNUstep/Library/WindowMaker:"PKGDATADIR
252 #define DEF_MENU_FILE "menu"
254 /* name of the script to execute at startup */
255 #define DEF_INIT_SCRIPT "autostart"
257 #define DEF_EXIT_SCRIPT "exitscript"
259 #define DEFAULTS_DIR "Defaults"
261 #ifdef USE_TIFF
262 #define DEF_BUTTON_IMAGES PKGDATADIR"/buttons.tiff"
263 #else
264 #define DEF_BUTTON_IMAGES PKGDATADIR"/buttons.xpm"
265 #endif
267 /* the file of the system wide submenu to be forced into the main menu */
268 /* remove the comments if you want it */
270 #define GLOBAL_SUBMENU_FILE PKGDATADIR"/GlobalMenu"
273 /* pixmap path */
274 #define DEF_PIXMAP_PATHS \
275 "(\"~/pixmaps\",\"~/GNUstep/Library/WindowMaker/Pixmaps\",\""PIXMAPDIR"\")"
277 #ifdef USER_MENU
278 #define GLOBAL_USER_MENU_PATH SYSCONFDIR"/UserMenus"
279 #define DEF_USER_MENU_PATHS \
280 "~/GNUstep/Defaults/UserMenus:"GLOBAL_USER_MENU_PATH
281 #endif
283 /* icon path */
284 #define DEF_ICON_PATHS \
285 "(\"~/pixmaps\",\"~/GNUstep/Library/Icons\",\"/usr/include/X11/pixmaps/\",\""PIXMAPDIR"\")"
288 /* window title to use for untitled windows */
289 #define DEF_WINDOW_TITLE "Untitled"
291 /* default style */
292 #define DEF_FRAME_COLOR "white"
295 #ifdef I18N_MB
296 #define DEF_TITLE_FONT "\"-*-*-medium-r-normal--14-*\""
297 #define DEF_MENU_TITLE_FONT "\"-*-*-medium-r-normal--14-*\""
298 #define DEF_MENU_ENTRY_FONT "\"-*-*-medium-r-normal--14-*\""
299 #define DEF_ICON_TITLE_FONT "\"-*-*-medium-r-normal--10-*\""
300 #define DEF_CLIP_TITLE_FONT "\"-*-*-medium-r-normal--10-*\""
301 #define DEF_INFO_TEXT_FONT "\"-*-*-medium-r-normal--14-*\""
303 #define DEF_WORKSPACE_NAME_FONT "-*-*-medium-r-normal--24-*"
304 #else /* !I18N_MB */
305 #define DEF_TITLE_FONT "\"-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*\""
306 #define DEF_MENU_TITLE_FONT "\"-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*\""
307 #define DEF_MENU_ENTRY_FONT "\"-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*\""
308 #define DEF_ICON_TITLE_FONT "\"-*-helvetica-medium-r-normal-*-8-*-*-*-*-*-*-*\""
309 #define DEF_CLIP_TITLE_FONT "\"-*-helvetica-bold-r-normal-*-10-*-*-*-*-*-*-*\""
310 #define DEF_INFO_TEXT_FONT "\"-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*\""
312 #define DEF_WORKSPACE_NAME_FONT "-*-lucida-bold-r-*-*-24-*-*-*-*-*-*-*"
313 #endif /* !I18N_MB */
315 #define HELVETICA10_FONT "-*-helvetica-medium-r-normal-*-10-*-*-*-*-*-*-*"
317 #define DEF_FRAME_THICKNESS 1 /* linewidth of the move/resize frame */
319 #define DEF_XPM_CLOSENESS 40000
321 /* default position of application menus */
322 #define DEF_APPMENU_X 10
323 #define DEF_APPMENU_Y 10
325 /* calculate window edge resistance from edge resistance */
326 #define WIN_RESISTANCE(x) (((x)*20)/30)
328 /* Window level where icons reside */
329 #define NORMAL_ICON_LEVEL WMNormalLevel
331 /* do not divide main menu and submenu in different tiers,
332 * opposed to OpenStep */
333 #define SINGLE_MENULEVEL
335 /* max. time to spend doing animations in seconds. If the animation
336 * time exceeds this value, it is immediately finished. Usefull for
337 * moments of high-load.
339 #define MAX_ANIMATION_TIME 1
341 /* Zoom animation */
342 #define MINIATURIZE_ANIMATION_FRAMES_Z 5
343 #define MINIATURIZE_ANIMATION_STEPS_Z 12
344 #define MINIATURIZE_ANIMATION_DELAY_Z 500
345 /* Twist animation */
346 #define MINIATURIZE_ANIMATION_FRAMES_T 12
347 #define MINIATURIZE_ANIMATION_STEPS_T 16
348 #define MINIATURIZE_ANIMATION_DELAY_T 1000
349 #define MINIATURIZE_ANIMATION_TWIST_T 0.5
350 /* Flip animation */
351 #define MINIATURIZE_ANIMATION_FRAMES_F 12
352 #define MINIATURIZE_ANIMATION_STEPS_F 16
353 #define MINIATURIZE_ANIMATION_DELAY_F 1000
354 #define MINIATURIZE_ANIMATION_TWIST_F 0.5
357 #define HIDE_ANIMATION_STEPS (MINIATURIZE_ANIMATION_STEPS*2/3)
359 /* delay before balloon is showed */
360 #define BALLOON_DELAY 1000
362 /* delay for menu item selection hysteresis */
363 #define MENU_SELECT_DELAY 200
365 /* delay for jumpback of scrolled menus */
366 #define MENU_JUMP_BACK_DELAY 200
368 /* *** animation speed constants *** */
370 /* icon slide */
371 #define ICON_SLIDE_SLOWDOWN_UF 20
372 #define ICON_SLIDE_DELAY_UF 0
373 #define ICON_SLIDE_STEPS_UF 15
375 #define ICON_SLIDE_SLOWDOWN_F 30
376 #define ICON_SLIDE_DELAY_F 0
377 #define ICON_SLIDE_STEPS_F 10
379 #define ICON_SLIDE_SLOWDOWN_M 40
380 #define ICON_SLIDE_DELAY_M 0
381 #define ICON_SLIDE_STEPS_M 5
383 #define ICON_SLIDE_SLOWDOWN_S 50
384 #define ICON_SLIDE_DELAY_S 0
385 #define ICON_SLIDE_STEPS_S 3
387 #define ICON_SLIDE_SLOWDOWN_U 50
388 #define ICON_SLIDE_DELAY_U 3
389 #define ICON_SLIDE_STEPS_U 3
391 /* menu scrolling */
392 #define MENU_SCROLL_STEPS_UF 14
393 #define MENU_SCROLL_DELAY_UF 0
395 #define MENU_SCROLL_STEPS_F 10
396 #define MENU_SCROLL_DELAY_F 5
398 #define MENU_SCROLL_STEPS_M 6
399 #define MENU_SCROLL_DELAY_M 5
401 #define MENU_SCROLL_STEPS_S 4
402 #define MENU_SCROLL_DELAY_S 6
404 #define MENU_SCROLL_STEPS_U 1
405 #define MENU_SCROLL_DELAY_U 8
408 /* shade animation */
409 #define SHADE_STEPS_UF 5
410 #define SHADE_DELAY_UF 0
412 #define SHADE_STEPS_F 10
413 #define SHADE_DELAY_F 0
415 #define SHADE_STEPS_M 15
416 #define SHADE_DELAY_M 0
418 #define SHADE_STEPS_S 30
419 #define SHADE_DELAY_S 0
421 #define SHADE_STEPS_U 20
422 #define SHADE_DELAY_U 10
425 /* workspace name on switch display */
426 #define WORKSPACE_NAME_FADE_DELAY 30
428 #define WORKSPACE_NAME_DELAY 500
430 /* window birth animation steps (DO NOT MAKE IT RUN-TIME) */
431 #define WINDOW_BIRTH_STEPS 20
433 /* number of steps for icon dematerialization. */
434 #define DEMATERIALIZE_STEPS 16
436 /* Delay when cycling colors of selected icons. */
437 #define COLOR_CYCLE_DELAY 200
439 /* size of the pieces in the undocked icon explosion */
440 #define ICON_KABOOM_PIECE_SIZE 4
443 /* Position increment for smart placement. >= 1 raise these values if it's
444 * too slow for you */
445 #define PLACETEST_HSTEP 8
446 #define PLACETEST_VSTEP 8
449 #define DOCK_EXTRA_SPACE 0
451 /* Vicinity in which an icon can be attached to the clip */
452 #define CLIP_ATTACH_VICINITY 1
454 #define CLIP_BUTTON_SIZE 23
457 /* The amount of space (in multiples of the icon size)
458 * a docked icon must be dragged out to detach it */
459 #define DOCK_DETTACH_THRESHOLD 3
461 /* Delay (in ms) after which the clip will autocollapse when leaved */
462 #define AUTO_COLLAPSE_DELAY 1000
464 /* Delay (in ms) after which the clip will autoexpand when entered.
465 * Set this to zero if you want instant expanding. */
466 #define AUTO_EXPAND_DELAY 600
468 /* Delay (in ms) after which the clip will be lowered when leaved */
469 #define AUTO_LOWER_DELAY 1000
471 /* Delay (in ms) after which the clip will be raised when entered.
472 * Set this to zero if you want instant raise. */
473 #define AUTO_RAISE_DELAY 600
476 /* Max. number of icons the clip can have */
477 #define CLIP_MAX_ICONS 32
479 /* blink interval when invoking a menu item */
480 #define MENU_BLINK_DELAY 60000
481 #define MENU_BLINK_COUNT 2
483 #define CURSOR_BLINK_RATE 300
485 #define MOVE_THRESHOLD 5 /* how many pixels to move before dragging windows
486 * and other objects */
488 #define KEY_CONTROL_WINDOW_WEIGHT 1
490 #define HRESIZE_THRESHOLD 3
492 #define MAX_WORKSPACENAME_WIDTH 16
493 #define MAX_WINDOWLIST_WIDTH 160 /* max width of window title in
494 * window list */
496 #define DEFAULTS_CHECK_INTERVAL 2000 /* how often wmaker will check for
497 * changes in the config files */
499 /* if your keyboard don't have arrow keys */
500 #undef ARROWLESS_KBD
503 /* don't put titles in miniwindows */
504 #undef NO_MINIWINDOW_TITLES
507 #define FRAME_BORDER_COLOR "black"
510 #ifdef TITLE_TEXT_SHADOW
511 #define TITLE_TEXT_SHADOW_X_OFFSET 1
512 #define TITLE_TEXT_SHADOW_Y_OFFSET 1
513 #define TITLE_TEXT_SHADOW_WIDTH 1
514 #define TITLE_TEXT_SHADOW_HEIGHT 1
515 #endif
519 *----------------------------------------------------------------------
520 * You should not modify the following values, unless you know
521 * what you're doing.
522 *----------------------------------------------------------------------
526 /* number of window shortcuts */
527 #ifdef EXTEND_WINDOWSHORTCUT
528 # define MAX_WINDOW_SHORTCUTS 10
529 #else
530 # define MAX_WINDOW_SHORTCUTS 4
531 #endif
534 #define WM_PI 3.14159265358979323846
536 #define FRAME_BORDER_WIDTH 1 /* width of window border for frames */
538 #define RESIZEBAR_HEIGHT 8 /* height of the resizebar */
539 #define RESIZEBAR_MIN_WIDTH 20 /* min. width of handles-corner_width */
540 #define RESIZEBAR_CORNER_WIDTH 28 /* width of the corner of resizebars */
542 #define TITLEBAR_EXTRA_HEIGHT 8
544 #define MENU_INDICATOR_SPACE 12
546 /* minimum size for windows */
547 #define MIN_WINDOW_SIZE 5
549 #define MIN_TITLEFONT_HEIGHT(h) ((h)>14 ? (h) : 14)
551 #define ICON_WIDTH 64 /* size of the icon window */
552 #define ICON_HEIGHT 64
553 #define ICON_BORDER_WIDTH 2
555 #define MAX_ICON_WIDTH 60 /* size of the icon pixmap */
556 #define MAX_ICON_HEIGHT 48
558 /* KDE may have problems with more than 32 workspaces */
559 #ifdef KWM_HINTS
560 # define MAX_WORKSPACES 32
561 #else
562 # define MAX_WORKSPACES 100
563 #endif
565 #define MAX_MENU_TEXT_LENGTH 512
567 #define MAX_RESTART_ARGS 16
569 #define MAX_COMMAND_SIZE 1024
571 #define MAX_DEAD_PROCESSES 128
574 #define MAXLINE 1024
577 #ifdef _MAX_PATH
578 # define DEFAULT_PATH_MAX _MAX_PATH
579 #else
580 # define DEFAULT_PATH_MAX 512
581 #endif
584 #define DEBUG0
586 /* some rules */
588 #ifndef SHAPE
589 #undef SHAPED_BALLOON
590 #endif
592 #ifdef XKB_MODELOCK
593 #define KEEP_XKB_LOCK_STATUS
594 #define XKB_TITLE_HINT
595 #define XKB_ON "[TH]"
596 #define XKB_OFF "[EN]"
597 #endif
599 #ifndef DEMATERIALIZE_ICON
600 # define NORMAL_ICON_KABOOM
601 #endif
603 #if HAVE_LIBINTL_H && I18N
604 # include <libintl.h>
605 # define _(text) gettext(text)
606 #else
607 # define _(text) (text)
608 #endif
611 #if defined(__GNUC__) && !defined(__STRICT_ANSI__)
612 # define INLINE inline
613 #else
614 # define INLINE
615 #endif
617 #endif /* WMCONFIG_H_ */