// config.h
// You can edit these symbols to change the behavior & appearance of flwm.
// Turning off features will make flwm smaller too!
////////////////////////////////////////////////////////////////
// BEHAVIOR:
// Turn this on for click-to-type (rather than point-to-type).
// On: clicking on the window gives it focus
// Off: pointing at the window gives it the focus.
#define CLICK_TO_TYPE 0
// Most window managers consider this and click-to-type equivalent.
// On: clicking anywhere on window raises it
// Off: you have to click on the border to raise window
#define CLICK_RAISES CLICK_TO_TYPE
// For point-to-type, sticky focus means you don't lose the focus
// until you move the cursor to another window that wants focus.
// If this is off you lose focus as soon as the cursor goes outside
// the window (such as to the desktop):
#define STICKY_FOCUS 1
// For point-to-type, after this many seconds the window is raised,
// nothing is done if this is not defined:
//#define AUTO_RAISE 0.5
// Perform "smart" autoplacement.
// New windows are put at positions where they cover as few existing windows
// as possible. A brute force algorithm is used, so it consumes quite a bit
// of CPU time.
#define SMART_PLACEMENT 1
// set this to zero to remove the multiple-desktop code. This will
// make flwm about 20K smaller
#define DESKTOPS 1
// set this to zero for "new desktop" to just create one without asking
// for a name. This saves 12K or so of fltk input field code:
#define ASK_FOR_NEW_DESKTOP_NAME 1
// wm2 has no close box, for good reasons. Unfortunately too many programs
// assume there is one and have no other way to close a window. For a more
// "pure" implementation set this to zero:
#define CLOSE_BOX 1
// set this to zero to remove the minimize/window-shade button:
#define MINIMIZE_BOX 1
// If this is false the minimize button only changes the width of the
// window, so it acts like a Mac window shade. This was the original
// behavior, the new version makes it smaller vertically so it is just
// big enough to show the window title:
#define MINIMIZE_HEIGHT 1
// Read links from ~/.wmx to make menu items to run programs:
#define WMX_MENU_ITEMS 1
// Menu item to run a new xterm (if no wmx items found):
#define XTERM_MENU_ITEM 1
// Hotkeys (see Hotkeys.C for exactly what they do):
#define STANDARD_HOTKEYS 1 // alt+esc, alt+tab, alt+shift+tab
#define KWM_HOTKEYS 1 // ctrl+tab and ctrl+Fn for desktop switching
#define CDE_HOTKEYS defined(__sgi) // alt+fn do actions like raise/lower/close
#define WMX_HOTKEYS 1 // alt+up/down/enter/delete
#define WMX_DESK_HOTKEYS 0 // alt+left/right (conflict with Netscape)
#define DESKTOP_HOTKEYS 0 // alt+fn goes to desktop n
////////////////////////////////////////////////////////////////
// APPEARANCE:
// Color for active window title bar (also for selected menu items):
// If not defined, no active window title highlighting is done.
#if CLICK_TO_TYPE
#define ACTIVE_COLOR 0xF0F0F0
#endif
//#define ACTIVE_COLOR 0x000080
// thickness of the border edge on each side (includes XBORDER):
#define LEFT 3
#define RIGHT 4
#define TOP 3
#define BOTTOM 4
// font for titles (if not set, helvetica bold is used):
// If this name is specific enough the font size is ignored.
//#define TITLE_FONT "-*-helvetica-bold-r-normal--*"
#define TITLE_FONT_SIZE 12
// thickness of title bar (LEFT is added to it):
#define TITLE_WIDTH (TITLE_FONT_SIZE+3)
// size & position of buttons (must fit in title bar):
#define BUTTON_W TITLE_WIDTH
#define BUTTON_H BUTTON_W
#define BUTTON_LEFT LEFT
#define BUTTON_TOP TOP
#define BUTTON_BOTTOM BOTTOM
// how many pixels from edge for resize handle:
#define RESIZE_EDGE 5
// set this to zero to disable resizing by grabbing left edge:
#define RESIZE_LEFT 1
// must drag window this far off screen to snap the border off the screen:
#define EDGE_SNAP 50
// must drag window this far off screen to actually move it off screen:
#define SCREEN_SNAP 100
// button decorations:
#define CLOSE_X 1 // windoze-style X in close button
#define CLOSE_HITTITE_LIGHTNING 0 // The ancient Hittite symbol for lightning
#define ICONIZE_BOX 0 // small box in iconize button
#define MINIMIZE_ARROW 0 // minimize button draws a <- rather than |
// default colors for cursor:
#ifdef __sgi
#define CURSOR_FG_COLOR 0xff0000
#else
#define CURSOR_FG_COLOR 0x000000
#endif
#define CURSOR_BG_COLOR 0xffffff
// "Clock in the title bar" code contributed by Kevin Quick
// <kquick@iphase.com>:
// Add a clock to the active window's title bar using specified
// strftime fmt Note: in keeping with the minimalistic, fast, and
// small philosophy of the flwm, the clock will only be updated
// once/minute so any display of seconds is frivolous.
//#define SHOW_CLOCK "%I:%M %p %Z"
// We also support the concept of a clock alarm. The alarm is
// triggered by delivering SIGALRM to flwm and cleared by delivering
// SIGCONT to flwm. When the alarm is active, the foreground and
// background colors of the clock display are determined by the
// following settings. (The following are unused if SHOW_CLOCK is not
// defined).
#define ALARM_FG_COLOR 0x00ffff
#define ALARM_BG_COLOR 0xff0000
////////////////////////////////////////////////////////////////
// MENU APPEARANCE:
#define MAX_MENU_WIDTH 300
// size of the little pictures in the menu:
#define MENU_ICON_W 18
#define MENU_ICON_H 15
// font to use in menus (if not set helvetica is used):
//#define MENU_FONT "-*-helvetica-medium-r-normal--*"
#define MENU_FONT_SIZE 12
////////////////////////////////////////////////////////////////
// You probably don't want to change any of these:
#ifdef TITLE_FONT
#define TITLE_FONT_SLOT FL_FREE_FONT
#else
#define TITLE_FONT_SLOT FL_BOLD
#endif
#ifdef MENU_FONT
#define MENU_FONT_SLOT Fl_Font(FL_FREE_FONT+1)
#else
#define MENU_FONT_SLOT FL_HELVETICA
#endif
#define CURSOR_BG_SLOT Fl_Color(30)
#define CURSOR_FG_SLOT Fl_Color(31)