wmaker: Consistent configuration options.
[wmaker-crm.git] / src / wconfig.h.in
blobb66d011dfea797a1ebb3f43c1ab4dc8ad18999b8
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., 51 Franklin St, Fifth Floor, Boston,
21 * MA 02110-1301, USA.
24 #ifndef WMCONFIG_H_
25 #define WMCONFIG_H_
27 #include "config.h"
29 /*** Change this file (wconfig.h) *after* you ran configure ***/
32 * Comment out the following #defines if you want to disable a feature.
33 * Also check the features you can enable through configure.
37 * Undefine BALLOON_TEXT if you don't want balloons for showing extra
38 * information, like window titles that are not fully visible.
40 #define BALLOON_TEXT
43 * If balloons should be shaped or be simple rectangles.
44 * The X server must support the shape extensions and it's support
45 * must be enabled (default).
47 #define SHAPED_BALLOON
50 * Turn on a hack to make mouse and keyboard actions work even if
51 * the NumLock or ScrollLock modifiers are turned on. They might
52 * inflict a performance/memory penalty.
54 * If you're an X expert (knows the implementation of XGrabKey() in X)
55 * and knows that the penalty is small (or not), please tell me.
57 #define NUMLOCK_HACK
60 * define OPTIMIZE_SHAPE if you want the shape setting code to be optimized
61 * for applications that change their shape frequently (like xdaliclock
62 * -shape), removing flickering. If wmaker and your display are on
63 * different machines and the network connection is slow, it is not
64 * recommended.
66 #undef OPTIMIZE_SHAPE
68 /* define CONFIGURE_WINDOW_WHILE_MOVING if you want WindowMaker to send
69 * the synthetic ConfigureNotify event to windows while moving at every
70 * single movement. Default is to send a synthetic ConfigureNotify event
71 * only at the end of window moving, which improves performance.
73 #undef CONFIGURE_WINDOW_WHILE_MOVING
75 /* disable/enable workspace indicator in the dock */
76 #undef WS_INDICATOR
79 * define HIDDENDOT if you want a dot to be shown in the application icon
80 * of applications that are hidden.
82 #define HIDDENDOT
85 * Ignores the PPosition hint from clients. This is needed for some
86 * programs that have buggy implementations of such hint and place
87 * themselves in strange locations.
89 #undef IGNORE_PPOSITION
92 * The following options WILL NOT BE MADE RUN-TIME. Please do not request.
93 * They will only add unneeded bloat.
97 * define SHADOW_RESIZEBAR if you want a resizebar with shadows like in
98 * AfterStep, instead of the default Openstep look.
99 * NEXTSTEP 3.3 also does not have these shadows.
101 #undef SHADOW_RESIZEBAR
103 #define NORMAL_ICON_KABOOM
106 * #define if you want the window creation animation when superfluous
107 * is enabled.
109 #undef WINDOW_BIRTH_ZOOM
112 * Some of the following options can be configured in the preference files,
113 * but if for some reason they can't, these are their defaults.
115 * There are also some options that can only be configured here, at compile time.
118 /* list of paths to look for the config files, searched in order of appearance */
119 #define DEF_CONFIG_PATHS "~/GNUstep/Library/WindowMaker:"PKGDATADIR
120 #define DEF_MENU_FILE "menu"
122 /* name of the script to execute at startup */
123 #define DEF_INIT_SCRIPT "autostart"
124 #define DEF_EXIT_SCRIPT "exitscript"
125 #define DEFAULTS_DIR "Defaults"
127 #ifdef USE_TIFF
128 #define DEF_BUTTON_IMAGES PKGDATADIR"/buttons.tiff"
129 #else
130 #define DEF_BUTTON_IMAGES PKGDATADIR"/buttons.xpm"
131 #endif
133 /* the file of the system wide submenu to be forced into the main menu */
134 #define GLOBAL_PREAMBLE_MENU_FILE "GlobalMenu.pre"
135 #define GLOBAL_EPILOGUE_MENU_FILE "GlobalMenu.post"
137 /* pixmap path */
138 #define DEF_PIXMAP_PATHS \
139 "(" \
140 "\"~/GNUstep/Library/WindowMaker/Pixmaps\"," \
141 "\"~/GNUstep/Library/WindowMaker/Backgrounds\"," \
142 "\"~/GNUstep/Library/WindowMaker/CachedPixmaps\"," \
143 "\"~/pixmaps\"," \
144 "\""PKGDATADIR"/Pixmaps\"," \
145 "\""PKGDATADIR"/Backgrounds\"," \
146 "\""PIXMAPDIR"\"" \
149 #ifdef USER_MENU
150 #define GLOBAL_USER_MENU_PATH PKGDATADIR"/UserMenus"
151 #define DEF_USER_MENU_PATHS \
152 "~/GNUstep/Library/WindowMaker/UserMenus:"GLOBAL_USER_MENU_PATH
153 #endif
155 /* icon path */
156 #define DEF_ICON_PATHS \
157 "(" \
158 "\"~/GNUstep/Library/Icons\"," \
159 "\"~/GNUstep/Library/WindowMaker/Pixmaps\"," \
160 "\"~/GNUstep/Library/WindowMaker/CachedPixmaps\"," \
161 "\"~/pixmaps\"," \
162 "\""PKGDATADIR"/Icons\"," \
163 "\""PKGDATADIR"/Pixmaps\"," \
164 "\""PIXMAPDIR"\"" \
167 /* window title to use for untitled windows */
168 #define DEF_WINDOW_TITLE "Untitled"
170 /* default style */
171 #define DEF_FRAME_COLOR "white"
173 /* default fonts */
174 #define DEF_TITLE_FONT "\"Sans:bold:pixelsize=12\""
175 #define DEF_MENU_TITLE_FONT "\"Sans:bold:pixelsize=12\""
176 #define DEF_MENU_ENTRY_FONT "\"Sans:pixelsize=12\""
177 #define DEF_ICON_TITLE_FONT "\"Sans:pixelsize=9\""
178 #define DEF_CLIP_TITLE_FONT "\"Sans:bold:pixelsize=10\""
179 #define DEF_WORKSPACE_NAME_FONT "\"Sans:pixelsize=24\""
181 /* line width of the move/resize frame */
182 #define DEF_FRAME_THICKNESS 1
184 #define DEF_WINDOW_TITLE_EXTEND_SPACE "0"
185 #define DEF_MENU_TITLE_EXTEND_SPACE "0"
186 #define DEF_MENU_TEXT_EXTEND_SPACE "0"
187 #define TITLEBAR_EXTEND_SPACE 4
189 #define DEF_XPM_CLOSENESS 40000
191 /* default position of application menus */
192 #define DEF_APPMENU_X 10
193 #define DEF_APPMENU_Y 10
195 /* calculate window edge resistance from edge resistance */
196 #define WIN_RESISTANCE(x) (((x)*20)/30)
198 /* Window level where icons reside */
199 #define NORMAL_ICON_LEVEL WMNormalLevel
201 /* do not divide main menu and submenu in different tiers,
202 * opposed to OpenStep */
203 #define SINGLE_MENULEVEL
205 /* max. time to spend doing animations in seconds. If the animation
206 * time exceeds this value, it is immediately finished. Useful for
207 * moments of high-load. DO NOT set *_DELAY_{Z,T,F} to zero!
209 #define MAX_ANIMATION_TIME 1
210 /* Zoom animation */
211 #define MINIATURIZE_ANIMATION_FRAMES_Z 7
212 #define MINIATURIZE_ANIMATION_STEPS_Z 16
213 #define MINIATURIZE_ANIMATION_DELAY_Z 10000
214 /* Twist animation */
215 #define MINIATURIZE_ANIMATION_FRAMES_T 12
216 #define MINIATURIZE_ANIMATION_STEPS_T 16
217 #define MINIATURIZE_ANIMATION_DELAY_T 20000
218 #define MINIATURIZE_ANIMATION_TWIST_T 0.5
219 /* Flip animation */
220 #define MINIATURIZE_ANIMATION_FRAMES_F 12
221 #define MINIATURIZE_ANIMATION_STEPS_F 16
222 #define MINIATURIZE_ANIMATION_DELAY_F 20000
223 #define MINIATURIZE_ANIMATION_TWIST_F 0.5
225 /* delays in ms...*/
226 #define BALLOON_DELAY 1000 /* ...before balloon is shown */
227 #define MENU_SELECT_DELAY 200 /* ...for menu item selection hysteresis */
228 #define MENU_JUMP_BACK_DELAY 400 /* ...for jumpback of scrolled menus */
230 /* animation speed constants */
231 #define ICON_SLIDE_SLOWDOWN_UF 1
232 #define ICON_SLIDE_DELAY_UF 0
233 #define ICON_SLIDE_STEPS_UF 50
235 #define ICON_SLIDE_SLOWDOWN_F 3
236 #define ICON_SLIDE_DELAY_F 0
237 #define ICON_SLIDE_STEPS_F 50
239 #define ICON_SLIDE_SLOWDOWN_M 5
240 #define ICON_SLIDE_DELAY_M 0
241 #define ICON_SLIDE_STEPS_M 30
243 #define ICON_SLIDE_SLOWDOWN_S 10
244 #define ICON_SLIDE_DELAY_S 0
245 #define ICON_SLIDE_STEPS_S 20
247 #define ICON_SLIDE_SLOWDOWN_US 20
248 #define ICON_SLIDE_DELAY_US 1
249 #define ICON_SLIDE_STEPS_US 10
251 /* menu scrolling */
252 #define MENU_SCROLL_STEPS_UF 14
253 #define MENU_SCROLL_DELAY_UF 1
255 #define MENU_SCROLL_STEPS_F 10
256 #define MENU_SCROLL_DELAY_F 5
258 #define MENU_SCROLL_STEPS_M 6
259 #define MENU_SCROLL_DELAY_M 5
261 #define MENU_SCROLL_STEPS_S 4
262 #define MENU_SCROLL_DELAY_S 6
264 #define MENU_SCROLL_STEPS_US 1
265 #define MENU_SCROLL_DELAY_US 8
267 /* shade animation */
268 #define SHADE_STEPS_UF 5
269 #define SHADE_DELAY_UF 0
271 #define SHADE_STEPS_F 10
272 #define SHADE_DELAY_F 0
274 #define SHADE_STEPS_M 15
275 #define SHADE_DELAY_M 0
277 #define SHADE_STEPS_S 30
278 #define SHADE_DELAY_S 0
280 #define SHADE_STEPS_US 40
281 #define SHADE_DELAY_US 10
283 /* workspace name on switch display */
284 #define WORKSPACE_NAME_FADE_DELAY 30
285 #define WORKSPACE_NAME_DELAY 400
287 /* Delay when cycling colors of selected icons. */
288 #define COLOR_CYCLE_DELAY 200
290 /* size of the pieces in the undocked icon explosion */
291 #define ICON_KABOOM_PIECE_SIZE 4
294 * Position increment for smart placement: >= 1
295 * Raise these values if it's too slow for you
297 #define PLACETEST_HSTEP 8
298 #define PLACETEST_VSTEP 8
300 #define DOCK_EXTRA_SPACE 0
302 /* Vicinity in which an icon can be attached to the clip */
303 #define CLIP_ATTACH_VICINITY 1
304 #define CLIP_BUTTON_SIZE 23
306 /* The amount of space (in multiples of the icon size)
307 * a docked icon must be dragged out to detach it */
308 #define DOCK_DETTACH_THRESHOLD 3
310 /* Max. number of icons the dock and clip can have */
311 #define DOCK_MAX_ICONS 32
313 /* blink interval when invoking a menu item */
314 #define MENU_BLINK_DELAY 60000
315 #define MENU_BLINK_COUNT 2
316 #define CURSOR_BLINK_RATE 300
318 /* how many pixels to move before dragging windows and other objects */
319 #define MOVE_THRESHOLD 5
320 #define HRESIZE_THRESHOLD 3
322 #define MAX_WORKSPACENAME_WIDTH 64
323 /* max width of window title in window list */
324 #define MAX_WINDOWLIST_WIDTH 400
326 #ifndef HAVE_INOTIFY
327 /* Check defaults database for changes every this many milliseconds */
328 #define DEFAULTS_CHECK_INTERVAL 2000
329 #endif
331 #define KEY_CONTROL_WINDOW_WEIGHT 1
333 /* don't put titles in miniwindows */
334 #undef NO_MINIWINDOW_TITLES
336 /* for boxes with high mouse sampling rates (SGI) */
337 #define DELAY_BETWEEN_MOUSE_SAMPLING 10
340 * You should not modify the following values, unless you know
341 * what you're doing.
344 /* number of window shortcuts */
345 #define MAX_WINDOW_SHORTCUTS 10
346 #define MIN_TITLEFONT_HEIGHT(h) ((h)>14 ? (h) : 14)
347 #define TITLEBAR_HEIGHT 18 /* window's titlebar height */
348 #define RESIZEBAR_HEIGHT 8 /* height of the resizebar */
349 #define RESIZEBAR_MIN_WIDTH 20 /* min width of handles-corner_width */
350 #define RESIZEBAR_CORNER_WIDTH 28 /* width of the corner of resizebars */
351 #define MENU_INDICATOR_SPACE 12
352 #define MIN_WINDOW_SIZE 5 /* minimum size for windows */
353 #define ICON_WIDTH 64 /* size of the icon window */
354 #define ICON_HEIGHT 64
355 #define ICON_BORDER_WIDTH 2
356 #define MAX_ICON_WIDTH 60 /* size of the icon pixmap */
357 #define MAX_ICON_HEIGHT 48
358 #define MAX_WORKSPACES 100
359 #define MAX_MENU_TEXT_LENGTH 512
360 #define MAX_RESTART_ARGS 16
361 #define MAX_DEAD_PROCESSES 128
362 #define MAXLINE 1024
364 #ifdef _MAX_PATH
365 # define DEFAULT_PATH_MAX _MAX_PATH
366 #else
367 # define DEFAULT_PATH_MAX 512
368 #endif
370 /* some rules */
371 #ifndef USE_XSHAPE
372 #undef SHAPED_BALLOON
373 #endif
375 #ifdef XKB_MODELOCK
376 #define KEEP_XKB_LOCK_STATUS
377 /* This is a hidden feature.
378 * Choose just one of LANGUAGE_* hints.
379 * Icon can be changed in def_pixmaps.h.
380 * More icons are welcome.
382 #define XKB_BUTTON_HINT
383 #undef LANGUAGE_TH
384 #undef LANGUAGE_SK
385 #endif
387 #if defined(HAVE_LIBINTL_H) && defined(I18N)
388 #include <libintl.h>
389 #define _(text) gettext(text)
390 /* Use N_() in initializers, it will make xgettext pick
391 * the string up for translation
393 #define N_(text) (text)
394 #if defined(MENU_TEXTDOMAIN)
395 #define M_(text) dgettext(MENU_TEXTDOMAIN, text)
396 #else
397 #define M_(text) (text)
398 #endif
399 #else
400 #define _(text) (text)
401 #define N_(text) (text)
402 #define M_(text) (text)
403 #endif
405 #endif /* WMCONFIG_H_ */