1
0
mirror of https://github.com/gryf/wmaker.git synced 2025-12-23 22:52:34 +01:00
Files
wmaker/src/wconfig.h.in
2000-03-04 07:54:48 +00:00

623 lines
16 KiB
C

/*
* wconfig.h- default configuration and definitions + compile time options
*
* WindowMaker window manager
*
* Copyright (c) 1997-1999 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"
/*** Change it (wconfig.h) *after* you ran configure ***/
/*
*--------------------------------------------------------------------
* Feature Selection
*
* Comment out the following #defines if you want to
* disable a feature.
* Also check the features you can enable through configure.
*--------------------------------------------------------------------
*/
/*
* #undefine if you dont want texture plugin support or your system have
* some sort of problem with them.
*/
#define TEXTURE_PLUGIN
#ifdef TEXTURE_PLUGIN
#define DRAWSTRING_PLUGIN
#endif
/* undefine ANIMATIONS if you don't want animations for iconification,
* shading, icon arrangement etc. */
#define ANIMATIONS
/*
* undefine USECPP if you don't want your config files to be preprocessed
* by cpp
*/
#define USECPP
/* #define CPP_PATH @CPP_PATH@ */
/*
* support for OffiX DND drag and drop in the Dock
*/
#define OFFIX_DND
/*
* support for XDND drop in the Dock. Experimental
*/
#ifdef GNOME_STUFF
#define XDND
#endif
/*
* support for Motif window manager (mwm) window hints
*/
#define MWM_HINTS
/*
* Undefine BALLOON_TEXT if you don't want balloons for showing extra
* information, like window titles that are not fully visible.
*/
#define BALLOON_TEXT
/*
* If balloons should be shaped or be simple rectangles.
* The X server must support the shape extensions and it's support
* must be enabled (default).
*/
#define SHAPED_BALLOON
/*
* Define NO_EMERGENCY_AUTORESTART if you don't want another window manager
* automatically started when WindowMaker crashes. The X session will die
* in some cases if wmaker crashes and autorestart is disabled.
*/
#undef NO_EMERGENCY_AUTORESTART
/*
* The window manager that is autorestarted
*/
#define FALLBACK_WINDOWMANAGER "blackbox"
/* Define if you have a 5 button mouse and want to use button 4
* (in the root window) for switching to the previous workspace
* and 5 for the next. This will not work if you enable
* DisableWSMouseActions or compile wmaker with --enable-lite */
#undef MOUSE_WS_SWITCH
/*
* Turn on a hack to make mouse and keyboard actions work even if
* the NumLock or ScrollLock modifiers are turned on. They might
* inflict a performance/memory penalty.
*
* If you're an X expert (knows the implementation of XGrabKey() in X)
* and knows that the penalty is small (or not), please tell me.
*/
#define NUMLOCK_HACK
/*
* define EXTEND_WINDOWSHORTCUT if you want 10 window shortcuts instead of 4.
*/
#define EXTEND_WINDOWSHORTCUT
/*
* define OPTIMIZE_SHAPE if you want the shape setting code to be optimized
* for applications that change their shape frequently (like xdaliclock
* -shape), removing flickering. If wmaker and your display are on
* different machines and the network connection is slow, it is not
* recommended.
*/
#undef OPTIMIZE_SHAPE
/* define CONFIGURE_WINDOW_WHILE_MOVING if you want WindowMaker to send
* the synthetic ConfigureNotify event to windows while moving at every
* single movement. Default is to send a synthetic ConfigureNotify event
* only at the end of window moving, which improves performance.
*/
#undef CONFIGURE_WINDOW_WHILE_MOVING
/*
* disable/enable workspace indicator in the dock
*/
#undef WS_INDICATOR
/*
* define HIDDENDOT if you want a dot to be shown in the application icon
* of applications that are hidden.
*/
#define HIDDENDOT
/*
* Ignores the PPosition hint from clients. This is needed for some
* programs that have buggy implementations of such hint and place
* themselves in strange locations.
*/
#undef IGNORE_PPOSITION
/*
* Do not scale application icon and miniwindow icon images.
*/
#undef DONT_SCALE_ICONS
#define SILLYNESS
/*
*..........................................................................
* The following options WILL NOT BE MADE RUN-TIME. Please do not request.
* They will only add unneeded bloat.
*..........................................................................
*/
/*
* define SHADOW_RESIZEBAR if you want a resizebar with shadows like in
* AfterStep, instead of the default Openstep look.
* NEXTSTEP 3.3 also does not have these shadows.
*/
#undef SHADOW_RESIZEBAR
/*
* Define DEMATERIALIZE_ICON if you want the undocked icon animation
* to be a progressive disaparison animation.
* This will cause all application icons to be created with Save Under
* enable.
*/
#undef DEMATERIALIZE_ICON
/*
* Define ICON_KABOOM_EXTRA if you want extra fancy icon undocking
* explosion animation.
*/
#undef ICON_KABOOM_EXTRA
/*
* #undef if you dont want the window creation animation when superfluous
* is enabled.
*/
#undef WINDOW_BIRTH_ZOOM
/*
* whether arrow drawing in clip buttons should be gradiented
*/
#undef GRADIENT_CLIP_ARROWS
/*
* define DEFINABLE_CURSOR if you want WindowMaker's default cursor
* to be user-definable instead of using a hard-coded left_ptr.
*/
#undef DEFINABLE_CURSOR
/*
*--------------------------------------------------------------------
* 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
#define DEF_MENU_FILE "menu"
/* name of the script to execute at startup */
#define DEF_INIT_SCRIPT "autostart"
#define DEF_EXIT_SCRIPT "exitscript"
#define DEFAULTS_DIR "Defaults"
#ifdef USE_TIFF
#define DEF_BUTTON_IMAGES PKGDATADIR"/buttons.tiff"
#else
#define DEF_BUTTON_IMAGES PKGDATADIR"/buttons.xpm"
#endif
/* the file of the system wide submenu to be forced into the main menu */
/* remove the comments if you want it */
/*
#define GLOBAL_SUBMENU_FILE PKGDATADIR"/GlobalMenu"
*/
/* pixmap path */
#define DEF_PIXMAP_PATHS \
"(\"~/pixmaps\",\"~/GNUstep/Library/WindowMaker/Pixmaps\",\""PIXMAPDIR"\")"
#ifdef USER_MENU
#define GLOBAL_USER_MENU_PATH PKGDATADIR"/UserMenus"
#define DEF_USER_MENU_PATHS \
"~/GNUstep/Library/WindowMaker/UserMenus:"GLOBAL_USER_MENU_PATH
#endif
/* icon path */
#define DEF_ICON_PATHS \
"(\"~/pixmaps\",\"~/GNUstep/Library/Icons\",\"/usr/include/X11/pixmaps/\",\""PIXMAPDIR"\")"
/* window title to use for untitled windows */
#define DEF_WINDOW_TITLE "Untitled"
/* default style */
#define DEF_FRAME_COLOR "white"
#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_CLIP_TITLE_FONT "\"-*-*-medium-r-normal--10-*\""
#define DEF_INFO_TEXT_FONT "\"-*-*-medium-r-normal--14-*\""
#define DEF_ADDITONAL_FONT "-*-*-medium-r-normal--12-*"
#define DEF_WORKSPACE_NAME_FONT "\"-*-*-medium-r-normal--24-*\""
#else /* !I18N_MB */
#define DEF_TITLE_FONT "\"-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*\""
#define DEF_MENU_TITLE_FONT "\"-*-helvetica-bold-r-normal-*-12-*-*-*-*-*-*-*\""
#define DEF_MENU_ENTRY_FONT "\"-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*\""
#define DEF_ICON_TITLE_FONT "\"-*-helvetica-medium-r-normal-*-8-*-*-*-*-*-*-*\""
#define DEF_CLIP_TITLE_FONT "\"-*-helvetica-bold-r-normal-*-10-*-*-*-*-*-*-*\""
#define DEF_INFO_TEXT_FONT "\"-*-helvetica-medium-r-normal-*-12-*-*-*-*-*-*-*\""
#define DEF_WORKSPACE_NAME_FONT "\"-*-lucida-bold-r-*-*-24-*-*-*-*-*-*-*\""
#endif /* !I18N_MB */
#define HELVETICA10_FONT "-*-helvetica-medium-r-normal-*-10-*-*-*-*-*-*-*"
#define DEF_FRAME_THICKNESS 1 /* linewidth of the move/resize frame */
#define DEF_WINDOW_TITLE_EXTEND_SPACE "0"
#define DEF_MENU_TITLE_EXTEND_SPACE "0"
#define DEF_MENU_TEXT_EXTEND_SPACE "0"
#define TITLEBAR_EXTEND_SPACE 4
#define DEF_XPM_CLOSENESS 40000
/* default position of application menus */
#define DEF_APPMENU_X 10
#define DEF_APPMENU_Y 10
/* calculate window edge resistance from edge resistance */
#define WIN_RESISTANCE(x) (((x)*20)/30)
/* Window level where icons reside */
#define NORMAL_ICON_LEVEL WMNormalLevel
/* do not divide main menu and submenu in different tiers,
* opposed to OpenStep */
#define SINGLE_MENULEVEL
/* max. time to spend doing animations in seconds. If the animation
* time exceeds this value, it is immediately finished. Usefull for
* moments of high-load.
*/
#define MAX_ANIMATION_TIME 1
/* Zoom animation */
#define MINIATURIZE_ANIMATION_FRAMES_Z 5
#define MINIATURIZE_ANIMATION_STEPS_Z 12
#define MINIATURIZE_ANIMATION_DELAY_Z 500
/* Twist animation */
#define MINIATURIZE_ANIMATION_FRAMES_T 12
#define MINIATURIZE_ANIMATION_STEPS_T 16
#define MINIATURIZE_ANIMATION_DELAY_T 1000
#define MINIATURIZE_ANIMATION_TWIST_T 0.5
/* Flip animation */
#define MINIATURIZE_ANIMATION_FRAMES_F 12
#define MINIATURIZE_ANIMATION_STEPS_F 16
#define MINIATURIZE_ANIMATION_DELAY_F 1000
#define MINIATURIZE_ANIMATION_TWIST_F 0.5
#define HIDE_ANIMATION_STEPS (MINIATURIZE_ANIMATION_STEPS*2/3)
/* delay before balloon is showed */
#define BALLOON_DELAY 1000
/* delay for menu item selection hysteresis */
#define MENU_SELECT_DELAY 200
/* delay for jumpback of scrolled menus */
#define MENU_JUMP_BACK_DELAY 400
/* *** animation speed constants *** */
/* icon slide */
#define ICON_SLIDE_SLOWDOWN_UF 20
#define ICON_SLIDE_DELAY_UF 0
#define ICON_SLIDE_STEPS_UF 15
#define ICON_SLIDE_SLOWDOWN_F 30
#define ICON_SLIDE_DELAY_F 0
#define ICON_SLIDE_STEPS_F 10
#define ICON_SLIDE_SLOWDOWN_M 40
#define ICON_SLIDE_DELAY_M 0
#define ICON_SLIDE_STEPS_M 5
#define ICON_SLIDE_SLOWDOWN_S 50
#define ICON_SLIDE_DELAY_S 0
#define ICON_SLIDE_STEPS_S 3
#define ICON_SLIDE_SLOWDOWN_U 50
#define ICON_SLIDE_DELAY_U 3
#define ICON_SLIDE_STEPS_U 3
/* menu scrolling */
#define MENU_SCROLL_STEPS_UF 14
#define MENU_SCROLL_DELAY_UF 0
#define MENU_SCROLL_STEPS_F 10
#define MENU_SCROLL_DELAY_F 5
#define MENU_SCROLL_STEPS_M 6
#define MENU_SCROLL_DELAY_M 5
#define MENU_SCROLL_STEPS_S 4
#define MENU_SCROLL_DELAY_S 6
#define MENU_SCROLL_STEPS_U 1
#define MENU_SCROLL_DELAY_U 8
/* shade animation */
#define SHADE_STEPS_UF 5
#define SHADE_DELAY_UF 0
#define SHADE_STEPS_F 10
#define SHADE_DELAY_F 0
#define SHADE_STEPS_M 15
#define SHADE_DELAY_M 0
#define SHADE_STEPS_S 30
#define SHADE_DELAY_S 0
#define SHADE_STEPS_U 20
#define SHADE_DELAY_U 10
/* workspace name on switch display */
#define WORKSPACE_NAME_FADE_DELAY 30
#define WORKSPACE_NAME_DELAY 400
/* window birth animation steps (DO NOT MAKE IT RUN-TIME) */
#define WINDOW_BIRTH_STEPS 20
/* number of steps for icon dematerialization. */
#define DEMATERIALIZE_STEPS 16
/* Delay when cycling colors of selected icons. */
#define COLOR_CYCLE_DELAY 200
/* size of the pieces in the undocked icon explosion */
#define ICON_KABOOM_PIECE_SIZE 4
/* 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_EXTRA_SPACE 0
/* Vicinity in which an icon can be attached to the clip */
#define CLIP_ATTACH_VICINITY 1
#define CLIP_BUTTON_SIZE 23
/* The amount of space (in multiples of the icon size)
* a docked icon must be dragged out to detach it */
#define DOCK_DETTACH_THRESHOLD 3
/* Delay (in ms) after which the clip will autocollapse when leaved */
#define AUTO_COLLAPSE_DELAY 1000
/* Delay (in ms) after which the clip will autoexpand when entered.
* Set this to zero if you want instant expanding. */
#define AUTO_EXPAND_DELAY 600
/* Delay (in ms) after which the clip will be lowered when leaved */
#define AUTO_LOWER_DELAY 1000
/* Delay (in ms) after which the clip will be raised when entered.
* Set this to zero if you want instant raise. */
#define AUTO_RAISE_DELAY 600
/* Max. number of icons the clip can have */
#define CLIP_MAX_ICONS 32
/* blink interval when invoking a menu item */
#define MENU_BLINK_DELAY 60000
#define MENU_BLINK_COUNT 2
#define CURSOR_BLINK_RATE 300
#define MOVE_THRESHOLD 5 /* how many pixels to move before dragging windows
* and other objects */
#define KEY_CONTROL_WINDOW_WEIGHT 1
#define HRESIZE_THRESHOLD 3
#define MAX_WORKSPACENAME_WIDTH 16
#define MAX_WINDOWLIST_WIDTH 160 /* max width of window title in
* window list */
#define DEFAULTS_CHECK_INTERVAL 2000 /* how often wmaker will check for
* changes in the config files */
/* if your keyboard don't have arrow keys */
#undef ARROWLESS_KBD
/* don't put titles in miniwindows */
#undef NO_MINIWINDOW_TITLES
#define FRAME_BORDER_COLOR "black"
/* for boxes with high mouse sampling rates (SGI) */
#define DELAY_BETWEEN_MOUSE_SAMPLING 10
/*
*----------------------------------------------------------------------
* You should not modify the following values, unless you know
* what you're doing.
*----------------------------------------------------------------------
*/
/* number of window shortcuts */
#ifdef EXTEND_WINDOWSHORTCUT
# define MAX_WINDOW_SHORTCUTS 10
#else
# define MAX_WINDOW_SHORTCUTS 4
#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 */
#define MENU_INDICATOR_SPACE 12
/* minimum size for windows */
#define MIN_WINDOW_SIZE 5
#define MIN_TITLEFONT_HEIGHT(h) ((h)>14 ? (h) : 14)
#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
/* KDE may have problems with more than 32 workspaces */
#ifdef KWM_HINTS
# define MAX_WORKSPACES 32
#else
# define MAX_WORKSPACES 100
#endif
#define MAX_MENU_TEXT_LENGTH 512
#define MAX_RESTART_ARGS 16
#define MAX_COMMAND_SIZE 1024
#define MAX_DEAD_PROCESSES 128
#define MAXLINE 1024
#ifdef _MAX_PATH
# define DEFAULT_PATH_MAX _MAX_PATH
#else
# define DEFAULT_PATH_MAX 512
#endif
#define DEBUG0
/* some rules */
#ifndef SHAPE
#undef SHAPED_BALLOON
#endif
#ifdef XKB_MODELOCK
#define KEEP_XKB_LOCK_STATUS
/* This is a hidden feature.
* choose one between 2 of these hints. Icon can be changed
* in def_pixmaps.h and default icon is now for Thai language only.
* More icons are welcome.
*/
#define XKB_BUTTON_HINT
#undef LANGUAGE_TH
#endif
#ifndef DEMATERIALIZE_ICON
# define NORMAL_ICON_KABOOM
#endif
#if HAVE_LIBINTL_H && I18N
# include <libintl.h>
# define _(text) gettext(text)
#else
# define _(text) (text)
#endif
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
# define INLINE inline
#else
# define INLINE
#endif
#endif /* WMCONFIG_H_ */