1 // config.h
2 // You can edit these symbols to change the behavior & appearance of flwm.
3 // Turning off features will make flwm smaller too!
4 
5 //ML Start---
6 
7 // ML: My hotkeys (comment out to disable):
8 //	 CTRL+ALT+arrow keys: move window that direction 4 or more pixels
9 #define ML_HOTKEYS 1
10 
11 // ML: Use environment variable to set titlebar color:
12 #define ML_TITLEBAR_COLOR 1
13 
14 //-- End ML
15 
16 // BEHAVIOR:
17 
18 // Turn this on for click-to-type (rather than point-to-type).
19 // On: clicking on the window gives it focus
20 // Off: pointing at the window gives it the focus.
21 #define CLICK_TO_TYPE 1
22 
23 // Most window managers consider this and click-to-type equivalent.
24 // On: clicking anywhere on window raises it
25 // Off: you have to click on the border to raise window
26 #define CLICK_RAISES CLICK_TO_TYPE
27 
28 // For point-to-type, sticky focus means you don't lose the focus
29 // until you move the cursor to another window that wants focus.
30 // If this is off you lose focus as soon as the cursor goes outside
31 // the window (such as to the desktop):
32 // #define STICKY_FOCUS 1
33 
34 // For point-to-type, after this many seconds the window is raised,
35 // nothing is done if this is not defined:
36 // #define AUTO_RAISE 0.5
37 
38 // Perform "smart" autoplacement.
39 // New windows are put at positions where they cover as few existing windows
40 // as possible. A brute force algorithm is used, so it consumes quite a bit
41 // of CPU time.
42 #define SMART_PLACEMENT 1
43 
44 // set this to zero to remove the multiple-desktop code.  This will
45 // make flwm about 20K smaller
46 #define DESKTOPS 1
47 
48 // set this to zero for "new desktop" to just create one without asking
49 // for a name.  This saves 12K or so of fltk input field code:
50 #define ASK_FOR_NEW_DESKTOP_NAME 0
51 
52 // wm2 has no close box, for good reasons.  Unfortunately too many programs
53 // assume there is one and have no other way to close a window.  For a more
54 // "pure" implementation set this to zero:
55 #define CLOSE_BOX 1
56 
57 // set this to zero to remove the minimize/window-shade button:
58 #define MINIMIZE_BOX 1
59 
60 // If this is false the minimize button only changes the width of the
61 // window, so it acts like a Mac window shade.  This was the original
62 // behavior, the new version makes it smaller vertically so it is just
63 // big enough to show the window title:
64 #define MINIMIZE_HEIGHT 1
65 
66 // Read links from ~/.wmx to make menu items to run programs:
67 #define WMX_MENU_ITEMS 1
68 
69 // Menu item to run a new xterm (if no wmx items found):
70 #define XTERM_MENU_ITEM 1
71 
72 // Hotkeys (see Hotkeys.C for exactly what they do):
73 #define STANDARD_HOTKEYS 1 // alt+esc, alt+tab, alt+shift+tab
74 #define KWM_HOTKEYS 1	// ctrl+tab and ctrl+Fn for desktop switching
75 #define CDE_HOTKEYS defined(__sgi) // alt+fn do actions like raise/lower/close
76 #define WMX_HOTKEYS 1	// alt+up/down/enter/delete
77 #define WMX_DESK_HOTKEYS 0 // alt+left/right (conflict with Netscape)
78 #define DESKTOP_HOTKEYS 0 // alt+fn goes to desktop n
79 
80 ////////////////////////////////////////////////////////////////
81 // APPEARANCE:
82 
83 // Color for active window title bar (also for selected menu items):
84 // If not defined, no active window title highlighting is done.
85 #if CLICK_TO_TYPE
86 #define ACTIVE_COLOR 0xF0F0F0
87 #endif
88 //#define ACTIVE_COLOR 0x000008
89 
90 // thickness of the border edge on each side (includes XBORDER):
91 #define LEFT 3
92 #define RIGHT 4
93 #define TOP 3
94 #define BOTTOM 4
95 
96 // font for titles (if not set, helvetica bold is used):
97 // If this name is specific enough the font size is ignored.
98 // #define TITLE_FONT "-*-helvetica-medium-r-normal--*"
99 #define TITLE_FONT_SIZE 12
100 
101 // thickness of title bar (frame border thickness is added to it):
102 #define TITLE_WIDTH (TITLE_FONT_SIZE+1)
103 #ifdef TOPSIDE
104 #define TITLE_HEIGHT TITLE_WIDTH	//ML
105 #endif
106 
107 // size & position of buttons (must fit in title bar):
108 #ifdef TOPSIDE
109 #define BUTTON_W 		TITLE_HEIGHT
110 #define BUTTON_H 		BUTTON_W
111 #define BUTTON_LEFT 	LEFT
112 #define BUTTON_TOP 		TOP
113 #define BUTTON_RIGHT 	RIGHT
114 #else
115 #define BUTTON_W 		TITLE_WIDTH
116 #define BUTTON_H 		BUTTON_W
117 #define BUTTON_LEFT 	LEFT
118 #define BUTTON_TOP 		TOP
119 #define BUTTON_BOTTOM 	BOTTOM
120 #endif
121 
122 // how many pixels from edge for resize handle:
123 #define RESIZE_EDGE 5
124 // set this to zero to disable resizing by grabbing left/top edge:
125 //#define RESIZE_LEFT 1
126 #define RESIZE_TITLE_EDGE 1		// ML
127 
128 // must drag window this far off screen to snap the border off the screen:
129 #define EDGE_SNAP 50
130 // must drag window this far off screen to actually move it off screen:
131 #define SCREEN_SNAP 100
132 
133 // button decorations:
134 #define CLOSE_X 1	// windoze-style X in close button
135 #define CLOSE_HITTITE_LIGHTNING 0 // The ancient Hittite symbol for lightning
136 #define ICONIZE_BOX 1	// small box in iconize button
137 #define MINIMIZE_ARROW 1 // minimize button draws a <- rather than |
138 
139 // default colors for cursor:
140 #ifdef __sgi
141 #define CURSOR_FG_COLOR 0xff0000
142 #else
143 #define CURSOR_FG_COLOR 0x000000
144 #endif
145 #define CURSOR_BG_COLOR 0xffffff
146 
147 // "Clock in the title bar" code contributed by Kevin Quick
148 // <kquick@iphase.com>:
149 
150 // Add a clock to the active window's title bar using specified
151 // strftime fmt Note: in keeping with the minimalistic, fast, and
152 // small philosophy of the flwm, the clock will only be updated
153 // once/minute so any display of seconds is frivolous.
154 //#define SHOW_CLOCK "%I:%M %p %Z"
155 
156 // We also support the concept of a clock alarm.  The alarm is
157 // triggered by delivering SIGALRM to flwm and cleared by delivering
158 // SIGCONT to flwm.  When the alarm is active, the foreground and
159 // background colors of the clock display are determined by the
160 // following settings.  (The following are unused if SHOW_CLOCK is not
161 // defined).
162 #define ALARM_FG_COLOR 0x00ffff
163 #define ALARM_BG_COLOR 0xff0000
164 
165 ////////////////////////////////////////////////////////////////
166 // MENU APPEARANCE:
167 
168 #define MAX_MENU_WIDTH 300
169 
170 // size of the little pictures in the menu:
171 #define MENU_ICON_W 18
172 #define MENU_ICON_H 15
173 
174 // font to use in menus (if not set helvetica is used):
175 #define MENU_FONT "-*-helvetica-medium-r-normal--*"
176 #define MENU_FONT_SIZE 12
177 
178 ////////////////////////////////////////////////////////////////
179 // You probably don't want to change any of these:
180 
181 #ifdef TITLE_FONT
182 #define TITLE_FONT_SLOT FL_FREE_FONT
183 #else
184 #define TITLE_FONT_SLOT FL_BOLD
185 #endif
186 
187 #ifdef MENU_FONT
188 #define MENU_FONT_SLOT Fl_Font(FL_FREE_FONT+1)
189 #else
190 #define MENU_FONT_SLOT FL_HELVETICA
191 #endif
192 
193 #define CURSOR_BG_SLOT Fl_Color(30)
194 #define CURSOR_FG_SLOT Fl_Color(31)
195