Remove dependency to CPP: removed stuff related to CPP calls
[wmaker-crm.git] / src / wconfig.h.in
blob4bda5e6899453a2e8311f20d20a5f5abb084c151
1 /*
2 * wconfig.h- default configuration and definitions + compile time options
4 * WindowMaker window manager
6 * Copyright (c) 1997-2003 Alfredo K. Kojima
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 * Comment out the following #defines if you want to disable a feature.
32 * Also check the features you can enable through configure.
35 /* If you want animations for iconification, shading, icon arrangement etc. */
36 #define ANIMATIONS
38 /* If you want the application icon to be highlighted when it has the focus */
39 #define NEWAPPICON
41 /* support for XDND drop in the Dock. Experimental */
42 /*#define XDND*/
44 /* support for Motif window manager (mwm) window hints */
45 #define MWM_HINTS
48 * Undefine BALLOON_TEXT if you don't want balloons for showing extra
49 * information, like window titles that are not fully visible.
51 #define BALLOON_TEXT
54 * If balloons should be shaped or be simple rectangles.
55 * The X server must support the shape extensions and it's support
56 * must be enabled (default).
58 #define SHAPED_BALLOON
61 * Turn on a hack to make mouse and keyboard actions work even if
62 * the NumLock or ScrollLock modifiers are turned on. They might
63 * inflict a performance/memory penalty.
65 * If you're an X expert (knows the implementation of XGrabKey() in X)
66 * and knows that the penalty is small (or not), please tell me.
68 #define NUMLOCK_HACK
71 * define OPTIMIZE_SHAPE if you want the shape setting code to be optimized
72 * for applications that change their shape frequently (like xdaliclock
73 * -shape), removing flickering. If wmaker and your display are on
74 * different machines and the network connection is slow, it is not
75 * recommended.
77 #undef OPTIMIZE_SHAPE
79 /* define CONFIGURE_WINDOW_WHILE_MOVING if you want WindowMaker to send
80 * the synthetic ConfigureNotify event to windows while moving at every
81 * single movement. Default is to send a synthetic ConfigureNotify event
82 * only at the end of window moving, which improves performance.
84 #undef CONFIGURE_WINDOW_WHILE_MOVING
86 /* disable/enable workspace indicator in the dock */
87 #undef WS_INDICATOR
90 * define HIDDENDOT if you want a dot to be shown in the application icon
91 * of applications that are hidden.
93 #define HIDDENDOT
96 * Ignores the PPosition hint from clients. This is needed for some
97 * programs that have buggy implementations of such hint and place
98 * themselves in strange locations.
100 #undef IGNORE_PPOSITION
102 /* Do not scale application icon and miniwindow icon images */
103 #undef DONT_SCALE_ICONS
106 * The following options WILL NOT BE MADE RUN-TIME. Please do not request.
107 * They will only add unneeded bloat.
111 * define SHADOW_RESIZEBAR if you want a resizebar with shadows like in
112 * AfterStep, instead of the default Openstep look.
113 * NEXTSTEP 3.3 also does not have these shadows.
115 #undef SHADOW_RESIZEBAR
117 #define NORMAL_ICON_KABOOM
120 * #define if you want the window creation animation when superfluous
121 * is enabled.
123 #undef WINDOW_BIRTH_ZOOM
126 * Some of the following options can be configured in the preference files,
127 * but if for some reason they can't, these are their defaults.
129 * There are also some options that can only be configured here, at compile time.
132 /* list of paths to look for the config files, searched in order of appearance */
133 #define DEF_CONFIG_PATHS "~/GNUstep/Library/WindowMaker:"PKGDATADIR
134 #define DEF_MENU_FILE "menu"
136 /* name of the script to execute at startup */
137 #define DEF_INIT_SCRIPT "autostart"
138 #define DEF_EXIT_SCRIPT "exitscript"
139 #define DEFAULTS_DIR "Defaults"
141 #ifdef USE_TIFF
142 #define DEF_BUTTON_IMAGES PKGDATADIR"/buttons.tiff"
143 #else
144 #define DEF_BUTTON_IMAGES PKGDATADIR"/buttons.xpm"
145 #endif
147 /* the file of the system wide submenu to be forced into the main menu */
148 #define GLOBAL_PREAMBLE_MENU_FILE "GlobalMenu.pre"
149 #define GLOBAL_EPILOGUE_MENU_FILE "GlobalMenu.post"
151 /* pixmap path */
152 #define DEF_PIXMAP_PATHS \
153 "(\"~/pixmaps\",\"~/GNUstep/Library/WindowMaker/Pixmaps\",\""PIXMAPDIR"\")"
155 #ifdef USER_MENU
156 #define GLOBAL_USER_MENU_PATH PKGDATADIR"/UserMenus"
157 #define DEF_USER_MENU_PATHS \
158 "~/GNUstep/Library/WindowMaker/UserMenus:"GLOBAL_USER_MENU_PATH
159 #endif
161 /* icon path */
162 #define DEF_ICON_PATHS \
163 "(\"~/pixmaps\",\"~/GNUstep/Library/Icons\",\"/usr/include/X11/pixmaps/\",\""PIXMAPDIR"\")"
165 /* window title to use for untitled windows */
166 #define DEF_WINDOW_TITLE "Untitled"
168 /* default style */
169 #define DEF_FRAME_COLOR "white"
171 /* default fonts */
172 #define DEF_TITLE_FONT "\"Trebuchet MS,sans serif:bold:pixelsize=12\""
173 #define DEF_MENU_TITLE_FONT "\"Trebuchet MS,sans serif:bold:pixelsize=12\""
174 #define DEF_MENU_ENTRY_FONT "\"Trebuchet MS,sans serif:pixelsize=12\""
175 #define DEF_ICON_TITLE_FONT "\"Arial,sans serif:pixelsize=9\""
176 #define DEF_CLIP_TITLE_FONT "\"Verdana:bold:pixelsize=10\""
177 #define DEF_INFO_TEXT_FONT "\"Trebuchet MS,sans serif:pixelsize=12\""
178 #define DEF_WORKSPACE_NAME_FONT "\"Trebuchet MS,sans serif:pixelsize=24\""
180 /* line width of the move/resize frame */
181 #define DEF_FRAME_THICKNESS 1
183 #define DEF_WINDOW_TITLE_EXTEND_SPACE "0"
184 #define DEF_MENU_TITLE_EXTEND_SPACE "0"
185 #define DEF_MENU_TEXT_EXTEND_SPACE "0"
186 #define TITLEBAR_EXTEND_SPACE 4
188 #define DEF_XPM_CLOSENESS 40000
190 /* default position of application menus */
191 #define DEF_APPMENU_X 10
192 #define DEF_APPMENU_Y 10
194 /* calculate window edge resistance from edge resistance */
195 #define WIN_RESISTANCE(x) (((x)*20)/30)
197 /* Window level where icons reside */
198 #define NORMAL_ICON_LEVEL WMNormalLevel
200 /* do not divide main menu and submenu in different tiers,
201 * opposed to OpenStep */
202 #define SINGLE_MENULEVEL
204 /* max. time to spend doing animations in seconds. If the animation
205 * time exceeds this value, it is immediately finished. Usefull for
206 * moments of high-load. DO NOT set *_DELAY_{Z,T,F} to zero!
208 #define MAX_ANIMATION_TIME 1
209 /* Zoom animation */
210 #define MINIATURIZE_ANIMATION_FRAMES_Z 7
211 #define MINIATURIZE_ANIMATION_STEPS_Z 16
212 #define MINIATURIZE_ANIMATION_DELAY_Z 10000
213 /* Twist animation */
214 #define MINIATURIZE_ANIMATION_FRAMES_T 12
215 #define MINIATURIZE_ANIMATION_STEPS_T 16
216 #define MINIATURIZE_ANIMATION_DELAY_T 20000
217 #define MINIATURIZE_ANIMATION_TWIST_T 0.5
218 /* Flip animation */
219 #define MINIATURIZE_ANIMATION_FRAMES_F 12
220 #define MINIATURIZE_ANIMATION_STEPS_F 16
221 #define MINIATURIZE_ANIMATION_DELAY_F 20000
222 #define MINIATURIZE_ANIMATION_TWIST_F 0.5
224 /* delays in ms...*/
225 #define BALLOON_DELAY 1000 /* ...before balloon is shown */
226 #define MENU_SELECT_DELAY 200 /* ...for menu item selection hysteresis */
227 #define MENU_JUMP_BACK_DELAY 400 /* ...for jumpback of scrolled menus */
229 /* animation speed constants */
230 #define ICON_SLIDE_SLOWDOWN_UF 1
231 #define ICON_SLIDE_DELAY_UF 0
232 #define ICON_SLIDE_STEPS_UF 50
234 #define ICON_SLIDE_SLOWDOWN_F 3
235 #define ICON_SLIDE_DELAY_F 0
236 #define ICON_SLIDE_STEPS_F 50
238 #define ICON_SLIDE_SLOWDOWN_M 5
239 #define ICON_SLIDE_DELAY_M 0
240 #define ICON_SLIDE_STEPS_M 30
242 #define ICON_SLIDE_SLOWDOWN_S 10
243 #define ICON_SLIDE_DELAY_S 0
244 #define ICON_SLIDE_STEPS_S 20
246 #define ICON_SLIDE_SLOWDOWN_US 20
247 #define ICON_SLIDE_DELAY_US 1
248 #define ICON_SLIDE_STEPS_US 10
250 /* menu scrolling */
251 #define MENU_SCROLL_STEPS_UF 14
252 #define MENU_SCROLL_DELAY_UF 1
254 #define MENU_SCROLL_STEPS_F 10
255 #define MENU_SCROLL_DELAY_F 5
257 #define MENU_SCROLL_STEPS_M 6
258 #define MENU_SCROLL_DELAY_M 5
260 #define MENU_SCROLL_STEPS_S 4
261 #define MENU_SCROLL_DELAY_S 6
263 #define MENU_SCROLL_STEPS_US 1
264 #define MENU_SCROLL_DELAY_US 8
266 /* shade animation */
267 #define SHADE_STEPS_UF 5
268 #define SHADE_DELAY_UF 0
270 #define SHADE_STEPS_F 10
271 #define SHADE_DELAY_F 0
273 #define SHADE_STEPS_M 15
274 #define SHADE_DELAY_M 0
276 #define SHADE_STEPS_S 30
277 #define SHADE_DELAY_S 0
279 #define SHADE_STEPS_US 40
280 #define SHADE_DELAY_US 10
282 /* workspace name on switch display */
283 #define WORKSPACE_NAME_FADE_DELAY 30
284 #define WORKSPACE_NAME_DELAY 400
286 /* Delay when cycling colors of selected icons. */
287 #define COLOR_CYCLE_DELAY 200
289 /* size of the pieces in the undocked icon explosion */
290 #define ICON_KABOOM_PIECE_SIZE 4
293 * Position increment for smart placement: >= 1
294 * Raise these values if it's too slow for you
296 #define PLACETEST_HSTEP 8
297 #define PLACETEST_VSTEP 8
299 #define DOCK_EXTRA_SPACE 0
301 /* Vicinity in which an icon can be attached to the clip */
302 #define CLIP_ATTACH_VICINITY 1
303 #define CLIP_BUTTON_SIZE 23
305 /* The amount of space (in multiples of the icon size)
306 * a docked icon must be dragged out to detach it */
307 #define DOCK_DETTACH_THRESHOLD 3
309 /* Delay (in ms) after which the clip will autocollapse when leaved */
310 #define AUTO_COLLAPSE_DELAY 1000
312 /* Delay (in ms) after which the clip will autoexpand when entered.
313 * Set this to zero if you want instant expanding. */
314 #define AUTO_EXPAND_DELAY 600
316 /* Delay (in ms) after which the clip will be lowered when leaved */
317 #define AUTO_LOWER_DELAY 1000
319 /* Delay (in ms) after which the clip will be raised when entered.
320 * Set this to zero if you want instant raise. */
321 #define AUTO_RAISE_DELAY 600
323 /* Max. number of icons the dock and clip can have */
324 #define DOCK_MAX_ICONS 32
326 /* blink interval when invoking a menu item */
327 #define MENU_BLINK_DELAY 60000
328 #define MENU_BLINK_COUNT 2
329 #define CURSOR_BLINK_RATE 300
331 /* how many pixels to move before dragging windows and other objects */
332 #define MOVE_THRESHOLD 5
333 #define HRESIZE_THRESHOLD 3
335 #define MAX_WORKSPACENAME_WIDTH 64
336 /* max width of window title in window list */
337 #define MAX_WINDOWLIST_WIDTH 160
339 #ifndef HAVE_INOTIFY
340 /* Check defaults database for changes every this many milliseconds */
341 #define DEFAULTS_CHECK_INTERVAL 2000
342 #endif
344 #define KEY_CONTROL_WINDOW_WEIGHT 1
346 /* don't put titles in miniwindows */
347 #undef NO_MINIWINDOW_TITLES
349 #define FRAME_BORDER_COLOR "black"
351 /* for boxes with high mouse sampling rates (SGI) */
352 #define DELAY_BETWEEN_MOUSE_SAMPLING 10
355 * You should not modify the following values, unless you know
356 * what you're doing.
359 /* number of window shortcuts */
360 #define MAX_WINDOW_SHORTCUTS 10
361 #define WM_PI 3.14159265358979323846
362 #define MIN_TITLEFONT_HEIGHT(h) ((h)>14 ? (h) : 14)
363 #define TITLEBAR_HEIGHT 18 /* window's titlebar height */
364 #define RESIZEBAR_HEIGHT 8 /* height of the resizebar */
365 #define FRAME_BORDER_WIDTH 1 /* width of window border for frames */
366 #define RESIZEBAR_MIN_WIDTH 20 /* min width of handles-corner_width */
367 #define RESIZEBAR_CORNER_WIDTH 28 /* width of the corner of resizebars */
368 #define MENU_INDICATOR_SPACE 12
369 #define MIN_WINDOW_SIZE 5 /* minimum size for windows */
370 #define ICON_WIDTH 64 /* size of the icon window */
371 #define ICON_HEIGHT 64
372 #define ICON_BORDER_WIDTH 2
373 #define MAX_ICON_WIDTH 60 /* size of the icon pixmap */
374 #define MAX_ICON_HEIGHT 48
375 #define MAX_WORKSPACES 100
376 #define MAX_MENU_TEXT_LENGTH 512
377 #define MAX_RESTART_ARGS 16
378 #define MAX_DEAD_PROCESSES 128
379 #define MAXLINE 1024
381 #ifdef _MAX_PATH
382 # define DEFAULT_PATH_MAX _MAX_PATH
383 #else
384 # define DEFAULT_PATH_MAX 512
385 #endif
387 /* some rules */
388 #ifndef SHAPE
389 #undef SHAPED_BALLOON
390 #endif
392 #ifdef XKB_MODELOCK
393 #define KEEP_XKB_LOCK_STATUS
394 /* This is a hidden feature.
395 * Choose just one of LANGUAGE_* hints.
396 * Icon can be changed in def_pixmaps.h.
397 * More icons are welcome.
399 #define XKB_BUTTON_HINT
400 #undef LANGUAGE_TH
401 #undef LANGUAGE_SK
402 #endif
404 #if defined(HAVE_LIBINTL_H) && defined(I18N)
405 #include <libintl.h>
406 #define _(text) gettext(text)
407 /* Use N_() in initializers, it will make xgettext pick
408 * the string up for translation
410 #define N_(text) (text)
411 #if defined(MENU_TEXTDOMAIN)
412 #define M_(text) dgettext(MENU_TEXTDOMAIN, text)
413 #else
414 #define M_(text) (text)
415 #endif
416 #else
417 #define _(text) (text)
418 #define N_(text) (text)
419 #define M_(text) (text)
420 #endif
422 #if defined(__GNUC__) && !defined(__STRICT_ANSI__)
423 #define INLINE inline
424 #else
425 #define INLINE
426 #endif
428 #endif /* WMCONFIG_H_ */