/*
 * wconfig.h- default configuration and definitions 
 * 
 *  WindowMaker window manager
 * 
 *  Copyright (c) 1997 Alfredo K. Kojima
 * 
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 */

#ifndef WMCONFIG_H_
#define WMCONFIG_H_

#include "config.h"

/*
 *--------------------------------------------------------------------
 * 			Feature Selection
 * 
 * 	Comment out the following #defines if you want to 
 * disable a feature. 
 * 	Also check the features you can enable through configure.
 *--------------------------------------------------------------------
 */

/* undefine ANIMATIONS if you don't want animations for iconification,
 * shading, icon arrangement etc. */
#define ANIMATIONS

/* choose between a twisted frame animation and a zooming frame animation
 * for minitaurization
 */
#undef TWIST



/* undefine USE_ARG_DIALOG to not compile in the arg dialog */
/* currently buggy */
#undef USE_ARG_DIALOG


/* define NEWSTYLE if you want a different style of titlebar buttons.
 * set by configure
 */
#define NEWSTYLE

/*
 * undefine USECPP if you don't want your config files to be preprocessed
 * by cpp
 */
#define USECPP

/*
 * Whether icon arrangement should separate icons and miniwindows.
 * Also arranges new icons into their positions automatically.
 */
#undef AUTOARRANGE_ICON

/*
 * Internationalization (I18N) support
 * Multi-byte (japanese, korean, chinese etc.) character support
 * set by configure
 */
#undef I18N_MB

/* You may try to (un)comment the following if I18N does not work for you
 */

#ifdef I18N_MB
# ifdef __FreeBSD__
#  undef X_LOCALE
# else
#  define X_LOCALE
# endif
#endif

/*
 * define the following if you're using MetroX and have problems
 * with the image in icons and other places
 *
 */
#undef METROBUG


/*
 *--------------------------------------------------------------------
 * 			Default Configuration
 * 
 * 	Some of the following options can be configured in
 * the preference files, but if for some reason, they can't
 * be used, these defaults will be.
 * 	There are also some options that can only be configured here,
 * at compile time.
 *--------------------------------------------------------------------
 */

/* list of paths to look for the config files, searched in order
 * of appearance */
#define DEF_CONFIG_PATHS \
"~/gnustep/Library/WindowMaker/:"PKGDATADIR"/:~/."
/*
"~/gnustep/Library/WindowMaker/:/usr/local/GNUstep/Library/WindowMaker/:/usr/GNUstep/Library/WindowMaker/"
*/

#define DEF_USERPREF_PATH	"~/gnustep/Library/WindowMaker/"

#define DEF_RESOURCE_DB		"WMdefaults"

/*
#define DEF_CONFIG_PATHS \
"~/gnustep/Library/WindowMaker/:/usr/X11R6/lib/X11/WindowMaker/sample.WindowMaker/"
*/

/* root menu definition */
#define DEF_MENUCONFIG		"menu"
/* preference file */
#define DEF_PREFERENCES		"preferences"

#define DEF_DOCKCONFIG		"dock"

/* script file to exec on startup */

/* pixmap path */
#define DEF_PIXMAP_PATHS \
"~/gnustep/Library/WindowMaker/Pixmaps/:"PIXMAPDIR"/"

/* window title to use for untitled windows */
#define DEF_WINDOW_TITLE "Untitled"

/* default style */
#define DEF_FRAME_COLOR "white"
#define DEF_FOCUSED_TEXTURE_COLOR "black"
#define DEF_PREV_FOCUSED_TEXTURE_COLOR "#616161"
#define DEF_UNFOCUSED_TEXTURE_COLOR "#b6b6b6"
#define DEF_FOCUSED_TEXT_COLOR "white"
#define DEF_UNFOCUSED_TEXT_COLOR "black"
#define DEF_ICON_TEXTURE_COLOR "#b6b6b6"

#define DEF_FOCUSED_TEXT_COLOR "white"
#define DEF_UNFOCUSED_TEXT_COLOR "black"
#define DEF_DISABLED_TEXT_COLOR "#777777"

