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.
28
/*** Change this file (wconfig.h) *after* you ran configure ***/
31
*--------------------------------------------------------------------
34
* Comment out the following #defines if you want to
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
#undef DRAWSTRING_PLUGIN
52
/* undefine ANIMATIONS if you don't want animations for iconification,
53
* shading, icon arrangement etc. */
58
* undefine USECPP if you don't want your config files to be preprocessed
63
/* #define CPP_PATH @CPP_PATH@ */
69
* support for XDND drop in the Dock. Experimental
74
* support for Motif window manager (mwm) window hints
80
* Undefine BALLOON_TEXT if you don't want balloons for showing extra
81
* information, like window titles that are not fully visible.
86
* If balloons should be shaped or be simple rectangles.
87
* The X server must support the shape extensions and it's support
88
* must be enabled (default).
90
#define SHAPED_BALLOON
94
* Turn on a hack to make mouse and keyboard actions work even if
95
* the NumLock or ScrollLock modifiers are turned on. They might
96
* inflict a performance/memory penalty.
98
* If you're an X expert (knows the implementation of XGrabKey() in X)
99
* and knows that the penalty is small (or not), please tell me.
106
* define OPTIMIZE_SHAPE if you want the shape setting code to be optimized
107
* for applications that change their shape frequently (like xdaliclock
108
* -shape), removing flickering. If wmaker and your display are on
109
* different machines and the network connection is slow, it is not
112
#undef OPTIMIZE_SHAPE
114
/* define CONFIGURE_WINDOW_WHILE_MOVING if you want WindowMaker to send
115
* the synthetic ConfigureNotify event to windows while moving at every
116
* single movement. Default is to send a synthetic ConfigureNotify event
117
* only at the end of window moving, which improves performance.
119
#undef CONFIGURE_WINDOW_WHILE_MOVING
123
* disable/enable workspace indicator in the dock
129
* define HIDDENDOT if you want a dot to be shown in the application icon
130
* of applications that are hidden.
136
* Ignores the PPosition hint from clients. This is needed for some
137
* programs that have buggy implementations of such hint and place
138
* themselves in strange locations.
140
#undef IGNORE_PPOSITION
144
* Do not scale application icon and miniwindow icon images.
146
#undef DONT_SCALE_ICONS
160
*..........................................................................
161
* The following options WILL NOT BE MADE RUN-TIME. Please do not request.
162
* They will only add unneeded bloat.
163
*..........................................................................
167
* define SHADOW_RESIZEBAR if you want a resizebar with shadows like in
168
* AfterStep, instead of the default Openstep look.
169
* NEXTSTEP 3.3 also does not have these shadows.
171
#undef SHADOW_RESIZEBAR
174
* Define DEMATERIALIZE_ICON if you want the undocked icon animation
175
* to be a progressive disaparison animation.
176
* This will cause all application icons to be created with Save Under
179
#undef DEMATERIALIZE_ICON
182
* Define ICON_KABOOM_EXTRA if you want extra fancy icon undocking
183
* explosion animation.
185
#undef ICON_KABOOM_EXTRA
188
* #define if you want the window creation animation when superfluous
189
* is enabled. Only enable one of them.
191
#undef WINDOW_BIRTH_ZOOM
193
#undef WINDOW_BIRTH_ZOOM2
196
* whether arrow drawing in clip buttons should be gradiented
198
#undef GRADIENT_CLIP_ARROWS
202
*--------------------------------------------------------------------
203
* Default Configuration
205
* Some of the following options can be configured in
206
* the preference files, but if for some reason, they can't
207
* be used, these defaults will be.
208
* There are also some options that can only be configured here,
210
*--------------------------------------------------------------------
213
/* list of paths to look for the config files, searched in order
215
#define DEF_CONFIG_PATHS \
216
"~/GNUstep/Library/WindowMaker:"PKGDATADIR
218
#define DEF_MENU_FILE "menu"
220
/* name of the script to execute at startup */
221
#define DEF_INIT_SCRIPT "autostart"
223
#define DEF_EXIT_SCRIPT "exitscript"
225
#define DEFAULTS_DIR "Defaults"
228
#define DEF_BUTTON_IMAGES PKGDATADIR"/buttons.tiff"
230
#define DEF_BUTTON_IMAGES PKGDATADIR"/buttons.xpm"
233
/* the file of the system wide submenu to be forced into the main menu */
234
#define GLOBAL_PREAMBLE_MENU_FILE "GlobalMenu.pre"
235
#define GLOBAL_EPILOGUE_MENU_FILE "GlobalMenu.post"
239
#define DEF_PIXMAP_PATHS \
240
"(\"~/pixmaps\",\"~/GNUstep/Library/WindowMaker/Pixmaps\",\""PIXMAPDIR"\")"
243
#define GLOBAL_USER_MENU_PATH PKGDATADIR"/UserMenus"
244
#define DEF_USER_MENU_PATHS \
245
"~/GNUstep/Library/WindowMaker/UserMenus:"GLOBAL_USER_MENU_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"
257
#define DEF_FRAME_COLOR "white"
260
#define DEF_TITLE_FONT "\"Trebuchet MS,Luxi Sans:bold:pixelsize=12\""
261
#define DEF_MENU_TITLE_FONT "\"Trebuchet MS,Luxi Sans:bold:pixelsize=12\""
262
#define DEF_MENU_ENTRY_FONT "\"Trebuchet MS,Luxi Sans:pixelsize=12\""
263
#define DEF_ICON_TITLE_FONT "\"Arial,Luxi Sans:pixelsize=9\""
264
#define DEF_CLIP_TITLE_FONT "\"Verdana:bold:pixelsize=10\""
265
#define DEF_INFO_TEXT_FONT "\"Trebuchet MS,Luxi Sans:pixelsize=12\""
267
#define DEF_WORKSPACE_NAME_FONT "\"Trebuchet MS,Luxi Sans:pixelsize=24\""
270
#define DEF_FRAME_THICKNESS 1 /* linewidth of the move/resize frame */
272
#define DEF_WINDOW_TITLE_EXTEND_SPACE "0"
273
#define DEF_MENU_TITLE_EXTEND_SPACE "0"
274
#define DEF_MENU_TEXT_EXTEND_SPACE "0"
275
#define TITLEBAR_EXTEND_SPACE 4
277
#define DEF_XPM_CLOSENESS 40000
279
/* default position of application menus */
280
#define DEF_APPMENU_X 10
281
#define DEF_APPMENU_Y 10
283
/* calculate window edge resistance from edge resistance */
284
#define WIN_RESISTANCE(x) (((x)*20)/30)
286
/* Window level where icons reside */
287
#define NORMAL_ICON_LEVEL WMNormalLevel
289
/* do not divide main menu and submenu in different tiers,
290
* opposed to OpenStep */
291
#define SINGLE_MENULEVEL
293
/* max. time to spend doing animations in seconds. If the animation
294
* time exceeds this value, it is immediately finished. Usefull for
295
* moments of high-load.
297
#define MAX_ANIMATION_TIME 1
300
#define MINIATURIZE_ANIMATION_FRAMES_Z 5
301
#define MINIATURIZE_ANIMATION_STEPS_Z 12
302
#define MINIATURIZE_ANIMATION_DELAY_Z 10000
303
/* Twist animation */
304
#define MINIATURIZE_ANIMATION_FRAMES_T 12
305
#define MINIATURIZE_ANIMATION_STEPS_T 16
306
#define MINIATURIZE_ANIMATION_DELAY_T 20000
307
#define MINIATURIZE_ANIMATION_TWIST_T 0.5
309
#define MINIATURIZE_ANIMATION_FRAMES_F 12
310
#define MINIATURIZE_ANIMATION_STEPS_F 16
311
#define MINIATURIZE_ANIMATION_DELAY_F 20000
312
#define MINIATURIZE_ANIMATION_TWIST_F 0.5
315
#define HIDE_ANIMATION_STEPS (MINIATURIZE_ANIMATION_STEPS*2/3)
317
/* delay before balloon is shown (ms) */
318
#define BALLOON_DELAY 1000
320
/* delay for menu item selection hysteresis (ms) */
321
#define MENU_SELECT_DELAY 200
323
/* delay for jumpback of scrolled menus (ms) */
324
#define MENU_JUMP_BACK_DELAY 400
326
/* *** animation speed constants *** */
329
#define ICON_SLIDE_SLOWDOWN_UF 1
330
#define ICON_SLIDE_DELAY_UF 0
331
#define ICON_SLIDE_STEPS_UF 50
333
#define ICON_SLIDE_SLOWDOWN_F 3
334
#define ICON_SLIDE_DELAY_F 0
335
#define ICON_SLIDE_STEPS_F 50
337
#define ICON_SLIDE_SLOWDOWN_M 5
338
#define ICON_SLIDE_DELAY_M 0
339
#define ICON_SLIDE_STEPS_M 30
341
#define ICON_SLIDE_SLOWDOWN_S 10
342
#define ICON_SLIDE_DELAY_S 0
343
#define ICON_SLIDE_STEPS_S 20
345
#define ICON_SLIDE_SLOWDOWN_US 20
346
#define ICON_SLIDE_DELAY_US 1
347
#define ICON_SLIDE_STEPS_US 10
350
#define MENU_SCROLL_STEPS_UF 14
351
#define MENU_SCROLL_DELAY_UF 1
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_US 1
363
#define MENU_SCROLL_DELAY_US 8
366
/* shade animation */
367
#define SHADE_STEPS_UF 5
368
#define SHADE_DELAY_UF 0
370
#define SHADE_STEPS_F 10
371
#define SHADE_DELAY_F 0
373
#define SHADE_STEPS_M 15
374
#define SHADE_DELAY_M 0
376
#define SHADE_STEPS_S 30
377
#define SHADE_DELAY_S 0
379
#define SHADE_STEPS_US 40
380
#define SHADE_DELAY_US 10
383
/* workspace name on switch display */
384
#define WORKSPACE_NAME_FADE_DELAY 30
386
#ifdef VIRTUAL_DESKTOP
387
/* workspace virtual edge speed */
388
#define VIRTUALEDGE_SCROLL_VSTEP 30
389
#define VIRTUALEDGE_SCROLL_HSTEP 30
392
#define WORKSPACE_NAME_DELAY 400
394
/* window birth animation steps (DO NOT MAKE IT RUN-TIME) */
395
#define WINDOW_BIRTH_STEPS 20
397
/* number of steps for icon dematerialization. */
398
#define DEMATERIALIZE_STEPS 16
400
/* Delay when cycling colors of selected icons. */
401
#define COLOR_CYCLE_DELAY 200
403
/* size of the pieces in the undocked icon explosion */
404
#define ICON_KABOOM_PIECE_SIZE 4
407
/* Position increment for smart placement. >= 1 raise these values if it's
408
* too slow for you */
409
#define PLACETEST_HSTEP 8
410
#define PLACETEST_VSTEP 8
413
#define DOCK_EXTRA_SPACE 0
415
/* Vicinity in which an icon can be attached to the clip */
416
#define CLIP_ATTACH_VICINITY 1
418
#define CLIP_BUTTON_SIZE 23
421
/* The amount of space (in multiples of the icon size)
422
* a docked icon must be dragged out to detach it */
423
#define DOCK_DETTACH_THRESHOLD 3
425
/* Delay (in ms) after which the clip will autocollapse when leaved */
426
#define AUTO_COLLAPSE_DELAY 1000
428
/* Delay (in ms) after which the clip will autoexpand when entered.
429
* Set this to zero if you want instant expanding. */
430
#define AUTO_EXPAND_DELAY 600
432
/* Delay (in ms) after which the clip will be lowered when leaved */
433
#define AUTO_LOWER_DELAY 1000
435
/* Delay (in ms) after which the clip will be raised when entered.
436
* Set this to zero if you want instant raise. */
437
#define AUTO_RAISE_DELAY 600
440
/* Max. number of icons the clip can have */
441
#define CLIP_MAX_ICONS 32
443
/* blink interval when invoking a menu item */
444
#define MENU_BLINK_DELAY 60000
445
#define MENU_BLINK_COUNT 2
447
#define CURSOR_BLINK_RATE 300
449
#define MOVE_THRESHOLD 5 /* how many pixels to move before dragging windows
450
* and other objects */
452
#define KEY_CONTROL_WINDOW_WEIGHT 1
454
#define HRESIZE_THRESHOLD 3
456
#define MAX_WORKSPACENAME_WIDTH 32
457
#define MAX_WINDOWLIST_WIDTH 160 /* max width of window title in
460
#define DEFAULTS_CHECK_INTERVAL 2000 /* how often wmaker will check for
461
* changes in the config files */
463
/* if your keyboard don't have arrow keys */
467
/* don't put titles in miniwindows */
468
#undef NO_MINIWINDOW_TITLES
471
#define FRAME_BORDER_COLOR "black"
474
/* for boxes with high mouse sampling rates (SGI) */
475
#define DELAY_BETWEEN_MOUSE_SAMPLING 10
479
*----------------------------------------------------------------------
480
* You should not modify the following values, unless you know
482
*----------------------------------------------------------------------
486
/* number of window shortcuts */
487
#define MAX_WINDOW_SHORTCUTS 10
490
#define WM_PI 3.14159265358979323846
492
#define FRAME_BORDER_WIDTH 1 /* width of window border for frames */
494
#define RESIZEBAR_HEIGHT 8 /* height of the resizebar */
495
#define RESIZEBAR_MIN_WIDTH 20 /* min. width of handles-corner_width */
496
#define RESIZEBAR_CORNER_WIDTH 28 /* width of the corner of resizebars */
498
#define MENU_INDICATOR_SPACE 12
500
/* minimum size for windows */
501
#define MIN_WINDOW_SIZE 5
503
#define MIN_TITLEFONT_HEIGHT(h) ((h)>14 ? (h) : 14)
505
#define ICON_WIDTH 64 /* size of the icon window */
506
#define ICON_HEIGHT 64
507
#define ICON_BORDER_WIDTH 2
509
#define MAX_ICON_WIDTH 60 /* size of the icon pixmap */
510
#define MAX_ICON_HEIGHT 48
512
#define MAX_WORKSPACES 100
514
#define MAX_MENU_TEXT_LENGTH 512
516
#define MAX_RESTART_ARGS 16
518
#define MAX_COMMAND_SIZE 1024
520
#define MAX_DEAD_PROCESSES 128
527
# define DEFAULT_PATH_MAX _MAX_PATH
529
# define DEFAULT_PATH_MAX 512
538
#undef SHAPED_BALLOON
542
#define KEEP_XKB_LOCK_STATUS
543
/* This is a hidden feature.
544
* Choose just one of LANGUAGE_* hints.
545
* Icon can be changed in def_pixmaps.h.
546
* More icons are welcome.
548
#define XKB_BUTTON_HINT
553
#ifndef DEMATERIALIZE_ICON
554
# define NORMAL_ICON_KABOOM
557
#if defined(HAVE_LIBINTL_H) && defined(I18N)
558
# include <libintl.h>
559
# define _(text) gettext(text)
561
# define _(text) (text)
565
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
566
# define INLINE inline
571
#endif /* WMCONFIG_H_ */