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