]> git.phdru.name Git - dotfiles.git/blob - .fvwm/main.m4
Feat(recode-filenames-recursive): Allow to omit parameters
[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 FireFox
527
528 DestroyFunc ResumeFunction
529 AddToFunc ResumeFunction
530 +              I GotoDeskAndPage 0 0 0
531 +              I TERM_KOI8
532 +              I Wait TERM
533 +              I Exec exec cgmem_nice 200 pulseaudio --start
534 +              I None ("Volume Control") PaVuControl
535 +              I Exec sleep 10; exec "$HOME"/current/projects/audio-cdr-video/audio/pa-mic-off
536 +              I XsetbgFilename
537 +              I Wait gxmessage
538 +              I Any ("*Mozilla Firefox") GotoDeskAndPage 0 1 1
539 +              I TestRc (Match) Break 1
540 +              I None ("*Mozilla Firefox") FireFox
541
542 ############################################################################
543 # COMPLEX FUNCTIONS
544 #
545 DestroyFunc Center
546 AddToFunc Center                I Move 50-50w 50-50w
547 +                               I WarpToWindow 74p 18p
548
549 DestroyFunc Iconify-and-Raise
550 AddToFunc Iconify-and-Raise     I Iconify
551 +                               I Raise
552
553 DestroyFunc Maximize-Func
554 AddToFunc Maximize-Func         C Maximize     toggle
555 +                               D Maximize     100 100
556
557 DestroyFunc Move-or-Iconify
558 AddToFunc Move-or-Iconify       I Raise
559 +                               M Move
560 +                               D Iconify
561
562 DestroyFunc Move-or-Raise
563 AddToFunc Move-or-Raise         I Raise
564 +                               M Move
565 +                               D Lower
566
567 DestroyFunc Move-or-Raise2
568 AddToFunc Move-or-Raise2        M Raise
569 +                               M Move
570 +                               D Lower
571
572 DestroyFunc Resize-or-Raise
573 AddToFunc Resize-or-Raise       I Raise
574 +                               M Resize
575 +                               D Lower
576
577 DestroyFunc Resize-or-Raise2
578 AddToFunc Resize-or-Raise2      M Raise
579 +                               M Resize
580 +                               D Lower
581
582 DestroyFunc Shadify
583 AddToFunc Shadify               D WindowShade
584 +                               M Move
585 +                               C RaiseLower
586
587 DestroyFunc warp-or-run
588 AddToFunc warp-or-run           I Next [$0 CirculateHit] Iconify -1
589 +                               I Next [$0 CirculateHit] Focus
590 +                               I None [$0] $1
591
592 DestroyFunc MailFunction
593 AddToFunc MailFunction          I Next [$0] Iconify -1
594 +                               I Next [$0] focus
595 +                               I None [$0] Exec exec $0 $1
596
597 DestroyFunc PrintFunction
598 AddToFunc PrintFunction         I Raise
599 +                               I Exec exec xdpr -id $w
600
601 DestroyFunc Raise-All
602 AddToFunc Raise-All           I All Raise
603
604 ##############################################################################
605 # User-defined functions
606 #
607
608 DestroyFunc PaVuControl
609 AddToFunc PaVuControl         I GotoDeskAndPage 0 1 1
610 +                             I Exec exec pulseaudio --kill
611 +                             I Exec exec cgmem_nice 200 pulseaudio --start
612 +                             I Exec exec cgmem_nice 200 pavucontrol
613 +                             I Wait "Volume Control"
614
615 DestroyFunc Id3Info
616 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 -
617
618 DestroyFunc Term2HostsHome
619 AddToFunc Term2HostsHome      I GotoDeskAndPage 1 1 2
620 +                             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; }'
621 +                             I TERM_KOI8_SSH_SCREEN(iskra-aviel.phdru.name, iskra)
622 +                             I Wait TERM
623 +                             I GotoDeskAndPage 1 0 1
624 +                             I TERM_KOI8_SSH_SCREEN(-D 1080 phdru.name, phdru.name)
625 +                             I Wait TERM
626 +                             I GotoDeskAndPage 1 1 2
627
628 DestroyFunc FireFox
629 AddToFunc FireFox             I Any ("*Mozilla Firefox") Break 1
630 +                             I GotoDeskAndPage 1 0 0
631 +                             I Exec LC_CTYPE=ru_RU.KOI8-R exec cgmem_nice 4000 start-browser firefox -P phd
632 +                             I Wait "*Mozilla Firefox"
633
634 DestroyFunc SuspendFireFox
635 AddToFunc SuspendFireFox      I Exec exec pkill -STOP firefox
636 +                             I All ("*Mozilla Firefox") Iconify True
637
638 DestroyFunc ResumeFireFox
639 AddToFunc ResumeFireFox       I Exec exec pkill -CONT firefox
640 +                             I All ("*Mozilla Firefox") Iconify False
641
642 DestroyFunc Chromium
643 AddToFunc Chromium            I Any ("*Chromium") Break 1
644 +                             I GotoDeskAndPage 1 1 0
645 +                             I Exec LC_CTYPE=ru_RU.KOI8-R exec cgmem_nice 2000 start-browser chromium
646 +                             I Wait "*Chromium"
647
648 DestroyFunc Gajim
649 AddToFunc Gajim               I GotoDeskAndPage 1 1 0
650 +                             I Exec exec cgmem_nice 300 gajim
651
652 DestroyFunc Pidgin
653 AddToFunc Pidgin              I GotoDeskAndPage 1 1 0
654 +                             I Exec exec cgmem_nice 300 pidgin
655
656 DestroyFunc Skype
657 AddToFunc Skype               I GotoDeskAndPage 0 0 1
658 +                             I Exec BROWSER=firefox exec cgmem_nice 2000 skypeforlinux
659
660 DestroyFunc XFilename
661 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 -
662
663 ##############################################################################
664 # MENU Setup
665 #
666
667 # This defines the most common window operations
668 AddToMenu Window-Ops    "Window Ops"    Title
669 +                       "Center"        Center
670 +                       "Move"          Move-or-Raise2
671 +                       "Resize"        Resize-or-Raise2
672 +                       "Raise"         Raise
673 +                       "Lower"         Lower
674 +                       "(De)Iconify"   Iconify
675 +                       "(Un)Stick"     Stick
676 +                       "(Un)Maximize"  maximize_func
677 +                       ""              Nop
678 +                       "Delete"        Delete
679 +                       "Close"         Close
680 +                       "Destroy"       Destroy
681 +                       ""              Nop
682 +                       "Refresh Screen" Refresh
683
684 # A trimmed down version of "Window Ops", good for binding to decorations
685 DestroyMenu Window-Ops2
686 AddToMenu Window-Ops2   "Center"        Center
687 +                       "Move"          Move-or-Raise
688 +                       "Iconify"       Iconify
689 +                       "(Un)Stick"     Stick
690 +                       "Refresh"       RefreshWindow
691 +                       ""              Nop
692 +                       "Close"         Close
693 +                       "Delete"        Delete
694 +                       "Destroy"       Destroy
695 +                       ""              Nop
696 +                       "Resize"        Resize-or-Raise
697 +                       "Shade"         WindowShade
698 +                       "Raise/Lower"   RaiseLower
699 +                       ""              Nop
700 +                       "ScrollBar"     Module FvwmScroll 2 2
701 +                       "Print"         PrintFunction
702
703 AddToMenu Terminals     "Terminals" Title
704 +               "Grey term (koi8)" TERM_KOI8
705 +               "Grey term (utf8)" TERM_RU_UTF8
706 +               "Grey term (heb-utf8)" TERM_HEB_UTF8
707 +               "Grey term (btlt,koi8)" TERM_KOI8_BOTLT
708 +               "Grey term (btrt,koi8)" TERM_KOI8_BOTRT
709 +               "Grey term (btlt,utf8)" TERM_RU_UTF8_BOTLT
710 +               "Grey term (btrt,utf8)" TERM_RU_UTF8_BOTRT
711 +               "Big grey term (koi8)" TERM_KOI8_BIG
712 +               "Big grey term (utf8)" TERM_UTF8_BIG
713 +                       ""      Nop
714 +               "White/black term (koi8)" TERM_KOI8 -fg white -cr white -bg black
715 +               "White/black term (utf8)" TERM_RU_UTF8 -fg white -bg black
716
717 AddToMenu TermColors    "Term Colors" Title
718 +                       "Term: black/mediumturquoise" TERM_KOI8 -fg black -cr black -bg mediumturquoise
719 +                       "Term: black/lightseagreen" TERM_KOI8 -fg black -cr black -bg lightseagreen
720 +                       ""      Nop
721 +                       "Term: black/lightsteelblue" TERM_KOI8 -fg black -cr black -bg lightsteelblue
722 +                       "Term: black/lightblue3" TERM_KOI8 -fg black -cr black -bg lightblue3
723 +                       ""      Nop
724 +                       "Term: black/lightgoldenrod" TERM_KOI8 -fg black -cr black -bg lightgoldenrod
725 +                       "Term: black/rosybrown1" TERM_KOI8 -fg black -cr black -bg rosybrown1
726 +                       "Term: black/pink1" TERM_KOI8 -fg black -cr black -bg pink1
727 +                       ""      Nop
728 +                       "Term: white/orchid4" TERM_KOI8 -fg white -cr white -bg orchid4
729 +                       "Term: white/purple3" TERM_KOI8 -fg white -cr white -bg purple3
730 +                       "Term: white/purple4" TERM_KOI8 -fg white -cr white -bg purple4
731 +                       ""      Nop
732 +                       "Term: white/lightslategrey" TERM_KOI8 -fg white -cr white -bg lightslategrey
733 +                       "Term: white/navyblue" TERM_KOI8 -fg white -cr white -bg navyblue
734 +                       "Term: white/mediumblue" TERM_KOI8 -fg white -cr white -bg mediumblue
735 +                       "Term: white/steelblue" TERM_KOI8 -fg white -cr white -bg steelblue
736 +                       ""      Nop
737 +                       "Term: white/forestgreen" TERM_KOI8 -fg white -cr white -bg forestgreen
738 +                       "Term: white/rosybrown" TERM_KOI8 -fg white -cr white -bg rosybrown
739 +                       "Term: white/deeppink" TERM_KOI8 -fg white -cr white -bg deeppink
740 +                       "Term: white/black" TERM_KOI8 -fg white -cr white -bg black
741
742 AddToMenu Systems       "Systems" Title
743 +                       "Iskra+Phdru" Term2HostsHome
744 +                       ""        Nop
745 pushdef(`TERM_KOI8', `Exec LC_CTYPE=ru_RU.KOI8-R exec TERM -xrm "*Page: 1 1 1"')dnl
746 pushdef(`TERM_RU_UTF8', `Exec LC_CTYPE=ru_RU.UTF-8 exec TERM -name URxvt -xrm "*Page: 1 1 1"')dnl
747 +                       MENU_TERM_KOI8_SSH_SCREEN(iskra-aviel.phdru.name, iskra)
748 +                       MENU_TERM_UTF8_BOTLT_SSH(iskra-aviel.phdru.name, iskra)
749 +                       MENU_TERM_KOI8_BIG_SSH(iskra-aviel.phdru.name, ISKRA)
750 +                       ""        Nop
751 pushdef(`TERM_KOI8', `Exec LC_CTYPE=ru_RU.KOI8-R exec TERM -xrm "*Page: 1 0 1"')dnl
752 pushdef(`TERM_RU_UTF8', `Exec LC_CTYPE=ru_RU.UTF-8 exec TERM -name URxvt -xrm "*Page: 1 0 1"')dnl
753 +                       MENU_TERM_KOI8_SSH_SCREEN(phdru.name, phdru)
754 +                       MENU_TERM_KOI8_SSH_SCREEN(-D 1080 phdru.name, phdru SOCKS5)
755 +                       MENU_TERM_UTF8_BOTLT_SSH(phdru.name, phdru)
756 +                       MENU_TERM_KOI8_BIG_SSH(phdru.name, PHDRU)
757 popdef(`TERM_KOI8', `TERM_RU_UTF8')dnl
758
759 AddToMenu FvwmCommands  "Fvwm Commands" Title
760 +                       "Restart" Restart
761 +                       "Raise all" Raise-All
762 +                       "Fvwm Setup"    Popup FvwmSetup
763 +                       "Fvwm Modules"  Popup FvwmModules
764 +                       "" Nop
765 +                       "Exit Fvwm"     Quit
766
767 AddToMenu FvwmSetup     "Fvwm Setup" Title
768 +                       "Start standard session" StartStandardSession
769 +                       "Change Scrolling"      Popup FvwmScroll
770
771 AddToMenu FvwmScroll    "Change Scroll Behavior" Title
772 +                       "OFF"   EdgeScroll 0 0
773 +                       "ON"    EdgeScroll 100 100
774 +                       "Horizontal Only"       EdgeScroll 100 0
775 +                       "Vertical Only"         EdgeScroll 0 100
776 +                       "Partial"               EdgeScroll 50 50
777
778 AddToMenu FvwmModules   "Fvwm Modules" Title
779 +                       "Animate"      Module FvwmAnimate
780 +                       "Auto"         Module FvwmAuto
781 +                       "Backer"       Module FvwmBacker
782 +                       "Banner"       Module FvwmBanner
783 +                       "Buttons"      Module FvwmButtons
784 +                       "Cascade"      Module FvwmCascade
785 +                       "CommandS"     Module FvwmCommandS
786 +                       "Console"      Module FvwmConsole
787 +                       "ConsoleC"     Module FvwmConsoleC -e FvwmConsoleC.pl
788 +                       "Cpp"          Module FvwmCpp
789 +                       "Debug"        Module FvwmDebug
790 +                       "DragWell"     Module FvwmDragWell
791 +                       "Event"        Module FvwmEvent
792 +                       "Form"         Module FvwmForm
793 +                       "Gtk"          Module FvwmGtk
794 +                       "IconBox"      Module FvwmIconBox
795 +                       "IconMan"      Module FvwmIconMan
796 +                       "Ident"        Module FvwmIdent
797 +                       "M4"           Module FvwmM4
798 +                       "Pager"        Module FvwmPager 0 2
799 +                       "Rearrange"    Module FvwmRearrange
800 +                       "Save"         Module FvwmSave
801 +                       "SaveDesk"     Module FvwmSaveDesk
802 +                       "Script"       Module FvwmScript
803 +                       "Scroll"       Module FvwmScroll
804 +                       "TaskBar"      Module FvwmTaskBar
805 +                       "Theme"        Module FvwmTheme
806 +                       "Tile"         Module FvwmTile
807 +                       "Wharf"        Module FvwmWharf
808 +                       "WinList"      Module FvwmWinList
809
810 # This is the root menu
811 AddToMenu RootMenu "Root Menu"  Title
812 +               "Terminals"     Popup Terminals
813 #+               "Color term"    Popup TermColors
814 +               "Systems"       Popup Systems
815 +               ""              Nop
816 +               "Browsers"      Popup Browsers
817 +               "Utilities"     Popup Utilities
818 #+               ""              Nop
819 #+               "Lock Screen"   Popup XlockMenu
820 +               "XScreenSaver"  Popup XScreenSaverMenu
821 #+               "Tv-tuner"      Popup Tv-tuner
822 +               ""              Nop
823 +               "XSetBg"        Popup XSetBgMenu
824 +               "Fvwm Commands" Popup FvwmCommands
825
826 DestroyMenu OSMenu
827 AddToMenu OSMenu        "OS commands:" Title
828 +                       "Suspend to both" Exec exec s2b
829 +                       "Suspend to disk" Exec exec s2d
830 +                       "Suspend to ram"  Exec exec s2r
831
832 # This menu will fire up some often used programs
833 DestroyMenu Utilities
834 AddToMenu Utilities     "Choose one:" Title
835 +                       "OS"     Popup OSMenu
836 +                       ""       Nop
837 +                       "GVim (koi8)" Exec LC_CTYPE=ru_RU.KOI8-R exec gvim
838 +                       "GVim (utf8)" Exec LC_CTYPE=ru_RU.UTF-8  exec gvim
839 +                       ""       Nop
840 +                       "Refresh Screen" Refresh
841 +                       "xrefresh" Exec exec xrefresh
842 +                       ""       Nop
843 +                       "Skype" Skype
844 +                       "pavucontrol" PaVuControl
845
846 DestroyMenu  Browsers
847 AddToMenu Browsers      "Choose one:" Title
848 +                       "FireFox" FireFox
849 +                       "Suspend FireFox" SuspendFireFox
850 +                       "Resume FireFox" ResumeFireFox
851 +                       ""       Nop
852 +                       "Chromium" Chromium
853
854 # A wide variety of screenlocking options...
855 #AddToMenu XlockMenu     "Choose one:" Title
856 #+                       "Hop" Exec exec xlock -mode hop
857 #+                       "Image" Exec exec xlock -mode image
858 #+                       "Life" Exec exec xlock -mode life
859 #+                       "Flame" Exec exec xlock -mode flame
860 #+                       "Pyro" Exec exec xlock -mode pyro
861 #+                       "Qix" Exec exec xlock -mode qix
862 #+                       "Rotor" Exec exec xlock -mode rotor
863 #+                       "Swarm" Exec exec xlock -mode swarm
864 #+                       "" Nop
865 #+                       "Random" Exec exec xlock -mode random
866 #+                       "Blank" Exec exec xlock -mode blank
867
868 AddToMenu XScreenSaverMenu     "Choose mode:" Title
869 +                       "Blank Screen via xset" Exec xset dpms force off
870 #+                       "Blank Screen Now" Exec exec xscreensaver-command --suspend
871 +                       "Activate A Hack Now" Exec exec xscreensaver-command --activate
872 +                       "Lock Screen Now"  Exec exec xscreensaver-command --lock
873 +                       "" Nop
874 +                       "Screen Saver Demo" Exec exec xscreensaver-demo
875 +                       "Screen Saver Settings"  Exec exec xscreensaver-settings
876 +                       "" Nop
877 +                       "Kill Screen Saver"         Exec exec xscreensaver-command --exit
878 +                       "Launch Screen Saver"       Exec exec xscreensaver
879 +                       "Reinitialize Screen Saver" Exec exec xscreensaver-command --restart
880
881 AddToMenu XSetBgMenu    "XSetBg" Title
882 +                       "Change wallpaper" Exec exec "$HOME"/current/projects/xsetbg/xsetbg-force
883 +                       "Start" Exec exec cgmem_nice 100 "$HOME"/current/projects/xsetbg/xsetbg-http-start
884 +                       "Stop" Exec exec "$HOME"/current/projects/xsetbg/xsetbg-http-stop
885 +                       "Restart" Exec exec "$HOME"/current/projects/xsetbg/xsetbg-http-restart
886 +                       ""       Nop
887 +                       "Xli" Exec fn="$($HOME/current/projects/xsetbg/print-filename.py -e koi8-r)" && exec xli -title "$(echo $fn | sed 's/[ .]/_/g')" "$fn"
888 +                       "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"
889 +                       "Open in browser" Exec exec cgmem_nice 4000 webbrowserX -n "$($HOME/current/projects/xsetbg/print-filename.py -e koi8-r)"
890 +                       "Filename" Exec exec "$HOME"/current/projects/xsetbg/print-filename.py -e koi8-r
891 +                       "XFilename" Exec "$HOME"/current/projects/xsetbg/print-filename.py | text-wrap.py | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -
892 +                       "XFilename (wrapped)" XSetbgFilename
893 +                       ""       Nop
894 +                       "Xli (prev.)" Exec fn="$($HOME/current/projects/xsetbg/print-filename.py -e koi8-r 1)" && exec xli -title "$(echo $fn | sed 's/[ .]/_/g')" "$fn"
895 +                       "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"
896 +                       "Open in browser (prev.)" Exec exec cgmem_nice 4000 webbrowserX -n "$($HOME/current/projects/xsetbg/print-filename.py -e koi8-r 1)"
897 +                       "Filename (prev.)" Exec exec "$HOME"/current/projects/xsetbg/print-filename.py -e koi8-r 1
898 +                       "XFilename (prev.)" Exec "$HOME"/current/projects/xsetbg/print-filename.py 1 | text-wrap.py | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -
899 +                       "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 -
900
901 ############################################################################
902 # FvwmBacker
903 #
904 #*FvwmBacker: Command (Desk 0, Page * *) -solid DarkCyan
905 #*FvwmBacker: Command (Desk 1, Page * *) -solid steelblue
906 #*FvwmBacker: Command (Desk 2, Page * *) -solid midnightblue
907 *FvwmBacker: Command (Desk *, Page * *) Exec exec "$HOME"/current/projects/xsetbg/xsetbg-http-change
908
909 ############################################################################
910 # FvwmButtons
911 #
912 # Colors
913 *FvwmButtons: Fore Black
914 *FvwmButtons: Back rgb:90/80/90
915
916 # Font
917 *FvwmButtons: Font BUTTONS_FONT
918
919 # Geometry-- really likes to pick its own size, but giving a position is OK
920 *FvwmButtons: Geometry -1+1
921
922 # Layout: specify rows or columns, not both
923 *FvwmButtons: Rows 2 #, Columns 5
924
925 # Transparent background
926 #*FvwmButtons: Pixmap none
927 # Background
928 #*FvwmButtons: Pixmap fvwm.xpm
929
930 # Define the buttons to use.....
931 #*FvwmButtons: Move              arrows2.xpm     Move
932 #*FvwmButtons: Kill              skull.xpm       Destroy
933 #*FvwmButtons: Quit              nuke.xpm        Popup "Quit-Verify"
934
935 #*FvwmButtons: (Swallow XClock 'Exec exec xclock -update 1 -geometry -3000-3000')
936
937 # Buttons
938 pushdef(`TERM_KOI8', `Exec "TERM" LC_CTYPE=ru_RU.KOI8-R exec TERM')dnl
939 pushdef(`TERM_RU_UTF8', `Exec "URxvt" LC_CTYPE=ru_RU.UTF-8 exec TERM -name URxvt')dnl
940 *FvwmButtons: (Title Term,     Icon rterm2.xpm,      Action TERM_KOI8)
941 *FvwmButtons: (Title UTF-8,    Icon rterm2.xpm,      Action TERM_RU_UTF8)
942 popdef(`TERM_KOI8', `TERM_RU_UTF8')dnl
943 pushdef(`TERM_KOI8', `Exec "TERM" LC_CTYPE=ru_RU.KOI8-R exec TERM -xrm "*Page: 1 0 1"')dnl
944 *FvwmButtons: (Title "phdru (k8,s)",    Icon xterm-sgi.xpm,   Action TERM_KOI8_SSH_SCREEN(phdru.name, phdru.name))
945 popdef(`TERM_KOI8')dnl
946 pushdef(`TERM_KOI8', `Exec "TERM" LC_CTYPE=ru_RU.KOI8-R exec TERM -xrm "*Page: 1 1 1"')dnl
947 *FvwmButtons: (Title "iskra (k8,s)",    Icon xterm-sgi.xpm,   Action TERM_KOI8_SSH_SCREEN(iskra-aviel.phdru.name, iskra))
948 popdef(`TERM_KOI8')dnl
949
950 *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 -)
951 *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 -)
952 *FvwmButtons: (Title Next,      Icon Jrecycle.xpm,     Action Exec exec "$HOME"/current/projects/xsetbg/xsetbg-http-force)
953 #*FvwmButtons: (Title pavucontrol, Icon mini.sound.xpm, Action Exec "Volume Control" exec cgmem_nice 200 pavucontrol)
954 #*FvwmButtons: (Title Id3Info,  Icon bell.xpm,         Action Id3Info)
955 #*FvwmButtons: (Title Skype,    Icon skypeforlinux.png, Action Exec "Skype" FvwmCommand "GotoDeskAndPage 0 0 1" && BROWSER=firefox exec cgmem_nice 2000 skypeforlinux)
956 *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)
957 #*FvwmButtons: (Title XLock,     Icon Jxlock.xpm,      Action Exec exec xscreensaver-command -lock)
958
959 ############################################################################
960 # FvwmForm
961 #
962 # FvwmForm alias - rlogin to host via term
963 #FvwmForm Rlogin
964 #*Rlogin: WarpPointer
965 #*Rlogin: Font         *helvetica*m*r*n*14*
966 #*Rlogin: ButtonFont   *helvetica*m*o*n*14*
967 #*Rlogin: InputFont    *cour*m*r*n*14*
968 #*Rlogin: Fore         Black
969 #*Rlogin: Back         Light Gray
970 #*Rlogin: ItemFore          Wheat
971 #*Rlogin: ItemBack          Gray50
972 ## begin items
973 #*Rlogin: Line         center
974 #*Rlogin: Text         "Login to Remote Host"
975 #*Rlogin: Line         center
976 #*Rlogin: Text         "Host:"
977 #*Rlogin: Input        HostName  20   ""
978 #*Rlogin: Line         center
979 #*Rlogin: Selection    UserSel   single
980 #*Rlogin: Choice       Default   Default   on   "same user"
981 #*Rlogin: Choice       Custom    Custom    off  "user:"
982 #*Rlogin: Input        UserName  10   ""
983 #*Rlogin: Line         expand
984 #*Rlogin: Button       quit "Login" ^M
985 `#'*Rlogin: Command      TERM_KOI8 -T term@$(HostName) -e rlogin $(HostName) $(Custom?-l $(UserName))
986 #*Rlogin: Button       restart   "Clear"
987 #*Rlogin: Command Beep
988 #*Rlogin: Button       quit "Cancel"
989 #*Rlogin: Command Nop
990 ##
991 ## FvwmForm alias - query exit ala mwm
992 #FvwmForm QuitVerify
993 #*QuitVerify: GrabServer
994 #*QuitVerify: WarpPointer
995 #*QuitVerify: Font          *helvetica*m*r*n*14*
996 ##*QuitVerify: ButtonFont    *helvetica*m*o*n*14*
997 #*QuitVerify: ButtonFont    7x13bold
998 #*QuitVerify: Fore          Black
999 #*QuitVerify: Back          Light Gray
1000 #*QuitVerify: ItemFore Wheat
1001 #*QuitVerify: ItemBack Gray50
1002 ## begin items
1003 #*QuitVerify: Line          center
1004 #*QuitVerify: Text          "Do you really want to exit FVWM?"
1005 #*QuitVerify: Line          expand
1006 #*QuitVerify: Button   quit      " Exit "
1007 #*QuitVerify: Command  Quit
1008 #*QuitVerify: Button   quit      "Cancel"
1009 #*QuitVerify: Command  Nop
1010 #
1011 ##
1012 ## MyTalk & MyFvwmTalk from Dave Goldberg
1013 ## MyTalk Form - dissappears after use
1014 #FvwmForm MyTalk
1015 #*MyTalk: WarpPointer
1016 #*MyTalk: Font *helvetica*m*r*n*14*
1017 #*MyTalk: ButtonFont *helvetica*m*o*n*14*
1018 #*MyTalk: InputFont *cour*m*r*n*14*
1019 #*MyTalk: Fore Red
1020 #*MyTalk: Back Gray
1021 #*MyTalk: ItemFore Blue
1022 #*MyTalk: ItemBack Gray
1023 #*MyTalk: Line center
1024 #*MyTalk: Text "Fvwm Function"
1025 #*MyTalk: Input Func 40 ""
1026 #*MyTalk: Line expand
1027 #*MyTalk: Button quit "Run" ^M
1028 #*MyTalk: Command $(Func)
1029 #*MyTalk: Button restart "Clear" ^R
1030 #*MyTalk: Button quit "Cancel" ^C
1031 #*MyTalk: Command Nop
1032 ##
1033 ## MyFvwmTalk Form - sticks around
1034 #FvwmForm MyFvwmTalk
1035 #*MyFvwmTalk: WarpPointer
1036 #*MyFvwmTalk: Font *helvetica*m*r*n*14*
1037 #*MyFvwmTalk: ButtonFont *helvetica*m*o*n*14*
1038 #*MyFvwmTalk: InputFont *cour*m*r*n*14*
1039 #*MyFvwmTalk: Fore Red
1040 #*MyFvwmTalk: Back Gray
1041 #*MyFvwmTalk: ItemFore Blue
1042 #*MyFvwmTalk: ItemBack Gray
1043 #*MyFvwmTalk: Line center
1044 #*MyFvwmTalk: Text "Fvwm Function"
1045 #*MyFvwmTalk: Input Func 40 ""
1046 #*MyFvwmTalk: Line expand
1047 #*MyFvwmTalk: Button restart "Run" ^M
1048 #*MyFvwmTalk: Command $(Func)
1049 #*MyFvwmTalk: Button restart "Clear" ^R
1050 #*MyFvwmTalk: Command Nop
1051 #*MyFvwmTalk: Button restart "Iconify" ^Z
1052 #*MyFvwmTalk: Command Next [MyFvwmTalk] Iconify
1053 #*MyFvwmTalk: Button quit "Quit" ^C
1054 #*MyFvwmTalk: Command Nop
1055
1056 ############################################################################
1057 # FvwmIconBox
1058 #
1059 # NOTE: Icons will only be shown in module if "Style * !Icon" is set
1060 *FvwmIconBox: IconBack    #cfcfcf
1061 *FvwmIconBox: IconHiFore  black
1062 *FvwmIconBox: IconHiBack  LightSkyBlue
1063 *FvwmIconBox: Back        #5f9ea0
1064 #*FvwmIconBox: Fore       blue
1065 *FvwmIconBox: Geometry    5x1+0+0
1066 *FvwmIconBox: MaxIconSize 64x38
1067 *FvwmIconBox: Font        ICON_BOX_FONT
1068 *FvwmIconBox: SortIcons   IconName
1069 *FvwmIconBox: Padding     4
1070 *FvwmIconBox: Lines       10
1071 *FvwmIconBox: SBWidth     11
1072 *FvwmIconBox: Placement   Left Top
1073 *FvwmIconBox: Pixmap      fvwm.xpm
1074 #*FvwmIconBox: HideSC Horizontal
1075 *FvwmIconBox: SetWMIconSize
1076 *FvwmIconBox: HilightFocusWin
1077 #*FvwmIconBox: Resolution          Desk
1078 *FvwmIconBox: Mouse       1       Click           RaiseLower
1079 *FvwmIconBox: Mouse       1       DoubleClick     Iconify
1080 *FvwmIconBox: Mouse       2       Click           Iconify -1, Focus
1081 *FvwmIconBox: Mouse       3       Click           Module FvwmIdent
1082 *FvwmIconBox: Key         r       RaiseLower
1083 *FvwmIconBox: Key         space   Iconify
1084 *FvwmIconBox: Key         d       Close
1085 *FvwmIconBox: Key         n       Next
1086 *FvwmIconBox: Key         p       Prev
1087 *FvwmIconBox: Key         h       Left
1088 *FvwmIconBox: Key         j       Down
1089 *FvwmIconBox: Key         k       Up
1090 *FvwmIconBox: Key         l       Right
1091
1092 ############################################################################
1093 # FvwmIdent
1094 #
1095 # Give us colors and a fonts
1096 *FvwmIdent: Back MidnightBlue
1097 *FvwmIdent: Fore Yellow
1098 *FvwmIdent: Font IDENT_FONT
1099
1100 ############################################################################
1101 # FvwmPager
1102 #
1103 *FvwmPager: Back #908090
1104 *FvwmPager: Fore #484048
1105 *FvwmPager: Font TITLE_FONT
1106 *FvwmPager: Hilight #cab3ca
1107 *FvwmPager: Geometry PAGER_GEOM
1108 *FvwmPager: Label 0 System
1109 *FvwmPager: Label 1 Net
1110 *FvwmPager: Label 2 Work
1111 *FvwmPager: SmallFont SMALL_PAGER_FONT
1112
1113 *FvwmPager: Balloons All
1114 *FvwmPager: BalloonBack #efe3b5
1115 *FvwmPager: BalloonFore Black
1116 *FvwmPager: BalloonFont ICON_FONT
1117 *FvwmPager: BalloonYOffset +2
1118 *FvwmPager: BalloonBorderWidth 1
1119 *FvwmPager: BalloonBorderColor Black
1120
1121 ############################################################################
1122 # FvwmScroll
1123 #
1124 *FvwmScroll: Back grey40
1125 *FvwmScroll: Fore green
1126
1127 ############################################################################
1128 # FvwmWinList
1129 #
1130 *FvwmWinList: Back #908090
1131 *FvwmWinList: Fore Black
1132 *FvwmWinList: Font WIN_LIST_FONT
1133 *FvwmWinList: Action Click1 Iconify -1, Focus
1134 *FvwmWinList: Action Click2 Iconify
1135 *FvwmWinList: Action Click3 Module "FvwmIdent: " FvwmIdent
1136 *FvwmWinList: UseSkipList
1137 *FvwmWinList: Geometry +10-10