#ifdef I18N_MB
#define DEF_TITLE_FONT "-*-*-medium-r-normal--14-*"
#define DEF_MENU_TITLE_FONT "-*-*-medium-r-normal--14-*"
#define DEF_MENU_ENTRY_FONT "-*-*-medium-r-normal--14-*"
#define DEF_ICON_TITLE_FONT "-*-*-medium-r-normal--10-*"
#define DEF_PANEL_TITLE_FONT "-*-*-medium-r-normal--20-*"
#define DEF_PANEL_TEXT_FONT "-*-*-medium-r-normal--14-*"
#define DEF_INFO_TEXT_FONT "-*-*-medium-r-normal--14-*"
#else /* I18N_MB */
#define DEF_TITLE_FONT "-*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*"
#define DEF_MENU_TITLE_FONT "-*-helvetica-bold-r-*-*-12-*-*-*-*-*-*-*"
#define DEF_MENU_ENTRY_FONT "-*-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*"
#define DEF_ICON_TITLE_FONT "-*-helvetica-medium-r-*-*-8-*-*-*-*-*-*-*"
#define DEF_PANEL_TITLE_FONT "-*-helvetica-medium-r-*-*-20-*-*-*-*-*-*-*"
#define DEF_PANEL_TEXT_FONT "-*-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*"
#define DEF_INFO_TEXT_FONT "-*-helvetica-medium-r-*-*-12-*-*-*-*-*-*-*"
#endif /* !I18N_MB */

#define DEF_FRAME_THICKNESS 1	       /* linewidth of the move/resize frame */

/* double click delay time in ms */
#define DEF_DBLCLICK_TIME 	250 

#define DEF_XPM_CLOSENESS	40000 

/* default position of application menus */
#define DEF_APPMENU_X		10
#define DEF_APPMENU_Y		10

/* do not divide main menu and submenu in different tiers, 
 * opposed to OpenStep */
#define SINGLE_MENULEVEL

/* animation parameters */
#define SHADE_ANIMATION_STEPS	15
#define SHADE_ANIMATION_DELAY 	0

#ifndef TWIST
# define MINIATURIZE_ANIMATION_FRAMES 5
# define MINIATURIZE_ANIMATION_STEPS 16
# define MINIATURIZE_ANIMATION_DELAY 500
#else
# define MINIATURIZE_ANIMATION_FRAMES 12 
# define MINIATURIZE_ANIMATION_STEPS 16
# define MINIATURIZE_ANIMATION_DELAY 1000
# define MINIATURIZE_ANIMATION_TWIST 0.5
#endif /* TWIST */

#define ARRANGE_ICONS_ANIMATION_STEPS 32
#define ARRANGE_ICONS_ANIMATION_DELAY 0


/* Position increment for smart placement. >= 1  raise these values if it's
 * too slow for you */
#define PLACETEST_HSTEP	8
#define PLACETEST_VSTEP	8


#define DOCK_SPRING_DELAY	200
#define DOCK_SPRING_STEPS	20

#define DOCK_EXTRA_SPACE	3
/* blink interval when invoking a menu item */
#define MENU_BLINK_DELAY	50000
#define MENU_BLINK_COUNT	2

#define MOVE_THRESHOLD	3 /* how many pixels to move before dragging windows */

#define MAX_WORKSPACENAME_WIDTH	24
#define MAX_WINDOWLIST_WIDTH	200     /* max width of window list */


/* remove autolaunch indicator in dock */
#define AUTOLAUNCH_INDICATOR

/*
 *----------------------------------------------------------------------
 * You should not modify the following values, unless you know
 * what you're doing.
 *----------------------------------------------------------------------
 */

#ifdef USE_ARG_DIALOG
#define USE_TEXT_FIELD
#endif

#define WM_PI 3.14159265358979323846

#define FRAME_BORDER_WIDTH 1	       /* width of window border for frames */

#define RESIZEBAR_HEIGHT 8	       /* height of the resizebar */
#define RESIZEBAR_MIN_WIDTH 20	       /* min. width of handles-corner_width */
#define RESIZEBAR_CORNER_WIDTH 28      /* width of the corner of resizebars */


/* minimum size for windows */
#define MIN_WSIZE	5

#define MIN_TITLEFONT_HEIGHT(h)   ((h)>14 ? (h) : 14)

/* button info */
#define MAX_LBUTTONS 	1	       /* max. no of buttons at left of tbar */
#define MAX_RBUTTONS 	1	       /* max. no of buttons at right */

#ifdef NEWSTYLE
#define PRED_BPIXMAPS	6
#else
#define PRED_BPIXMAPS	3	       /* number of predefined button pixmaps*/
#endif

#define ICON_WIDTH	64	       /* size of the icon window */
#define ICON_HEIGHT	64
#define ICON_BORDER_WIDTH 2

#define MAX_ICON_WIDTH	60	       /* size of the icon pixmap */
#define MAX_ICON_HEIGHT 48

#define MAX_WORKSPACES  120

#define MAX_MENU_TEXT_LENGTH 512

#define MAX_RESTART_ARGS	16

#define MAX_COMMAND_SIZE	1024

#define MAX_DEAD_PROCESSES	128

#define WINDOW_PIXELS_INSIDE	16


#define DEBUG0

#define DOCK

#define PACKAGE WindowMaker


/* superfluous stuff */
#undef SUPERFLUOUS


#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
# define INLINE inline
#else
# define INLINE
#endif

#endif /* WMCONFIG_H_ */

