// 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 // : // 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)