]> git.phdru.name Git - dotfiles.git/blob - .fvwm/main.m4
Fix(xli): Fix window title
[dotfiles.git] / .fvwm / main.m4
1 ##########################################################################
2 # FVWM - F? Virtual Window Manager, Version 2.x (fvwm2) Configuration File
3 #
4
5 dnl The file is in m4 format, use FvwmM4 module to read it
6 dnl like this: ModuleSynchronous FvwmM4 -lock main.m4
7 dnl
8 dnl This is to prevent FvwmM4 to shadow $HOME
9 undefine(`HOME')dnl
10 dnl
11 dnl Echo dimension
12 `#' width = WIDTH()dnl
13 divert(-1)
14
15 dnl TrueType Fonts
16 define(`VERY_SMALL_FONT', `"xft:Liberation Mono:size=10"')
17 define(`SMALL_FONT', `"xft:Liberation Mono:size=12"')
18 define(`MEDIUM_FONT', `"xft:Liberation Mono:size=14"')
19 define(`BIG_FONT', `"xft:Liberation Mono:size=16"')
20 define(`LARGE_FONT', `"xft:Liberation Mono:size=18"')
21 define(`HUGE_FONT', `"xft:Liberation Mono:size=20"')
22 define(`GIGANTIC_FONT', `"xft:Liberation Mono:size=22"')
23
24 dnl Bold TT fonts
25 define(`SMALL_BOLD_FONT', SMALL_FONT`:Bold')
26 define(`MEDIUM_BOLD_FONT', MEDIUM_FONT`:Bold')
27 define(`BIG_BOLD_FONT', BIG_FONT`:Bold')
28
29 define(`TITLE_FONT', MEDIUM_FONT)
30 define(`ICON_FONT', LARGE_FONT)
31
32 dnl Font and geometry aliases that depend on whether the screen resolution is
33 dnl 800x600, 1024x768 or 1920x1200
34
35 define(`PAGER_GEOM',
36 ifelse(eval(WIDTH < 1024), 1, `365x100+0+0',
37        eval(WIDTH < 1920), 1, `365x100+0+0', `600x160+0+0'))
38
39 define(`SMALL_PAGER_FONT', ifelse(eval(WIDTH < 1920), 1, VERY_SMALL_FONT, SMALL_FONT))
40 define(`PAGER_FONT', ifelse(eval(WIDTH < 1920), 1, SMALL_FONT, BIG_FONT))
41 define(`BUTTONS_FONT', PAGER_FONT)
42
43
44 define(`MENU_FONT',
45 ifelse(eval(WIDTH < 1024), 1, BIG_FONT,
46        eval(WIDTH < 1920), 1, LARGE_FONT, GIGANTIC_FONT))
47 define(`IDENT_FONT', MENU_FONT)
48 define(`WIN_LIST_FONT', MENU_FONT)
49 define(`ICON_BOX_FONT', MENU_FONT)
50
51
52 dnl XSetBg message width and font
53 define(`TEXT_WIDTH',
54 ifelse(eval(WIDTH < 1024), 1, 70,
55        eval(WIDTH < 1920), 1, 75, 80))
56
57 define(`MESSAGE_FONT', `Nimbus Sans L 18')
58
59
60 dnl Terminal emulator
61 define(`TERM_GEOM',
62 ifelse(eval(WIDTH < 1024), 1, `80x25',
63        eval(WIDTH < 1920), 1, `80x30', `80x32'))
64
65 define(`TERM_GEOM_BOTLT', TERM_GEOM`+0-0')
66 define(`TERM_GEOM_BOTRT', TERM_GEOM`-0-0')
67
68 define(`TERM_GEOM_BIG',
69 ifelse(eval(WIDTH < 1024), 1, `96x30',
70        eval(WIDTH < 1920), 1, `112x32+2-0', `127x32+1-0'))
71
72
73 define(`TERM', `urxvt')
74 define(`TERM_KOI8', `Exec LC_CTYPE=ru_RU.KOI8-R exec TERM')
75 define(`TERM_RU_UTF8', `Exec LC_CTYPE=ru_RU.UTF-8 exec TERM -name URxvt')
76 define(`TERM_EN_UTF8', `Exec LC_CTYPE=en_US.UTF-8 exec TERM -name URxvt')
77 define(`TERM_HEB_UTF8', `Exec LC_CTYPE=he_IL.UTF-8 exec TERM -name URxvt')
78 define(`TERM_KOI8_BOTLT', `TERM_KOI8 -geometry TERM_GEOM_BOTLT')
79 define(`TERM_RU_UTF8_BOTLT', `TERM_RU_UTF8 -geometry TERM_GEOM_BOTLT')
80 define(`TERM_KOI8_BOTRT', `TERM_KOI8 -geometry TERM_GEOM_BOTRT')
81 define(`TERM_RU_UTF8_BOTRT', `TERM_RU_UTF8 -geometry TERM_GEOM_BOTRT')
82 define(`TERM_KOI8_BIG', `TERM_KOI8 -geometry TERM_GEOM_BIG')
83 define(`TERM_UTF8_BIG', `TERM_RU_UTF8 -geometry TERM_GEOM_BIG')
84
85
86 define(`SSH', `cgmem_nice 300 ssh')
87
88 define(`TERM_SSH', `$1 -e SSH $2')
89
90 define(`TERM_TITLE_SSH', `$1 -title "$3" -n "$3" -e SSH $2')
91
92 define(`TERM_KOI8_SSH',
93 `TERM_TITLE_SSH(`TERM_KOI8', $1, $2)')
94
95 define(`SSH_SCREEN_KOI8',
96 `SSH -t $1 TZ="$(cat /etc/timezone)" exec /usr/bin/screen -xRR -S default-koi8')
97 define(`SSH_SCREEN_UTF8',
98 `SSH -t $1 TZ="$(cat /etc/timezone)" exec /usr/bin/screen -xRR -S default-utf8')
99
100 define(`TERM_TITLE_SSH_SCREEN_KOI8',
101 `$1 -title "$3 scr" -n "$3 scr" -e SSH_SCREEN_KOI8($2)')
102
103 define(`TERM_TITLE_SSH_SCREEN_UTF8',
104 `$1 -title "$3 scr" -n "$3 scr" -e SSH_SCREEN_UTF8($2)')
105
106 define(`MENU_TERM_KOI8_SSH',
107 `"$2 (koi8)" TERM_KOI8_SSH($1, $2)')
108
109 define(`TERM_KOI8_BOTLT_SSH',
110 `TERM_TITLE_SSH(`TERM_KOI8_BOTLT', $1, $2)')
111
112 define(`TERM_KOI8_BOTRT_SSH',
113 `TERM_TITLE_SSH(`TERM_KOI8_BOTRT', $1, $2)')
114
115 define(`MENU_TERM_KOI8_BOTLT_SSH',
116 `"$2 (btlt,koi8)" TERM_KOI8_BOTLT_SSH($1, $2)')
117
118 define(`MENU_TERM_KOI8_BOTRT_SSH',
119 `"$2 (btrt,koi8)" TERM_KOI8_BOTRT_SSH($1, $2)')
120
121 define(`TERM_KOI8_SSH_SCREEN',
122 `TERM_TITLE_SSH_SCREEN_KOI8(`TERM_KOI8', $1, $2)')
123
124 define(`MENU_TERM_KOI8_SSH_SCREEN',
125 `"$2 (koi8,scr)" TERM_TITLE_SSH_SCREEN_KOI8(`TERM_KOI8', $1, $2)')
126
127 define(`TERM_KOI8_BOTLT_SSH_SCREEN',
128 `TERM_TITLE_SSH_SCREEN_KOI8(`TERM_KOI8_BOTLT', $1, $2)')
129
130 define(`TERM_KOI8_BOTRT_SSH_SCREEN',
131 `TERM_TITLE_SSH_SCREEN_KOI8(`TERM_KOI8_BOTRT', $1, $2)')
132
133 define(`MENU_TERM_KOI8_BOTLT_SSH_SCREEN',
134 `"$2 (btlt,koi8,scr)" TERM_KOI8_BOTLT_SSH_SCREEN($1, $2)')
135
136 define(`MENU_TERM_KOI8_BOTRT_SSH_SCREEN',
137 `"$2 (btrt,koi8,scr)" TERM_KOI8_BOTRT_SSH_SCREEN($1, $2)')
138
139 define(`TERM_UTF8_SSH',
140 `TERM_TITLE_SSH(`TERM_RU_UTF8', $1, $2)')
141
142 define(`MENU_TERM_UTF8_SSH',
143 `"$2 (utf8)" TERM_UTF8_SSH($1, $2)')
144
145 define(`TERM_UTF8_BOTLT_SSH',
146 `TERM_TITLE_SSH(`TERM_RU_UTF8_BOTLT', $1, $2)')
147
148 define(`TERM_UTF8_BOTRT_SSH',
149 `TERM_TITLE_SSH(`TERM_RU_UTF8_BOTRT', $1, $2)')
150
151 define(`MENU_TERM_UTF8_BOTLT_SSH',
152 `"$2 (btlt,utf8)" TERM_UTF8_BOTLT_SSH($1, $2)')
153
154 define(`MENU_TERM_UTF8_BOTRT_SSH',
155 `"$2 (btrt,utf8)" TERM_UTF8_BOTRT_SSH($1, $2)')
156
157 define(`TERM_UTF8_SSH_SCREEN',
158 `TERM_TITLE_SSH_SCREEN_UTF8(`TERM_RU_UTF8', $1, $2)')
159
160 define(`MENU_TERM_UTF8_SSH_SCREEN',
161 `"$2 (utf8,scr)" TERM_UTF8_SSH_SCREEN($1, $2)')
162
163 define(`TERM_UTF8_BOTLT_SSH_SCREEN',
164 `TERM_TITLE_SSH_SCREEN_UTF8(`TERM_RU_UTF8_BOTLT', $1, $2)')
165
166 define(`TERM_UTF8_BOTRT_SSH_SCREEN',
167 `TERM_TITLE_SSH_SCREEN_UTF8(`TERM_RU_UTF8_BOTRT', $1, $2)')
168
169 define(`MENU_TERM_UTF8_BOTLT_SSH_SCREEN',
170 `"$2 (btlt,utf8,scr)" TERM_UTF8_BOTLT_SSH_SCREEN($1, $2)')
171
172 define(`MENU_TERM_UTF8_BOTRT_SSH_SCREEN',
173 `"$2 (btrt,utf8,scr)" TERM_UTF8_BOTRT_SSH_SCREEN($1, $2)')
174
175 define(`TERM_KOI8_BIG_SSH',
176 `TERM_KOI8_BIG -title "$2" -n "$2" -e SSH "$1"')
177
178 define(`MENU_TERM_KOI8_BIG_SSH',
179 `"$2 (koi8)" TERM_KOI8_BIG_SSH($1, $2)')
180
181 define(`TERM_KOI8_BIG_SSH_SCREEN',
182 `TERM_KOI8_BIG -title "$2" -n "$2" -e SSH_SCREEN_KOI8 "$1"')
183
184 define(`MENU_TERM_KOI8_BIG_SSH_SCREEN',
185 `"$2 (koi8,scr)" TERM_KOI8_BIG_SSH_SCREEN($1, $2)')
186
187 divert
188
189 ##########################################################################
190 # PATH Setup
191 #
192 # Colon seperated unix directory paths for Modules, xpm files, and bitmaps
193 #ModulePath /usr/lib/fvwm
194 ImagePath /usr/share/icons/hicolor/32x32/apps/:/usr/share/pixmaps/fvwm:/usr/share/pixmaps:/usr/include/X11/bitmaps #:/usr/local/firefox/browser/chrome/icons/default:/usr/local/firefox/browser/icons
195
196 ############################################################################
197 # COLORS and FONTS
198 #
199 # Set the fore and back border colors for the window that has focus
200 Style * HilightFore Black, HilightBack #c06077
201
202 # Set fore/back border colors for all other windows
203 Style * Color Black/#60a0c0
204
205 # Set colors/font for pop-up menus
206 # Syntax: MenuStyle forecolor backcolor shadecolor font style(fvwm/mwm)
207 MenuStyle * FVWM, Foreground Black, Background grey, Greyed SlateGrey, Font MENU_FONT
208
209 # Set fonts to use on title bar and icon label
210 Style * Font              TITLE_FONT
211
212 ############################################################################
213 # ICON Setup
214 #
215 # If you don't want icons for some or all windows (or all of them!)
216 # Style * !Icon
217
218 # If you want ALL icons to follow you around the desktop (Sticky)
219 #Style * StickyIcon
220
221 # Auto Place Icons is a nice feature (Left Top Right Bottom)
222 #Style * IconBox 10 -75 -10 -0
223
224 Style * IconFont          ICON_FONT
225
226 ############################################################################
227 # FOCUS Setup
228 #
229 # Does the window with focus control the colormap, or the one under the mouse
230 ColormapFocus FollowsMouse
231
232 # Uncomment this to force you to click in a window to give it focus
233 #Style * ClickToFocus
234
235 # default: focus follows mouse
236 #Style * MouseFocus
237 #Style * FocusFollowsMouse
238
239 # If you knock your mouse out of the term, it keeps focus while in root window
240 Style *           SloppyFocus
241
242 ############################################################################
243 # MISC Setup
244 #
245 # click/release must occur in <n milliseconds to be a "click"
246 ClickTime 250
247
248 # if the window occupies less than n% of the screen, draw it opaque
249 OpaqueMoveSize 100
250
251 # Do not flip pages on the edge of the screen, but allow to move windows
252 EdgeScroll 0 0
253 EdgeResistance 10000
254 Style * EdgeMoveDelay 500
255 Style * EdgeMoveResistance 100
256
257 # MWM Emulation: Don't ignore hints for functions and transient decoration
258 #Style * MWMFunctions, MWMDecor, MWMButtons, MWMMenus
259 Style * MWMFunctions, MWMDecor, MWMButtons
260
261 # Changes the look of the "rubberband" you see when moving windows (0 - 255)
262 XORvalue 80
263
264 ###########################################################################
265 # PAGER Setup
266 #
267 # set the desk top size in units of physical screen size (width x height)
268 DesktopSize 2 2
269
270 ############################################################################
271 # WINDOW Placement
272 #
273 Style * PositionPlacement Center
274
275 ############################################################################
276 # STYLE Flag Setup
277 #
278 # (decorations and window options)
279 # Note: Order is important!! If compatible styles are set, styles are ORed
280 # together. If conflicting styles are set, the last one specified is used.
281
282 # change the default width, set a global icon, and give borders to popups
283 Style * BorderWidth 5, HandleWidth 5, Icon unknown1.xpm
284 Style * DecorateTransient, ClickToFocusRaisesOff
285
286 Style "Fvwm*"           !Title, Sticky, WindowListSkip
287 Style "FvwmButtons"     !Handles, BorderWidth 0, Layer 2
288 Style "FvwmPager"       Layer 2
289
290 # Terminals
291 Style "*term"           Icon term.xpm
292 Style "*rxvt"           Icon term.xpm
293
294 # Browsers' windows
295 Style "Certificate Manager" PositionPlacement Center
296 Style "*Downloads"      PositionPlacement 50-50w +5
297 Style "*Mozilla*"       PositionPlacement +0 -0
298
299 Style "*Chromium*"      PositionPlacement +0 -0
300
301 # Video player(s)
302 Style "*mpv"            Layer 6, PositionPlacement 200p 150p
303
304 Style "*clock"          !Title, Sticky, WindowListSkip, Color Black/#40c040, NeverFocus, PositionPlacement 50-50w +1p, Layer 2
305 Style "deadbeef"        PositionPlacement -0 -0
306 Style "gxmessage"       PositionPlacement 50-50w +20
307 Style "*lock"           !Title, Sticky, WindowListSkip
308 Style "Mosaic"          NoPPosition
309 Style "xbiff"           Icon mail1.xpm, !Title, Sticky, WindowListSkip
310 Style "xcalc"           Icon xcalc.xpm
311 Style "xconsole"        !Title, Sticky, WindowListSkip, NeverFocus
312 Style "xload"           !Title, Sticky, WindowListSkip, NeverFocus
313 Style "xman"            Icon xman.xpm
314 Style "xmh"             Icon mail2.xpm
315 Style "xsession"        !Title, Sticky, WindowListSkip, ClickToFocus
316 Style "XXkb"            !Title, !Borders, Sticky, WindowListSkip, Layer 5
317
318 ############################################################################
319 # BUTTON Setup
320 #
321
322 ## Buttons actually being used (duplicated below)
323 # small up triangle
324 #ButtonStyle 2 4 50x35@1 65x65@0 35x65@0 50x35@1
325 # small down triangle
326 #ButtonStyle 4 4 50x65@1 35x35@1 65x35@1 50x65@0
327 # Stylized X
328 #ButtonStyle 3 16 20x20@1 30x20@1 50x40@1 70x20@1 80x20@1 80x30@0 60x50@0 80x80@0 70x80@0 50x60@0 30x80@0 20x80@0 20x70@0 40x50@1 20x30@0 20x20@1
329
330 ## Triangles
331 #
332 # Small up Triangle
333 # ButtonStyle * 4 50x35@1 65x65@0 35x65@0 50x35@1
334 # Small down Triangle
335 #ButtonStyle * 4 50x65@1 35x35@1 65x35@1 50x65@0
336 # Large up Triangle
337 #ButtonStyle 6 4 50x25@1 75x75@0 25x75@0 50x25@1
338 # Large down Triangle
339 #ButtonStyle 8 4 50x75@1 25x25@1 75x25@1 50x75@0
340
341 ## Boxes
342 #
343 # Big Box
344 ButtonStyle 4 5 25x25@1 25x75@1 75x75@0 75x25@0 25x25@1
345 # Little Box
346 ButtonStyle 5 5 40x40@1 60x40@1 60x60@0 40x60@0 40x40@1
347 # Tall Box
348 #ButtonStyle 7 5 40x25@1 60x25@1 60x75@0 40x75@0 40x25@1
349 # Dot
350 #ButtonStyle 5 5 45x45@1 55x45@1 55x55@0 45x55@0 45x45@1
351 # Big Box with arrow (left-up to right-down) to little box (iconify)
352 #ButtonStyle 6 14 20x20@1 20x70@1 70x70@0 70x20@0 20x20@1 60x60@0 60x50@0 60x60@0 50x60@0 60x60@0 60x80@0 80x80@0 80x60@0 60x60@0
353 # Big Box with arrow (right-up to left-down) to little box (iconify)
354 ButtonStyle 6 14 70x20@0 70x70@0 20x70@1 20x20@1 70x20@1 30x60@0 30x50@0 30x60@0 40x60@0 30x60@0 30x80@0 10x80@0 10x60@0 30x60@0
355
356 ## X's
357 #
358 # Standard X
359 #ButtonStyle 3 17 20x20@1 30x20@1 50x40@1 70x20@1 80x20@1 80x30@0 60x50@0 80x70@1 80x80@0 70x80@0 50x60@0 30x80@0 20x80@0 20x70@0 40x50@1 20x30@0 20x20@1
360 ButtonStyle 2 17 20x20@1 30x20@1 50x40@1 70x20@1 80x20@1 80x30@0 60x50@0 80x70@1 80x80@0 70x80@0 50x60@0 30x80@0 20x80@0 20x70@0 40x50@1 20x30@0 20x20@1
361 # Funky X
362 #ButtonStyle 3 13 26x29@1 34x21@1 50x35@1 70x21@1 79x29@1 63x48@0 79x65@1 70x75@0 50x61@0 34x75@0 26x65@0 44x48@1 26x29@0
363 # Stylized X
364 #ButtonStyle 3 16 20x20@1 30x20@1 50x40@1 70x20@1 80x20@1 80x30@0 60x50@0 80x80@0 70x80@0 50x60@0 30x80@0 20x80@0 20x70@0 40x50@1 20x30@0 20x20@1
365
366 ## Lightning Bolts
367 #
368 # Small Lightning Bolt (skinny at both ends)
369 #ButtonStyle 5 7 70x15@0 30x55@1 50x55@0 40x85@1 80x45@0 60x45@1 70x15@0
370 # Big Lighting Bolt (Fat at top, comes to a point)
371 #ButtonStyle 6 8 35x15@1 20x50@1 40x50@0 30x80@1 75x40@0 50x40@1 75x15@0 35x15@1
372
373 ## Miscellaneous Buttons
374 #
375 # Nested Right Angles (looks kinda crappy)
376 #ButtonStyle 5 13 10x0@1 80x0@1 80x10@1 80x80@0 0x80@0 0x60@1 10x65@1 70x65@0 70x0@0 55x0@1 55x10@1 55x55@0 10x55@0
377 # Nested Right Angles (looks nice)
378 #ButtonStyle 6 14 0x0@1 0x20@1 20x20@0 20x0@0 0x0@1 0x25@1 25x25@1 25x0@1 55x0@1 55x55@0 0x55@0 0x60@1 60x60@1 60x0@1
379 # 4 Horizontal bars (sticky)
380 #ButtonStyle 7 12 10x23@0 90x23@0 90x28@0 10x28@1 10x47@1 90x47@0 90x52@0 10x52@1 10x70@2 90x70@0 90x76@0 10x76@1
381 ButtonStyle 3 12 10x23@0 90x23@0 90x28@0 10x28@1 10x47@1 90x47@0 90x52@0 10x52@1 10x70@2 90x70@0 90x76@0 10x76@1
382 # Expanding Windows (iconify -- looks NICE)
383 #ButtonStyle 8 16 60x40@1 60x80@0 15x80@0 15x40@1 60x40@1 40x40@1 40x25@1 75x25@1 75x60@0 60x60@0 75x60@0 75x40@0 85x40@0 85x15@0 60x15@1 60x25@1
384
385 ## Arrows Galore
386 #
387 # Up Arrow
388 #ButtonStyle 3 8 40x80@1 40x50@1 20x50@1 50x20@1 80x50@0 60x50@0 60x80@0 40x80@0
389 # Down Arrow
390 #ButtonStyle 3 8 40x20@1 40x50@1 20x50@1 50x80@1 80x50@0 60x50@0 60x20@0 40x20@1
391 # Left arrow  ( <- )
392 #ButtonStyle 7 8 80x40@1 50x40@1 50x20@1 20x50@1 50x80@0 50x60@0 80x60@0 80x40@0
393 # Right arrow ( -> )
394 #ButtonStyle 8 8 20x40@1 50x40@1 50x20@1 80x50@1 50x80@0 50x60@0 20x60@0 20x40@1
395 # Horizontal Line with arrowheads on left and right ( <-> )
396 #ButtonStyle * 12 10x50@1 35x25@1 35x40@1 65x40@1 65x25@1 90x50@1 65x75@0 65x60@0 35x60@0 35x75@0 10x50@0 10x50@1
397 # Vertical Line with arrowheads on top and bottom
398 #ButtonStyle * 12 50x10@1 25x35@1 40x35@1 40x60@1 25x60@1 50x85@1 75x60@0 60x60@0 60x35@0 75x35@0 50x10@0 50x10@1
399 # Diagonal Line with arrowheads on top and bottom ( / )
400 #ButtonStyle 5 11 80x15@1 45x15@1 55x25@1 25x55@1 15x45@1 15x80@1 50x80@0 40x70@0 70x40@0 80x50@0 80x15@0
401 # Diagonal Line with arrowheads on top and bottom ( \ )
402 #ButtonStyle 6 12 55x15@0 45x25@0 75x55@0 85x45@0 85x80@0 50x80@0 60x70@1 30x40@1 20x50@1 20x15@1 55x15@1 55x15@0
403 #
404 # the number "2"
405 #ButtonStyle 8 12 80x80@0 22x80@0 80x40@0 70x25@0 30x25@0 20x35@0 20x30@1 30x20@1 70x20@1 80x30@1 20x75@1 80x75@1
406
407 ############################################################################
408 # MOUSE Setup
409 #
410 # First, the root window. Button 1 brings up the Main Menu. B2 is the
411 # window operations list, and B3 is the winlist module
412 #     Button    Context Modifi  Function
413 Mouse 1         R       A       Menu RootMenu Nop
414 Mouse 2         R       A       Menu Window-Ops Nop
415 Mouse 3         R       A       WindowList
416
417 # Now, title bar buttons
418 # Left button is the Window-Ops2 menu
419 #     Button    Context Modifi  Function
420 Mouse 0         1       A       Menu Window-Ops2 Close
421 Mouse 0         3       A       Stick
422 Mouse 0         5       A       Center
423 # Right buttonsare iconify/maximize, rightmost is close
424 Mouse 0         2       A       Close
425 Mouse 0         4       A       Maximize toggle
426 Mouse 0         6       A       Iconify
427
428 # Button 1 in Frame or Sides is a resize-or-raise, in Icons is a move or
429 # de-iconify, and on Top does a move-or-raise
430 #     Button    Context Modifi  Function
431 Mouse 1         F       A       Resize-or-Raise
432 Mouse 1         S       A       Move-or-Raise
433 Mouse 1         I       A       Move-or-Iconify
434 #Mouse 1                T       A       Move-or-Raise
435 Mouse 1         T       A       Shadify
436
437 # Button 2 in an Icon is de-iconify, in Corners/Sides/Titlebar gets Ops Menu
438 #     Button    Context Modifi  Function
439 Mouse 2         I       A       Iconify
440 Mouse 2         FST     A       Menu Window-Ops2 Nop
441
442 # Button 3 does a raise-lower on anything
443 Mouse 3         TSIF    A       RaiseLower
444
445 ############################################################################
446 # KEYBOARD Setup
447
448 #
449 # press arrow + control + meta anywhere, and scroll by 1 page
450 Key Left        A       CM      Scroll -100 +0
451 Key Right       A       CM      Scroll +100 +0
452 Key Up          A       CM      Scroll +0   -100
453 Key Down        A       CM      Scroll +0   +100
454
455 # press arrow + meta key, and scroll by 1/10 of a page
456 Key Left        A       M       Scroll -10   +0
457 Key Right       A       M       Scroll +10   +0
458 Key Up          A       M       Scroll  +0  -10
459 Key Down        A       M       Scroll  +0  +10
460
461 # press shift arrow + control anywhere, and move the pointer by 1% of a page
462 Key Left        A       SC      CursorMove -1  +0
463 Key Right       A       SC      CursorMove +1  +0
464 Key Up          A       SC      CursorMove +0  -1
465 Key Down        A       SC      CursorMove +0  +1
466
467 # press shift arrow + meta key, and move the pointer by 1/10 of a page
468 Key Left        A       SM      CursorMove -10  +0
469 Key Right       A       SM      CursorMove +10  +0
470 Key Up          A       SM      CursorMove +0  -10
471 Key Down        A       SM      CursorMove +0  +10
472
473 # Switch window, mswindows style :)
474 Key Tab         A       M       Next [*] focus
475 Key Escape      A       M       Prev [*] focus
476
477 # Goto desktop/page
478 Key 1           A       CM      Desk 0 0
479 Key 2           A       CM      Desk 0 1
480 Key 3           A       CM      Desk 0 2
481 Key 4           A       CM      Desk 0 3
482 Key 5           A       CM      GotoPage 0 0
483 Key 6           A       CM      GotoPage 1 0
484 Key 7           A       CM      GotoPage 0 1
485 Key 8           A       CM      GotoPage 1 1
486
487 #############################################################################
488 # START-UP Functions
489 #
490 DestroyFunc InitFunction
491 AddToFunc InitFunction
492 +              I Module FvwmBacker
493 +              I Module FvwmButtons
494 +              I Module FvwmCommandS
495 +              I Module FvwmPager 0 2
496
497 DestroyFunc RestartFunction
498 AddToFunc RestartFunction
499 +              I Module FvwmBacker
500 +              I Module FvwmButtons
501 +              I Module FvwmCommandS
502 +              I Module FvwmPager 0 2
503 +              I Schedule 1000 Raise-All
504
505 DestroyFunc UrgencyFunc
506 AddToFunc UrgencyFunc
507 +                             I Iconify off
508 +                             I ThisWindow ("*Downloads|Skype") Break 1
509 +                             I FlipFocus
510 +                             I Raise
511 +                             I WarpToWindow 5p 5p
512
513 DestroyFunc StartStandardSession
514 AddToFunc StartStandardSession
515 +              I GotoDeskAndPage 0 0 0
516 +              I TERM_KOI8
517 +              I Wait TERM
518 +              I Exec exec cgmem_nice 200 pulseaudio --start
519 +              I PaVuControl
520 +              I Exec exec "$HOME"/current/projects/audio-cdr-video/audio/pa-mic-off
521 +              I XsetbgFilename
522 +              I Wait gxmessage
523 +              I GotoDeskAndPage 2 0 1
524 +              I TERM_KOI8_BIG
525 +              I Wait TERM
526 +              I Term2HostsHome
527 +              I FireFox
528
529 DestroyFunc ResumeFunction
530 AddToFunc ResumeFunction
531 +              I GotoDeskAndPage 0 0 0
532 +              I TERM_KOI8
533 +              I Wait TERM
534 +              I Exec exec cgmem_nice 200 pulseaudio --start
535 +              I None ("Volume Control") PaVuControl
536 +              I Exec sleep 10; exec "$HOME"/current/projects/audio-cdr-video/audio/pa-mic-off
537 +              I XsetbgFilename
538 +              I Wait gxmessage
539 +              I Term2HostsHome
540 +              I Any ("*Mozilla Firefox") GotoDeskAndPage 0 1 1
541 +              I TestRc (Match) Break 1
542 +              I None ("*Mozilla Firefox") FireFox
543
544 ############################################################################
545 # COMPLEX FUNCTIONS
546 #
547 DestroyFunc Center
548 AddToFunc Center                I Move 50-50w 50-50w
549 +                               I WarpToWindow 74p 18p
550
551 DestroyFunc Iconify-and-Raise
552 AddToFunc Iconify-and-Raise     I Iconify
553 +                               I Raise
554
555 DestroyFunc Maximize-Func
556 AddToFunc Maximize-Func         C Maximize     toggle
557 +                               D Maximize     100 100
558
559 DestroyFunc Move-or-Iconify
560 AddToFunc Move-or-Iconify       I Raise
561 +                               M Move
562 +                               D Iconify
563
564 DestroyFunc Move-or-Raise
565 AddToFunc Move-or-Raise         I Raise
566 +                               M Move
567 +                               D Lower
568
569 DestroyFunc Move-or-Raise2
570 AddToFunc Move-or-Raise2        M Raise
571 +                               M Move
572 +                               D Lower
573
574 DestroyFunc Resize-or-Raise
575 AddToFunc Resize-or-Raise       I Raise
576 +                               M Resize
577 +                               D Lower
578
579 DestroyFunc Resize-or-Raise2
580 AddToFunc Resize-or-Raise2      M Raise
581 +                               M Resize
582 +                               D Lower
583
584 DestroyFunc Shadify
585 AddToFunc Shadify               D WindowShade
586 +                               M Move
587 +                               C RaiseLower
588
589 DestroyFunc warp-or-run
590 AddToFunc warp-or-run           I Next [$0 CirculateHit] Iconify -1
591 +                               I Next [$0 CirculateHit] Focus
592 +                               I None [$0] $1
593
594 DestroyFunc MailFunction
595 AddToFunc MailFunction          I Next [$0] Iconify -1
596 +                               I Next [$0] focus
597 +                               I None [$0] Exec exec $0 $1
598
599 DestroyFunc PrintFunction
600 AddToFunc PrintFunction         I Raise
601 +                               I Exec exec xdpr -id $w
602
603 DestroyFunc Raise-All
604 AddToFunc Raise-All           I All Raise
605
606 ##############################################################################
607 # User-defined functions
608 #
609
610 DestroyFunc PaVuControl
611 AddToFunc PaVuControl         I GotoDeskAndPage 0 1 1
612 +                             I Exec exec pulseaudio --kill
613 +                             I Exec exec cgmem_nice 200 pulseaudio --start
614 +                             I Exec exec cgmem_nice 200 pavucontrol
615 +                             I Wait "Volume Control"
616
617 changequote(`[[[',`]]]')dnl
618 DestroyFunc Id3Info
619 AddToFunc Id3Info             I Exec "$HOME"/lib/audio/mp3/id3info.py "`audtool --current-song-filename`" | text-wrap.py | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -
620 changequote([`], ['])dnl
621
622 DestroyFunc Term2HostsHome
623 AddToFunc Term2HostsHome      I GotoDeskAndPage 1 1 2
624 +                             I PipeRead 'test -n "$(ip address show tun0 up 2>/dev/null)" || test -n "$(ip address show wg0 up 2>/dev/null)" || { echo Exec exec gxmessage -buttons Ok -default Ok "ERROR: Cannot find tun0/wg0 interfaces!"; echo Wait gxmessage; echo Break 1; }'
625 +                             I TERM_KOI8_SSH_SCREEN(iskra-aviel.phdru.name, iskra)
626 +                             I Wait TERM
627 +                             I GotoDeskAndPage 1 0 1
628 +                             I TERM_KOI8_SSH_SCREEN(-D 1080 phdru.name, phdru.name)
629 +                             I Wait TERM
630 +                             I GotoDeskAndPage 1 1 2
631
632 DestroyFunc FireFox
633 AddToFunc FireFox             I Any ("*Mozilla Firefox") Break 1
634 +                             I GotoDeskAndPage 1 0 0
635 +                             I Exec LC_CTYPE=ru_RU.KOI8-R exec cgmem_nice 4000 start-browser firefox -P phd
636 +                             I Wait "*Mozilla Firefox"
637
638 DestroyFunc SuspendFireFox
639 AddToFunc SuspendFireFox      I Exec exec pkill -STOP firefox
640 +                             I All ("*Mozilla Firefox") Iconify True
641
642 DestroyFunc ResumeFireFox
643 AddToFunc ResumeFireFox       I Exec exec pkill -CONT firefox
644 +                             I All ("*Mozilla Firefox") Iconify False
645
646 DestroyFunc Chromium
647 AddToFunc Chromium            I Any ("*Chromium") Break 1
648 +                             I GotoDeskAndPage 1 1 0
649 +                             I Exec LC_CTYPE=ru_RU.KOI8-R exec cgmem_nice 2000 start-browser chromium
650 +                             I Wait "*Chromium"
651
652 DestroyFunc Gajim
653 AddToFunc Gajim               I GotoDeskAndPage 1 1 0
654 +                             I Exec exec cgmem_nice 300 gajim
655
656 DestroyFunc Pidgin
657 AddToFunc Pidgin              I GotoDeskAndPage 1 1 0
658 +                             I Exec exec cgmem_nice 300 pidgin
659
660 DestroyFunc Skype
661 AddToFunc Skype               I GotoDeskAndPage 0 0 1
662 +                             I Exec BROWSER=firefox exec cgmem_nice 2000 skypeforlinux
663
664 DestroyFunc XFilename
665 AddToFunc XSetbgFilename      I Exec "$HOME"/current/projects/xsetbg/print-filename.py | text-wrap.py -w TEXT_WIDTH -s | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -
666
667 ##############################################################################
668 # MENU Setup
669 #
670
671 # This defines the most common window operations
672 AddToMenu Window-Ops    "Window Ops"    Title
673 +                       "Center"        Center
674 +                       "Move"          Move-or-Raise2
675 +                       "Resize"        Resize-or-Raise2
676 +                       "Raise"         Raise
677 +                       "Lower"         Lower
678 +                       "(De)Iconify"   Iconify
679 +                       "(Un)Stick"     Stick
680 +                       "(Un)Maximize"  maximize_func
681 +                       ""              Nop
682 +                       "Delete"        Delete
683 +                       "Close"         Close
684 +                       "Destroy"       Destroy
685 +                       ""              Nop
686 +                       "Refresh Screen" Refresh
687
688 # A trimmed down version of "Window Ops", good for binding to decorations
689 DestroyMenu Window-Ops2
690 AddToMenu Window-Ops2   "Center"        Center
691 +                       "Move"          Move-or-Raise
692 +                       "Iconify"       Iconify
693 +                       "(Un)Stick"     Stick
694 +                       "Refresh"       RefreshWindow
695 +                       ""              Nop
696 +                       "Close"         Close
697 +                       "Delete"        Delete
698 +                       "Destroy"       Destroy
699 +                       ""              Nop
700 +                       "Resize"        Resize-or-Raise
701 +                       "Shade"         WindowShade
702 +                       "Raise/Lower"   RaiseLower
703 +                       ""              Nop
704 +                       "ScrollBar"     Module FvwmScroll 2 2
705 +                       "Print"         PrintFunction
706
707 AddToMenu Terminals     "Terminals" Title
708 +               "Grey term (koi8)" TERM_KOI8
709 +               "Grey term (utf8)" TERM_RU_UTF8
710 +               "Grey term (heb-utf8)" TERM_HEB_UTF8
711 +               "Grey term (btlt,koi8)" TERM_KOI8_BOTLT
712 +               "Grey term (btrt,koi8)" TERM_KOI8_BOTRT
713 +               "Grey term (btlt,utf8)" TERM_RU_UTF8_BOTLT
714 +               "Grey term (btrt,utf8)" TERM_RU_UTF8_BOTRT
715 +               "Big grey term (koi8)" TERM_KOI8_BIG
716 +               "Big grey term (utf8)" TERM_UTF8_BIG
717 +                       ""      Nop
718 +               "White/black term (koi8)" TERM_KOI8 -fg white -cr white -bg black
719 +               "White/black term (utf8)" TERM_RU_UTF8 -fg white -bg black
720
721 AddToMenu TermColors    "Term Colors" Title
722 +                       "Term: black/mediumturquoise" TERM_KOI8 -fg black -cr black -bg mediumturquoise
723 +                       "Term: black/lightseagreen" TERM_KOI8 -fg black -cr black -bg lightseagreen
724 +                       ""      Nop
725 +                       "Term: black/lightsteelblue" TERM_KOI8 -fg black -cr black -bg lightsteelblue
726 +                       "Term: black/lightblue3" TERM_KOI8 -fg black -cr black -bg lightblue3
727 +                       ""      Nop
728 +                       "Term: black/lightgoldenrod" TERM_KOI8 -fg black -cr black -bg lightgoldenrod
729 +                       "Term: black/rosybrown1" TERM_KOI8 -fg black -cr black -bg rosybrown1
730 +                       "Term: black/pink1" TERM_KOI8 -fg black -cr black -bg pink1
731 +                       ""      Nop
732 +                       "Term: white/orchid4" TERM_KOI8 -fg white -cr white -bg orchid4
733 +                       "Term: white/purple3" TERM_KOI8 -fg white -cr white -bg purple3
734 +                       "Term: white/purple4" TERM_KOI8 -fg white -cr white -bg purple4
735 +                       ""      Nop
736 +                       "Term: white/lightslategrey" TERM_KOI8 -fg white -cr white -bg lightslategrey
737 +                       "Term: white/navyblue" TERM_KOI8 -fg white -cr white -bg navyblue
738 +                       "Term: white/mediumblue" TERM_KOI8 -fg white -cr white -bg mediumblue
739 +                       "Term: white/steelblue" TERM_KOI8 -fg white -cr white -bg steelblue
740 +                       ""      Nop
741 +                       "Term: white/forestgreen" TERM_KOI8 -fg white -cr white -bg forestgreen
742 +                       "Term: white/rosybrown" TERM_KOI8 -fg white -cr white -bg rosybrown
743 +                       "Term: white/deeppink" TERM_KOI8 -fg white -cr white -bg deeppink
744 +                       "Term: white/black" TERM_KOI8 -fg white -cr white -bg black
745
746 AddToMenu Systems       "Systems" Title
747 +                       "Iskra+Phdru" Term2HostsHome
748 +                       ""        Nop
749 pushdef(`TERM_KOI8', `Exec LC_CTYPE=ru_RU.KOI8-R exec TERM -xrm "*Page: 1 1 1"')dnl
750 pushdef(`TERM_RU_UTF8', `Exec LC_CTYPE=ru_RU.UTF-8 exec TERM -name URxvt -xrm "*Page: 1 1 1"')dnl
751 +                       MENU_TERM_KOI8_SSH_SCREEN(iskra-aviel.phdru.name, iskra)
752 +                       MENU_TERM_UTF8_BOTLT_SSH(iskra-aviel.phdru.name, iskra)
753 +                       MENU_TERM_KOI8_BIG_SSH(iskra-aviel.phdru.name, ISKRA)
754 +                       ""        Nop
755 pushdef(`TERM_KOI8', `Exec LC_CTYPE=ru_RU.KOI8-R exec TERM -xrm "*Page: 1 0 1"')dnl
756 pushdef(`TERM_RU_UTF8', `Exec LC_CTYPE=ru_RU.UTF-8 exec TERM -name URxvt -xrm "*Page: 1 0 1"')dnl
757 +                       MENU_TERM_KOI8_SSH_SCREEN(phdru.name, phdru)
758 +                       MENU_TERM_KOI8_SSH_SCREEN(-D 1080 phdru.name, phdru SOCKS5)
759 +                       MENU_TERM_UTF8_BOTLT_SSH(phdru.name, phdru)
760 +                       MENU_TERM_KOI8_BIG_SSH(phdru.name, PHDRU)
761 popdef(`TERM_KOI8', `TERM_RU_UTF8')dnl
762
763 AddToMenu FvwmCommands  "Fvwm Commands" Title
764 +                       "Restart" Restart
765 +                       "Raise all" Raise-All
766 +                       "Fvwm Setup"    Popup FvwmSetup
767 +                       "Fvwm Modules"  Popup FvwmModules
768 +                       "" Nop
769 +                       "Exit Fvwm"     Quit
770
771 AddToMenu FvwmSetup     "Fvwm Setup" Title
772 +                       "Start standard session" StartStandardSession
773 +                       "Change Scrolling"      Popup FvwmScroll
774
775 AddToMenu FvwmScroll    "Change Scroll Behavior" Title
776 +                       "OFF"   EdgeScroll 0 0
777 +                       "ON"    EdgeScroll 100 100
778 +                       "Horizontal Only"       EdgeScroll 100 0
779 +                       "Vertical Only"         EdgeScroll 0 100
780 +                       "Partial"               EdgeScroll 50 50
781
782 AddToMenu FvwmModules   "Fvwm Modules" Title
783 +                       "Animate"      Module FvwmAnimate
784 +                       "Auto"         Module FvwmAuto
785 +                       "Backer"       Module FvwmBacker
786 +                       "Banner"       Module FvwmBanner
787 +                       "Buttons"      Module FvwmButtons
788 +                       "Cascade"      Module FvwmCascade
789 +                       "CommandS"     Module FvwmCommandS
790 +                       "Console"      Module FvwmConsole
791 +                       "ConsoleC"     Module FvwmConsoleC -e FvwmConsoleC.pl
792 +                       "Cpp"          Module FvwmCpp
793 +                       "Debug"        Module FvwmDebug
794 +                       "DragWell"     Module FvwmDragWell
795 +                       "Event"        Module FvwmEvent
796 +                       "Form"         Module FvwmForm
797 +                       "Gtk"          Module FvwmGtk
798 +                       "IconBox"      Module FvwmIconBox
799 +                       "IconMan"      Module FvwmIconMan
800 +                       "Ident"        Module FvwmIdent
801 +                       "M4"           Module FvwmM4
802 +                       "Pager"        Module FvwmPager 0 2
803 +                       "Rearrange"    Module FvwmRearrange
804 +                       "Save"         Module FvwmSave
805 +                       "SaveDesk"     Module FvwmSaveDesk
806 +                       "Script"       Module FvwmScript
807 +                       "Scroll"       Module FvwmScroll
808 +                       "TaskBar"      Module FvwmTaskBar
809 +                       "Theme"        Module FvwmTheme
810 +                       "Tile"         Module FvwmTile
811 +                       "Wharf"        Module FvwmWharf
812 +                       "WinList"      Module FvwmWinList
813
814 # This is the root menu
815 AddToMenu RootMenu "Root Menu"  Title
816 +               "Terminals"     Popup Terminals
817 #+               "Color term"    Popup TermColors
818 +               "Systems"       Popup Systems
819 +               ""              Nop
820 +               "Browsers"      Popup Browsers
821 +               "Utilities"     Popup Utilities
822 #+               ""              Nop
823 #+               "Lock Screen"   Popup XlockMenu
824 +               "XScreenSaver"  Popup XScreenSaverMenu
825 #+               "Tv-tuner"      Popup Tv-tuner
826 +               ""              Nop
827 +               "XSetBg"        Popup XSetBgMenu
828 +               "Fvwm Commands" Popup FvwmCommands
829
830 DestroyMenu OSMenu
831 AddToMenu OSMenu        "OS commands:" Title
832 +                       "Suspend to both" Exec exec s2b
833 +                       "Suspend to disk" Exec exec s2d
834 +                       "Suspend to ram"  Exec exec s2r
835
836 # This menu will fire up some often used programs
837 DestroyMenu Utilities
838 AddToMenu Utilities     "Choose one:" Title
839 +                       "OS"     Popup OSMenu
840 +                       ""       Nop
841 +                       "GVim (koi8)" Exec LC_CTYPE=ru_RU.KOI8-R exec gvim
842 +                       "GVim (utf8)" Exec LC_CTYPE=ru_RU.UTF-8  exec gvim
843 +                       ""       Nop
844 +                       "Refresh Screen" Refresh
845 +                       "xrefresh" Exec exec xrefresh
846 +                       ""       Nop
847 +                       "Skype" Skype
848 +                       "pavucontrol" PaVuControl
849
850 DestroyMenu  Browsers
851 AddToMenu Browsers      "Choose one:" Title
852 +                       "FireFox" FireFox
853 +                       "Suspend FireFox" SuspendFireFox
854 +                       "Resume FireFox" ResumeFireFox
855 +                       ""       Nop
856 +                       "Chromium" Chromium
857
858 # A wide variety of screenlocking options...
859 #AddToMenu XlockMenu     "Choose one:" Title
860 #+                       "Hop" Exec exec xlock -mode hop
861 #+                       "Image" Exec exec xlock -mode image
862 #+                       "Life" Exec exec xlock -mode life
863 #+                       "Flame" Exec exec xlock -mode flame
864 #+                       "Pyro" Exec exec xlock -mode pyro
865 #+                       "Qix" Exec exec xlock -mode qix
866 #+                       "Rotor" Exec exec xlock -mode rotor
867 #+                       "Swarm" Exec exec xlock -mode swarm
868 #+                       "" Nop
869 #+                       "Random" Exec exec xlock -mode random
870 #+                       "Blank" Exec exec xlock -mode blank
871
872 AddToMenu XScreenSaverMenu     "Choose mode:" Title
873 +                       "Suspend Screen Now" Exec exec xscreensaver-command --suspend
874 +                       "Activate Screen Now" Exec exec xscreensaver-command --activate
875 +                       "Lock Screen Now"  Exec exec xscreensaver-command --lock
876 +                       "" Nop
877 +                       "Screen Saver Demo" Exec exec xscreensaver-demo
878 +                       "Screen Saver Settings"  Exec exec xscreensaver-settings
879 +                       "" Nop
880 +                       "Kill Screen Saver"         Exec exec xscreensaver-command --exit
881 +                       "Launch Screen Saver"       Exec exec xscreensaver
882 +                       "Reinitialize Screen Saver" Exec exec xscreensaver-command --restart
883
884 AddToMenu XSetBgMenu    "XSetBg" Title
885 +                       "Change wallpaper" Exec exec "$HOME"/current/projects/xsetbg/xsetbg-force
886 +                       "Start" Exec exec cgmem_nice 100 "$HOME"/current/projects/xsetbg/xsetbg-http-start
887 +                       "Stop" Exec exec "$HOME"/current/projects/xsetbg/xsetbg-http-stop
888 +                       "Restart" Exec exec "$HOME"/current/projects/xsetbg/xsetbg-http-restart
889 +                       ""       Nop
890 changequote(`[[[',`]]]')dnl
891 +                       "Xli" Exec fn="`$HOME/current/projects/xsetbg/print-filename.py -e koi8-r`" && exec xli -title "`echo $fn | sed 's/[ .]/_/g'`" "$fn"
892 +                       "Xli (scaled)" Exec fn="`$HOME/current/projects/xsetbg/print-filename.py -e koi8-r`" && exec xli -title "`echo $fn | sed 's/[ .]/_/g'`" -zoom auto "$fn"
893 +                       "Open in browser" Exec exec cgmem_nice 4000 webbrowserX -n "`$HOME/current/projects/xsetbg/print-filename.py -e koi8-r`"
894 +                       "Filename" Exec exec "$HOME"/current/projects/xsetbg/print-filename.py -e koi8-r
895 +                       "XFilename" Exec "$HOME"/current/projects/xsetbg/print-filename.py | text-wrap.py | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -
896 +                       "XFilename (wrapped)" XSetbgFilename
897 +                       ""       Nop
898 +                       "Xli (prev.)" Exec fn="`$HOME/current/projects/xsetbg/print-filename.py -e koi8-r 1`" && exec xli -title "`echo $fn | sed 's/[ .]/_/g'`" "$fn"
899 +                       "Xli (prev., scaled)" Exec fn="`$HOME/current/projects/xsetbg/print-filename.py -e koi8-r 1`" && exec xli -title "`echo $fn | sed 's/[ .]/_/g'`" -zoom auto "$fn"
900 +                       "Open in browser (prev.)" Exec exec cgmem_nice 4000 webbrowserX -n "`$HOME/current/projects/xsetbg/print-filename.py -e koi8-r 1`"
901 changequote([`], ['])dnl
902 +                       "Filename (prev.)" Exec exec "$HOME"/current/projects/xsetbg/print-filename.py -e koi8-r 1
903 +                       "XFilename (prev.)" Exec "$HOME"/current/projects/xsetbg/print-filename.py 1 | text-wrap.py | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -
904 +                       "XFilename (prev., wrapped)" Exec "$HOME"/current/projects/xsetbg/print-filename.py 1 | text-wrap.py -w TEXT_WIDTH -s | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -
905
906 ############################################################################
907 # FvwmBacker
908 #
909 #*FvwmBacker: Command (Desk 0, Page * *) -solid DarkCyan
910 #*FvwmBacker: Command (Desk 1, Page * *) -solid steelblue
911 #*FvwmBacker: Command (Desk 2, Page * *) -solid midnightblue
912 *FvwmBacker: Command (Desk *, Page * *) Exec exec "$HOME"/current/projects/xsetbg/xsetbg-http-change
913
914 ############################################################################
915 # FvwmButtons
916 #
917 # Colors
918 *FvwmButtons: Fore Black
919 *FvwmButtons: Back rgb:90/80/90
920
921 # Font
922 *FvwmButtons: Font BUTTONS_FONT
923
924 # Geometry-- really likes to pick its own size, but giving a position is OK
925 *FvwmButtons: Geometry -1+1
926
927 # Layout: specify rows or columns, not both
928 *FvwmButtons: Rows 2 #, Columns 5
929
930 # Transparent background
931 #*FvwmButtons: Pixmap none
932 # Background
933 #*FvwmButtons: Pixmap fvwm.xpm
934
935 # Define the buttons to use.....
936 #*FvwmButtons: Move              arrows2.xpm     Move
937 #*FvwmButtons: Kill              skull.xpm       Destroy
938 #*FvwmButtons: Quit              nuke.xpm        Popup "Quit-Verify"
939
940 #*FvwmButtons: (Swallow XClock 'Exec exec xclock -update 1 -geometry -3000-3000')
941
942 # Buttons
943 pushdef(`TERM_KOI8', `Exec "TERM" LC_CTYPE=ru_RU.KOI8-R exec TERM')dnl
944 pushdef(`TERM_RU_UTF8', `Exec "URxvt" LC_CTYPE=ru_RU.UTF-8 exec TERM -name URxvt')dnl
945 *FvwmButtons: (Title Term,     Icon rterm2.xpm,      Action TERM_KOI8)
946 *FvwmButtons: (Title UTF-8,    Icon rterm2.xpm,      Action TERM_RU_UTF8)
947 popdef(`TERM_KOI8', `TERM_RU_UTF8')dnl
948 pushdef(`TERM_KOI8', `Exec "TERM" LC_CTYPE=ru_RU.KOI8-R exec TERM -xrm "*Page: 1 0 1"')dnl
949 *FvwmButtons: (Title "phdru (k8,s)",    Icon xterm-sgi.xpm,   Action TERM_KOI8_SSH_SCREEN(phdru.name, phdru.name))
950 popdef(`TERM_KOI8')dnl
951 pushdef(`TERM_KOI8', `Exec "TERM" LC_CTYPE=ru_RU.KOI8-R exec TERM -xrm "*Page: 1 1 1"')dnl
952 *FvwmButtons: (Title "iskra (k8,s)",    Icon xterm-sgi.xpm,   Action TERM_KOI8_SSH_SCREEN(iskra-aviel.phdru.name, iskra))
953 popdef(`TERM_KOI8')dnl
954
955 *FvwmButtons: (Title Wallpaper, Icon find1.xpm,        Action Exec "gxmessage" "$HOME"/current/projects/xsetbg/print-filename.py | text-wrap.py -w TEXT_WIDTH -s | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -)
956 *FvwmButtons: (Title "-1",      Icon find1.xpm,        Action Exec "gxmessage" "$HOME"/current/projects/xsetbg/print-filename.py 1 | text-wrap.py -w TEXT_WIDTH -s | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -)
957 *FvwmButtons: (Title Next,      Icon Jrecycle.xpm,     Action Exec exec "$HOME"/current/projects/xsetbg/xsetbg-http-force)
958 #*FvwmButtons: (Title pavucontrol, Icon mini.sound.xpm, Action Exec "Volume Control" exec cgmem_nice 200 pavucontrol)
959 #*FvwmButtons: (Title Id3Info,  Icon bell.xpm,         Action Id3Info)
960 #*FvwmButtons: (Title Skype,    Icon skypeforlinux.png, Action Exec "Skype" FvwmCommand "GotoDeskAndPage 0 0 1" && BROWSER=firefox exec cgmem_nice 2000 skypeforlinux)
961 *FvwmButtons: (Title AudioPlayer,  Icon bell.xpm,      Action Exec "deadbeef" LC_CTYPE=ru_RU.KOI8-R FvwmCommand "GotoDeskAndPage 0 1 1" && exec cgmem_nice 400 deadbeef)
962 #*FvwmButtons: (Title XLock,     Icon Jxlock.xpm,      Action Exec exec xscreensaver-command -lock)
963
964 ############################################################################
965 # FvwmForm
966 #
967 # FvwmForm alias - rlogin to host via term
968 #FvwmForm Rlogin
969 #*Rlogin: WarpPointer
970 #*Rlogin: Font         *helvetica*m*r*n*14*
971 #*Rlogin: ButtonFont   *helvetica*m*o*n*14*
972 #*Rlogin: InputFont    *cour*m*r*n*14*
973 #*Rlogin: Fore         Black
974 #*Rlogin: Back         Light Gray
975 #*Rlogin: ItemFore          Wheat
976 #*Rlogin: ItemBack          Gray50
977 ## begin items
978 #*Rlogin: Line         center
979 #*Rlogin: Text         "Login to Remote Host"
980 #*Rlogin: Line         center
981 #*Rlogin: Text         "Host:"
982 #*Rlogin: Input        HostName  20   ""
983 #*Rlogin: Line         center
984 #*Rlogin: Selection    UserSel   single
985 #*Rlogin: Choice       Default   Default   on   "same user"
986 #*Rlogin: Choice       Custom    Custom    off  "user:"
987 #*Rlogin: Input        UserName  10   ""
988 #*Rlogin: Line         expand
989 #*Rlogin: Button       quit "Login" ^M
990 `#'*Rlogin: Command      TERM_KOI8 -T term@$(HostName) -e rlogin $(HostName) $(Custom?-l $(UserName))
991 #*Rlogin: Button       restart   "Clear"
992 #*Rlogin: Command Beep
993 #*Rlogin: Button       quit "Cancel"
994 #*Rlogin: Command Nop
995 ##
996 ## FvwmForm alias - query exit ala mwm
997 #FvwmForm QuitVerify
998 #*QuitVerify: GrabServer
999 #*QuitVerify: WarpPointer
1000 #*QuitVerify: Font          *helvetica*m*r*n*14*
1001 ##*QuitVerify: ButtonFont    *helvetica*m*o*n*14*
1002 #*QuitVerify: ButtonFont    7x13bold
1003 #*QuitVerify: Fore          Black
1004 #*QuitVerify: Back          Light Gray
1005 #*QuitVerify: ItemFore Wheat
1006 #*QuitVerify: ItemBack Gray50
1007 ## begin items
1008 #*QuitVerify: Line          center
1009 #*QuitVerify: Text          "Do you really want to exit FVWM?"
1010 #*QuitVerify: Line          expand
1011 #*QuitVerify: Button   quit      " Exit "
1012 #*QuitVerify: Command  Quit
1013 #*QuitVerify: Button   quit      "Cancel"
1014 #*QuitVerify: Command  Nop
1015 #
1016 ##
1017 ## MyTalk & MyFvwmTalk from Dave Goldberg
1018 ## MyTalk Form - dissappears after use
1019 #FvwmForm MyTalk
1020 #*MyTalk: WarpPointer
1021 #*MyTalk: Font *helvetica*m*r*n*14*
1022 #*MyTalk: ButtonFont *helvetica*m*o*n*14*
1023 #*MyTalk: InputFont *cour*m*r*n*14*
1024 #*MyTalk: Fore Red
1025 #*MyTalk: Back Gray
1026 #*MyTalk: ItemFore Blue
1027 #*MyTalk: ItemBack Gray
1028 #*MyTalk: Line center
1029 #*MyTalk: Text "Fvwm Function"
1030 #*MyTalk: Input Func 40 ""
1031 #*MyTalk: Line expand
1032 #*MyTalk: Button quit "Run" ^M
1033 #*MyTalk: Command $(Func)
1034 #*MyTalk: Button restart "Clear" ^R
1035 #*MyTalk: Button quit "Cancel" ^C
1036 #*MyTalk: Command Nop
1037 ##
1038 ## MyFvwmTalk Form - sticks around
1039 #FvwmForm MyFvwmTalk
1040 #*MyFvwmTalk: WarpPointer
1041 #*MyFvwmTalk: Font *helvetica*m*r*n*14*
1042 #*MyFvwmTalk: ButtonFont *helvetica*m*o*n*14*
1043 #*MyFvwmTalk: InputFont *cour*m*r*n*14*
1044 #*MyFvwmTalk: Fore Red
1045 #*MyFvwmTalk: Back Gray
1046 #*MyFvwmTalk: ItemFore Blue
1047 #*MyFvwmTalk: ItemBack Gray
1048 #*MyFvwmTalk: Line center
1049 #*MyFvwmTalk: Text "Fvwm Function"
1050 #*MyFvwmTalk: Input Func 40 ""
1051 #*MyFvwmTalk: Line expand
1052 #*MyFvwmTalk: Button restart "Run" ^M
1053 #*MyFvwmTalk: Command $(Func)
1054 #*MyFvwmTalk: Button restart "Clear" ^R
1055 #*MyFvwmTalk: Command Nop
1056 #*MyFvwmTalk: Button restart "Iconify" ^Z
1057 #*MyFvwmTalk: Command Next [MyFvwmTalk] Iconify
1058 #*MyFvwmTalk: Button quit "Quit" ^C
1059 #*MyFvwmTalk: Command Nop
1060
1061 ############################################################################
1062 # FvwmIconBox
1063 #
1064 # NOTE: Icons will only be shown in module if "Style * !Icon" is set
1065 *FvwmIconBox: IconBack    #cfcfcf
1066 *FvwmIconBox: IconHiFore  black
1067 *FvwmIconBox: IconHiBack  LightSkyBlue
1068 *FvwmIconBox: Back        #5f9ea0
1069 #*FvwmIconBox: Fore       blue
1070 *FvwmIconBox: Geometry    5x1+0+0
1071 *FvwmIconBox: MaxIconSize 64x38
1072 *FvwmIconBox: Font        ICON_BOX_FONT
1073 *FvwmIconBox: SortIcons   IconName
1074 *FvwmIconBox: Padding     4
1075 *FvwmIconBox: Lines       10
1076 *FvwmIconBox: SBWidth     11
1077 *FvwmIconBox: Placement   Left Top
1078 *FvwmIconBox: Pixmap      fvwm.xpm
1079 #*FvwmIconBox: HideSC Horizontal
1080 *FvwmIconBox: SetWMIconSize
1081 *FvwmIconBox: HilightFocusWin
1082 #*FvwmIconBox: Resolution          Desk
1083 *FvwmIconBox: Mouse       1       Click           RaiseLower
1084 *FvwmIconBox: Mouse       1       DoubleClick     Iconify
1085 *FvwmIconBox: Mouse       2       Click           Iconify -1, Focus
1086 *FvwmIconBox: Mouse       3       Click           Module FvwmIdent
1087 *FvwmIconBox: Key         r       RaiseLower
1088 *FvwmIconBox: Key         space   Iconify
1089 *FvwmIconBox: Key         d       Close
1090 *FvwmIconBox: Key         n       Next
1091 *FvwmIconBox: Key         p       Prev
1092 *FvwmIconBox: Key         h       Left
1093 *FvwmIconBox: Key         j       Down
1094 *FvwmIconBox: Key         k       Up
1095 *FvwmIconBox: Key         l       Right
1096
1097 ############################################################################
1098 # FvwmIdent
1099 #
1100 # Give us colors and a fonts
1101 *FvwmIdent: Back MidnightBlue
1102 *FvwmIdent: Fore Yellow
1103 *FvwmIdent: Font IDENT_FONT
1104
1105 ############################################################################
1106 # FvwmPager
1107 #
1108 *FvwmPager: Back #908090
1109 *FvwmPager: Fore #484048
1110 *FvwmPager: Font TITLE_FONT
1111 *FvwmPager: Hilight #cab3ca
1112 *FvwmPager: Geometry PAGER_GEOM
1113 *FvwmPager: Label 0 System
1114 *FvwmPager: Label 1 Net
1115 *FvwmPager: Label 2 Work
1116 *FvwmPager: SmallFont SMALL_PAGER_FONT
1117
1118 *FvwmPager: Balloons All
1119 *FvwmPager: BalloonBack #efe3b5
1120 *FvwmPager: BalloonFore Black
1121 *FvwmPager: BalloonFont ICON_FONT
1122 *FvwmPager: BalloonYOffset +2
1123 *FvwmPager: BalloonBorderWidth 1
1124 *FvwmPager: BalloonBorderColor Black
1125
1126 ############################################################################
1127 # FvwmScroll
1128 #
1129 *FvwmScroll: Back grey40
1130 *FvwmScroll: Fore green
1131
1132 ############################################################################
1133 # FvwmWinList
1134 #
1135 *FvwmWinList: Back #908090
1136 *FvwmWinList: Fore Black
1137 *FvwmWinList: Font WIN_LIST_FONT
1138 *FvwmWinList: Action Click1 Iconify -1, Focus
1139 *FvwmWinList: Action Click2 Iconify
1140 *FvwmWinList: Action Click3 Module "FvwmIdent: " FvwmIdent
1141 *FvwmWinList: UseSkipList
1142 *FvwmWinList: Geometry +10-10