1 ##########################################################################
2 # FVWM - F? Virtual Window Manager, Version 2.x (fvwm2) Configuration File
5 dnl The file is in m4 format, use FvwmM4 module to read it
6 dnl like this: ModuleSynchronous FvwmM4 -lock .fvwm2rc
8 dnl This is to prevent FvwmM4 to shadow $HOME
16 dnl define(`SMALL_FONT_KOI8', `-*-fixed-medium-r-normal-*-*-100-*-*-*-*-koi8-r')
17 dnl define(`MEDIUM_FONT_KOI8', `-*-fixed-medium-r-normal-*-*-120-*-*-*-*-koi8-r')
18 dnl define(`BIG_FONT_KOI8', `-*-fixed-medium-r-normal-*-*-140-*-*-*-*-koi8-r')
21 dnl define(`SMALL_FONT_CP1251', `-*-fixed-medium-r-normal-*-*-100-*-*-*-*-*-cp1251')
22 dnl define(`MEDIUM_FONT_CP1251', `-*-fixed-medium-r-normal-*-*-120-*-*-*-*-*-cp1251')
23 dnl define(`BIG_FONT_CP1251', `-*-fixed-medium-r-normal-*-*-140-*-*-*-*-*-cp1251')
25 dnl define(`XBUFFY_FONT', `-cronyx-helvetica-bold-r-*-*-*-100-*-*-*-*-koi8-r')
29 define(`VERY_SMALL_FONT', `xft:Sans:size=10')
30 define(`SMALL_FONT', `xft:Sans:size=12')
31 define(`MEDIUM_FONT', `xft:Sans:size=14')
32 define(`BIG_FONT', `xft:Sans:size=16')
33 define(`LARGE_FONT', `xft:Sans:size=18')
34 define(`HUGE_FONT', `xft:Sans:size=20')
35 define(`GIGANTIC_FONT', `xft:Sans:size=22')
38 define(`SMALL_BOLD_FONT', SMALL_FONT`:Bold')
39 define(`MEDIUM_BOLD_FONT', MEDIUM_FONT`:Bold')
40 define(`BIG_BOLD_FONT', BIG_FONT`:Bold')
42 define(`TITLE_FONT', MEDIUM_FONT)
43 define(`ICON_FONT', LARGE_FONT)
45 dnl Font and geometry aliases that depend on whether the screen resolution is
46 dnl 800x600, 1024x768 or 1920x1200
49 ifelse(eval(WIDTH < 1024), 1, `365x100+0+0',
50 eval(WIDTH < 1920), 1, `365x100+0+0', `600x160+0+0'))
52 define(`SMALL_PAGER_FONT', ifelse(eval(WIDTH < 1920), 1, VERY_SMALL_FONT, SMALL_FONT))
53 define(`PAGER_FONT', ifelse(eval(WIDTH < 1920), 1, SMALL_FONT, BIG_FONT))
54 define(`BUTTONS_FONT', PAGER_FONT)
58 ifelse(eval(WIDTH < 1024), 1, BIG_FONT,
59 eval(WIDTH < 1920), 1, LARGE_FONT, GIGANTIC_FONT))
60 define(`IDENT_FONT', MENU_FONT)
61 define(`WIN_LIST_FONT', MENU_FONT)
62 define(`ICON_BOX_FONT', MENU_FONT)
65 dnl XSetBg message width and font
67 ifelse(eval(WIDTH < 1024), 1, 70,
68 eval(WIDTH < 1920), 1, 75, 80))
70 define(`MESSAGE_FONT', `Nimbus Sans L 18')
75 ifelse(eval(WIDTH < 1024), 1, `80x25',
76 eval(WIDTH < 1920), 1, `80x30', `80x32'))
78 define(`TERM_GEOM_BOTLT', TERM_GEOM`+0-0')
79 define(`TERM_GEOM_BOTRT', TERM_GEOM`-0-0')
81 define(`TERM_GEOM_BIG',
82 ifelse(eval(WIDTH < 1024), 1, `96x30',
83 eval(WIDTH < 1920), 1, `112x32+2-0', `119x32+1-0'))
86 define(`TERM', `urxvt')
87 define(`TERM_KOI8', `Exec LC_CTYPE=ru_RU.KOI8-R exec TERM')
88 define(`TERM_UTF8', `Exec exec "$HOME"/lib/X11/utf8rxvt')
89 define(`TERM_KOI8_BOTLT', `TERM_KOI8 -geometry TERM_GEOM_BOTLT')
90 define(`TERM_UTF8_BOTLT', `TERM_UTF8 -geometry TERM_GEOM_BOTLT')
91 define(`TERM_KOI8_BOTRT', `TERM_KOI8 -geometry TERM_GEOM_BOTRT')
92 define(`TERM_UTF8_BOTRT', `TERM_UTF8 -geometry TERM_GEOM_BOTRT')
95 define(`SSH', `ssh -4')
97 define(`REMOTE_HOST_TERM', `$1 -e SSH $2')
99 define(`REMOTE_HOST_TERM_TITLE', `$1 -title $3 -n $3 -e SSH $2')
101 define(`REMOTE_HOST_KOI8',
102 REMOTE_HOST_TERM_TITLE(TERM_KOI8, $1, $2))
104 define(`REMOTE_HOST_KOI8_MENU',
105 "$2 (koi8)" REMOTE_HOST_KOI8($1, $2))
107 define(`REMOTE_HOST_KOI8_BOTLT',
108 REMOTE_HOST_TERM_TITLE(TERM_KOI8_BOTLT, $1, $2))
110 define(`REMOTE_HOST_KOI8_BOTRT',
111 REMOTE_HOST_TERM_TITLE(TERM_KOI8_BOTRT, $1, $2))
113 define(`REMOTE_HOST_KOI8_BOTLT_MENU',
114 "$2 (koi8,btlt)" REMOTE_HOST_KOI8_BOTLT($1, $2))
116 define(`REMOTE_HOST_KOI8_BOTRT_MENU',
117 "$2 (koi8,btrt)" REMOTE_HOST_KOI8_BOTRT($1, $2))
119 define(`REMOTE_HOST_UTF8',
120 REMOTE_HOST_TERM(TERM_UTF8, $1))
122 define(`REMOTE_HOST_UTF8_MENU',
123 "$2 (utf8)" REMOTE_HOST_UTF8($1, $2))
125 define(`REMOTE_HOST_UTF8_BOTLT',
126 REMOTE_HOST_TERM(TERM_UTF8_BOTLT, $1))
128 define(`REMOTE_HOST_UTF8_BOTRT',
129 REMOTE_HOST_TERM(TERM_UTF8_BOTRT, $1))
131 define(`REMOTE_HOST_UTF8_BOTLT_MENU',
132 "$2 (utf8,btlt)" REMOTE_HOST_UTF8_BOTLT($1, $2))
134 define(`REMOTE_HOST_UTF8_BOTRT_MENU',
135 "$2 (utf8,btrt)" REMOTE_HOST_UTF8_BOTRT($1, $2))
137 define(`REMOTE_HOST_KOI8_BIG',
138 TERM_KOI8 -geometry TERM_GEOM_BIG -title "$2" -n "$2" -e SSH "$1")
140 define(`REMOTE_HOST_KOI8_BIG_MENU',
141 "$2 (koi8)" REMOTE_HOST_KOI8_BIG($1, $2))
145 ##########################################################################
148 # Colon seperated unix directory paths for Modules, xpm files, and bitmaps
149 #ModulePath /usr/lib/fvwm
150 ImagePath /usr/share/pixmaps/fvwm:/usr/share/pixmaps:/usr/include/X11/bitmaps #:/usr/local/firefox/browser/chrome/icons/default:/usr/local/firefox/browser/icons
152 ############################################################################
155 # Set the fore and back border colors for the window that has focus
156 Style * HilightFore Black, HilightBack #c06077
158 # Set fore/back border colors for all other windows
159 Style * Color Black/#60a0c0
161 # Set colors/font for pop-up menus
162 # Syntax: MenuStyle forecolor backcolor shadecolor font style(fvwm/mwm)
163 MenuStyle * FVWM, Foreground Black, Background grey, Greyed SlateGrey, Font MENU_FONT
165 # Set fonts to use on title bar and icon label
166 Style * Font TITLE_FONT
168 ############################################################################
171 # If you don't want icons for some or all windows (or all of them!)
174 # If you want ALL icons to follow you around the desktop (Sticky)
177 # Auto Place Icons is a nice feature (Left Top Right Bottom)
178 #Style * IconBox 10 -75 -10 -0
180 Style * IconFont ICON_FONT
182 ############################################################################
185 # Does the window with focus control the colormap, or the one under the mouse
186 ColormapFocus FollowsMouse
188 # Uncomment this to force you to click in a window to give it focus
189 #Style * ClickToFocus
191 # default: focus follows mouse
193 #Style * FocusFollowsMouse
195 # If you knock your mouse out of the term, it keeps focus while in root window
198 ############################################################################
201 # click/release must occur in <n milliseconds to be a "click"
204 # if the window occupies less than n% of the screen, draw it opaque
207 # Do not flip pages on the edge of the screen, but allow to move windows
210 Style * EdgeMoveDelay 500
211 Style * EdgeMoveResistance 100
213 # MWM Emulation: Don't ignore hints for functions and transient decoration
214 #Style * MWMFunctions, MWMDecor, MWMButtons, MWMMenus
215 Style * MWMFunctions, MWMDecor, MWMButtons
217 # Changes the look of the "rubberband" you see when moving windows (0 - 255)
220 ###########################################################################
223 # set the desk top size in units of physical screen size (width x height)
226 ############################################################################
229 Style * PositionPlacement Center
231 ############################################################################
234 # (decorations and window options)
235 # Note: Order is important!! If compatible styles are set, styles are ORed
236 # together. If conflicting styles are set, the last one specified is used.
238 # change the default width, set a global icon, and give borders to popups
239 Style * BorderWidth 5, HandleWidth 5, Icon unknown1.xpm
240 Style * DecorateTransient, ClickToFocusRaisesOff
242 Style "Fvwm*" !Title, Sticky, WindowListSkip
243 Style "FvwmButtons" !Handles, BorderWidth 0, Layer 2
244 Style "FvwmPager" Layer 2
247 Style "*term" Icon term.xpm
248 Style "*rxvt" Icon term.xpm
249 Style "term-im-local" Icon pidgin-menu.xpm
250 Style "term-im-remote" Icon rcalc2.xpm
251 Style "term-im-*" IconBox 630 -75 -2 -2, IconGrid 200 80
252 Style "term-im-*" StartsOnPage 1 1 0, StartIconic
255 Style "Certificate Manager" PositionPlacement Center
256 Style "*Downloads" PositionPlacement 50-50w +5
257 Style "*Mozilla*" PositionPlacement +0 -0
259 Style "*Chromium*" PositionPlacement +0 -0
262 Style "Gajim" PositionPlacement +0 -0
263 Style "* - Gajim" MinOverlapPercentPlacement
265 Style "Buddy List" PositionPlacement +0 -0
266 Style "*Pidgin*" MinOverlapPercentPlacement
269 Style "*MPlayer*" Layer 6, PositionPlacement 250p 100p
270 Style "*mpv" Layer 6, PositionPlacement 250p 100p
272 Style "*clock" !Title, Sticky, WindowListSkip, Color Black/#40c040, NeverFocus, PositionPlacement 50-50w +1p, Layer 2
273 Style "emacs" NoPPosition
274 Style "gxmessage" PositionPlacement 50-50w +20
275 Style "*lock" !Title, Sticky, WindowListSkip
276 Style "Mosaic" NoPPosition
277 Style "xbiff" Icon mail1.xpm, !Title, Sticky, WindowListSkip
278 Style "xcalc" Icon xcalc.xpm
279 Style "xconsole" !Title, Sticky, WindowListSkip, NeverFocus
280 Style "xload" !Title, Sticky, WindowListSkip, NeverFocus
281 Style "xman" Icon xman.xpm
282 Style "xmh" Icon mail2.xpm
283 Style "xsession" !Title, Sticky, WindowListSkip, ClickToFocus
284 Style "XXkb" !Title, !Borders, Sticky, WindowListSkip, Layer 5
286 ############################################################################
290 ## Buttons actually being used (duplicated below)
292 #ButtonStyle 2 4 50x35@1 65x65@0 35x65@0 50x35@1
293 # small down triangle
294 #ButtonStyle 4 4 50x65@1 35x35@1 65x35@1 50x65@0
296 #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
301 # ButtonStyle * 4 50x35@1 65x65@0 35x65@0 50x35@1
302 # Small down Triangle
303 #ButtonStyle * 4 50x65@1 35x35@1 65x35@1 50x65@0
305 #ButtonStyle 6 4 50x25@1 75x75@0 25x75@0 50x25@1
306 # Large down Triangle
307 #ButtonStyle 8 4 50x75@1 25x25@1 75x25@1 50x75@0
312 ButtonStyle 4 5 25x25@1 25x75@1 75x75@0 75x25@0 25x25@1
314 ButtonStyle 5 5 40x40@1 60x40@1 60x60@0 40x60@0 40x40@1
316 #ButtonStyle 7 5 40x25@1 60x25@1 60x75@0 40x75@0 40x25@1
318 #ButtonStyle 5 5 45x45@1 55x45@1 55x55@0 45x55@0 45x45@1
319 # Big Box with arrow (left-up to right-down) to little box (iconify)
320 #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
321 # Big Box with arrow (right-up to left-down) to little box (iconify)
322 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
327 #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
328 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
330 #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
332 #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
336 # Small Lightning Bolt (skinny at both ends)
337 #ButtonStyle 5 7 70x15@0 30x55@1 50x55@0 40x85@1 80x45@0 60x45@1 70x15@0
338 # Big Lighting Bolt (Fat at top, comes to a point)
339 #ButtonStyle 6 8 35x15@1 20x50@1 40x50@0 30x80@1 75x40@0 50x40@1 75x15@0 35x15@1
341 ## Miscellaneous Buttons
343 # Nested Right Angles (looks kinda crappy)
344 #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
345 # Nested Right Angles (looks nice)
346 #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
347 # 4 Horizontal bars (sticky)
348 #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
349 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
350 # Expanding Windows (iconify -- looks NICE)
351 #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
356 #ButtonStyle 3 8 40x80@1 40x50@1 20x50@1 50x20@1 80x50@0 60x50@0 60x80@0 40x80@0
358 #ButtonStyle 3 8 40x20@1 40x50@1 20x50@1 50x80@1 80x50@0 60x50@0 60x20@0 40x20@1
360 #ButtonStyle 7 8 80x40@1 50x40@1 50x20@1 20x50@1 50x80@0 50x60@0 80x60@0 80x40@0
362 #ButtonStyle 8 8 20x40@1 50x40@1 50x20@1 80x50@1 50x80@0 50x60@0 20x60@0 20x40@1
363 # Horizontal Line with arrowheads on left and right ( <-> )
364 #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
365 # Vertical Line with arrowheads on top and bottom
366 #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
367 # Diagonal Line with arrowheads on top and bottom ( / )
368 #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
369 # Diagonal Line with arrowheads on top and bottom ( \ )
370 #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
373 #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
375 ############################################################################
378 # First, the root window. Button 1 brings up the Main Menu. B2 is the
379 # window operations list, and B3 is the winlist module
380 # Button Context Modifi Function
381 Mouse 1 R A Menu RootMenu Nop
382 Mouse 2 R A Menu Window-Ops Nop
383 Mouse 3 R A WindowList
385 # Now, title bar buttons
386 # Left button is the Window-Ops2 menu
387 # Button Context Modifi Function
388 Mouse 0 1 A Menu Window-Ops2 Close
391 # Right buttonsare iconify/maximize, rightmost is close
393 Mouse 0 4 A Maximize toggle
396 # Button 1 in Frame or Sides is a resize-or-raise, in Icons is a move or
397 # de-iconify, and on Top does a move-or-raise
398 # Button Context Modifi Function
399 Mouse 1 F A Resize-or-Raise
400 Mouse 1 S A Move-or-Raise
401 Mouse 1 I A Move-or-Iconify
402 #Mouse 1 T A Move-or-Raise
405 # Button 2 in an Icon is de-iconify, in Corners/Sides/Titlebar gets Ops Menu
406 # Button Context Modifi Function
408 Mouse 2 FST A Menu Window-Ops2 Nop
410 # Button 3 does a raise-lower on anything
411 Mouse 3 TSIF A RaiseLower
413 ############################################################################
417 # press arrow + control + meta anywhere, and scroll by 1 page
418 Key Left A CM Scroll -100 +0
419 Key Right A CM Scroll +100 +0
420 Key Up A CM Scroll +0 -100
421 Key Down A CM Scroll +0 +100
423 # press arrow + meta key, and scroll by 1/10 of a page
424 Key Left A M Scroll -10 +0
425 Key Right A M Scroll +10 +0
426 Key Up A M Scroll +0 -10
427 Key Down A M Scroll +0 +10
429 # press shift arrow + control anywhere, and move the pointer by 1% of a page
430 Key Left A SC CursorMove -1 +0
431 Key Right A SC CursorMove +1 +0
432 Key Up A SC CursorMove +0 -1
433 Key Down A SC CursorMove +0 +1
435 # press shift arrow + meta key, and move the pointer by 1/10 of a page
436 Key Left A SM CursorMove -10 +0
437 Key Right A SM CursorMove +10 +0
438 Key Up A SM CursorMove +0 -10
439 Key Down A SM CursorMove +0 +10
441 # Switch window, mswindows style :)
442 Key Tab A M Next [*] focus
443 Key Escape A M Prev [*] focus
450 Key 5 A CM GotoPage 0 0
451 Key 6 A CM GotoPage 1 0
452 Key 7 A CM GotoPage 0 1
453 Key 8 A CM GotoPage 1 1
455 #############################################################################
458 DestroyFunc InitFunction
459 AddToFunc InitFunction
460 + I Module FvwmBacker
461 + I Module FvwmButtons
462 + I Module FvwmCommandS
463 + I Module FvwmPager 0 2
465 DestroyFunc RestartFunction
466 AddToFunc RestartFunction
467 + I Module FvwmBacker
468 + I Module FvwmButtons
469 + I Module FvwmCommandS
470 + I Module FvwmPager 0 2
471 + I Schedule 1000 Raise-All
473 DestroyFunc UrgencyFunc
474 AddToFunc UrgencyFunc
476 + I ThisWindow ("*Downloads") Break
479 + I WarpToWindow 5p 5p
481 DestroyFunc StartStandardSession
482 AddToFunc StartStandardSession
483 + I GotoDeskAndPage 0 0 0
486 + I GotoDeskAndPage 0 0 1
487 + I TERM_UTF8 -geometry 38x30+0-0
489 + I Exec exec pulseaudio --start
491 + I Exec exec "$HOME"/current/projects/audio-cdr-video/audio/pa-mic-off
494 + I GotoDeskAndPage 1 0 1
497 + I GotoDeskAndPage 2 0 1
498 + I TERM_KOI8 -geometry TERM_GEOM_BIG
502 DestroyFunc ResumeFunction
503 AddToFunc ResumeFunction
504 + I GotoDeskAndPage 0 0 0
507 + I Exec exec pulseaudio --start
508 + I None ("Volume Control") PaVuControl
509 + I Exec sleep 10; exec "$HOME"/current/projects/audio-cdr-video/audio/pa-mic-off
512 + I Any ("*Mozilla Firefox") GotoDeskAndPage 0 0 0
513 + I TestRc (Match) Break
514 + I None ("*Mozilla Firefox") FireFox
516 ############################################################################
520 AddToFunc Center I Move 50-50w 50-50w
521 + I WarpToWindow 74p 18p
523 DestroyFunc Iconify-and-Raise
524 AddToFunc Iconify-and-Raise I Iconify
527 DestroyFunc Maximize-Func
528 AddToFunc Maximize-Func C Maximize toggle
531 DestroyFunc Move-or-Iconify
532 AddToFunc Move-or-Iconify I Raise
536 DestroyFunc Move-or-Raise
537 AddToFunc Move-or-Raise I Raise
541 DestroyFunc Move-or-Raise2
542 AddToFunc Move-or-Raise2 M Raise
546 DestroyFunc Resize-or-Raise
547 AddToFunc Resize-or-Raise I Raise
551 DestroyFunc Resize-or-Raise2
552 AddToFunc Resize-or-Raise2 M Raise
557 AddToFunc Shadify D WindowShade
561 DestroyFunc warp-or-run
562 AddToFunc warp-or-run I Next [$0 CirculateHit] Iconify -1
563 + I Next [$0 CirculateHit] Focus
566 DestroyFunc MailFunction
567 AddToFunc MailFunction I Next [$0] Iconify -1
569 + I None [$0] Exec exec $0 $1
571 DestroyFunc PrintFunction
572 AddToFunc PrintFunction I Raise
573 + I Exec exec xdpr -id $w
575 DestroyFunc Raise-All
576 AddToFunc Raise-All I All Raise
578 ##############################################################################
579 # User-defined functions
582 DestroyFunc PaVuControl
583 AddToFunc PaVuControl I GotoDeskAndPage 0 1 1
584 + I Exec exec pavucontrol
585 + I Wait "Volume Control"
589 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 -
590 changequote([`], ['])
592 DestroyFunc AudioPlayer
593 AddToFunc AudioPlayer I GotoDeskAndPage 0 1 1
594 + I Exec exec audacious
596 DestroyFunc Term-Phdru
597 AddToFunc Term-Phdru I GotoDeskAndPage 1 0 1
598 + I REMOTE_HOST_KOI8(phdru.name, phdru.name)
600 DestroyFunc Term-Phdru-Big
601 AddToFunc Term-Phdru-Big I GotoDeskAndPage 1 0 1
602 + I REMOTE_HOST_KOI8_BIG(phdru.name, phdru.name)
605 AddToFunc FireFox I Any ("*Mozilla Firefox") Break
606 + I GotoDeskAndPage 1 0 0
607 + I Exec exec start-browser firefox
608 + I Wait "*Mozilla Firefox"
609 + I Exec exec firefox --new-window
610 + I Wait "*Mozilla Firefox"
611 + I Next ("*Mozilla Firefox") Iconify true
614 AddToFunc Gajim I GotoDeskAndPage 1 1 0
618 AddToFunc Pidgin I GotoDeskAndPage 1 1 0
621 DestroyFunc XFilename
622 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 -
624 ##############################################################################
628 # This defines the most common window operations
629 AddToMenu Window-Ops "Window Ops" Title
631 + "Move" Move-or-Raise2
632 + "Resize" Resize-or-Raise2
635 + "(De)Iconify" Iconify
637 + "(Un)Maximize" maximize_func
643 + "Refresh Screen" Refresh
645 # A trimmed down version of "Window Ops", good for binding to decorations
646 DestroyMenu Window-Ops2
647 AddToMenu Window-Ops2 "Center" Center
648 + "Move" Move-or-Raise
651 + "Refresh" RefreshWindow
657 + "Resize" Resize-or-Raise
658 + "Shade" WindowShade
659 + "Raise/Lower" RaiseLower
661 + "ScrollBar" Module FvwmScroll 2 2
662 + "Print" PrintFunction
664 AddToMenu Terminals "Terminals" Title
665 + "Grey term (koi8)" TERM_KOI8
666 + "Grey term (utf8)" TERM_UTF8
667 + "Grey term (koi8,btlt)" TERM_KOI8_BOTLT
668 + "Grey term (koi8,btrt)" TERM_KOI8_BOTRT
669 + "Grey term (utf8,btlt)" TERM_UTF8_BOTLT
670 + "Grey term (utf8,btrt)" TERM_UTF8_BOTRT
671 + "Big grey term (koi8)" TERM_KOI8 -geometry TERM_GEOM_BIG
672 + "Big grey term (utf8)" TERM_UTF8 -geometry TERM_GEOM_BIG
674 + "White/black term (koi8)" TERM_KOI8 -fg white -cr white -bg black
675 + "White/black term (utf8)" TERM_UTF8 -fg white -bg black
677 AddToMenu TermColors "Term Colors" Title
678 + "Term: black/mediumturquoise" TERM_KOI8 -fg black -cr black -bg mediumturquoise
679 + "Term: black/lightseagreen" TERM_KOI8 -fg black -cr black -bg lightseagreen
681 + "Term: black/lightsteelblue" TERM_KOI8 -fg black -cr black -bg lightsteelblue
682 + "Term: black/lightblue3" TERM_KOI8 -fg black -cr black -bg lightblue3
684 + "Term: black/lightgoldenrod" TERM_KOI8 -fg black -cr black -bg lightgoldenrod
685 + "Term: black/rosybrown1" TERM_KOI8 -fg black -cr black -bg rosybrown1
686 + "Term: black/pink1" TERM_KOI8 -fg black -cr black -bg pink1
688 + "Term: white/orchid4" TERM_KOI8 -fg white -cr white -bg orchid4
689 + "Term: white/purple3" TERM_KOI8 -fg white -cr white -bg purple3
690 + "Term: white/purple4" TERM_KOI8 -fg white -cr white -bg purple4
692 + "Term: white/lightslategrey" TERM_KOI8 -fg white -cr white -bg lightslategrey
693 + "Term: white/navyblue" TERM_KOI8 -fg white -cr white -bg navyblue
694 + "Term: white/mediumblue" TERM_KOI8 -fg white -cr white -bg mediumblue
695 + "Term: white/steelblue" TERM_KOI8 -fg white -cr white -bg steelblue
697 + "Term: white/forestgreen" TERM_KOI8 -fg white -cr white -bg forestgreen
698 + "Term: white/rosybrown" TERM_KOI8 -fg white -cr white -bg rosybrown
699 + "Term: white/deeppink" TERM_KOI8 -fg white -cr white -bg deeppink
700 + "Term: white/black" TERM_KOI8 -fg white -cr white -bg black
702 AddToMenu Systems "Systems" Title
703 + REMOTE_HOST_KOI8_MENU(phdru.name, phdru)
704 + REMOTE_HOST_UTF8_BOTLT_MENU(phdru.name, phdru)
705 + REMOTE_HOST_KOI8_BIG_MENU(phdru.name, PHDRU)
707 AddToMenu FvwmCommands "Fvwm Commands" Title
709 + "Raise all" Raise-All
710 #+ "Restart Fvwm2" Restart fvwm2
711 #+ "Start Fvwm" Restart fvwm
712 + "Fvwm Setup" Popup FvwmSetup
713 + "Fvwm Modules" Popup FvwmModules
717 AddToMenu FvwmSetup "Fvwm Setup" Title
718 + "Start standard session" StartStandardSession
719 + "Change Scrolling" Popup FvwmScroll
721 AddToMenu FvwmScroll "Change Scroll Behavior" Title
722 + "OFF" EdgeScroll 0 0
723 + "ON" EdgeScroll 100 100
724 + "Horizontal Only" EdgeScroll 100 0
725 + "Vertical Only" EdgeScroll 0 100
726 + "Partial" EdgeScroll 50 50
728 AddToMenu FvwmModules "Fvwm Modules" Title
729 + "Animate" Module FvwmAnimate
730 + "Auto" Module FvwmAuto
731 + "Backer" Module FvwmBacker
732 + "Banner" Module FvwmBanner
733 + "Buttons" Module FvwmButtons
734 + "Cascade" Module FvwmCascade
735 + "CommandS" Module FvwmCommandS
736 + "Console" Module FvwmConsole
737 + "ConsoleC" Module FvwmConsoleC -e FvwmConsoleC.pl
738 + "Cpp" Module FvwmCpp
739 + "Debug" Module FvwmDebug
740 + "DragWell" Module FvwmDragWell
741 + "Event" Module FvwmEvent
742 + "Form" Module FvwmForm
743 + "Gtk" Module FvwmGtk
744 + "IconBox" Module FvwmIconBox
745 + "IconMan" Module FvwmIconMan
746 + "Ident" Module FvwmIdent
748 + "Pager" Module FvwmPager 0 2
749 + "Rearrange" Module FvwmRearrange
750 + "Save" Module FvwmSave
751 + "SaveDesk" Module FvwmSaveDesk
752 + "Script" Module FvwmScript
753 + "Scroll" Module FvwmScroll
754 + "TaskBar" Module FvwmTaskBar
755 + "Theme" Module FvwmTheme
756 + "Tile" Module FvwmTile
757 + "Wharf" Module FvwmWharf
758 + "WinList" Module FvwmWinList
760 # This is the root menu
761 AddToMenu RootMenu "Root Menu" Title
762 + "Terminals" Popup Terminals
763 #+ "Color term" Popup TermColors
764 + "Systems" Popup Systems
766 + "Browsers" Popup Browsers
767 + "Utilities" Popup Utilities
769 #+ "Lock Screen" Popup XlockMenu
770 + "XScreenSaver" Popup XScreenSaverMenu
771 #+ "Tv-tuner" Popup Tv-tuner
773 + "XSetBg" Popup XSetBgMenu
774 + "Fvwm Commands" Popup FvwmCommands
776 # This menu will fire up some often used programs
777 DestroyMenu Utilities
778 AddToMenu Utilities "Choose one:" Title
779 + "qPDFview" Exec exec qpdfview
780 + "FBReader" Exec exec fbreader
782 + "GVim" Exec exec gvim
784 #+ "XFortune" Exec /usr/games/fortune | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -
785 #+ "xbuffy" Exec exec xbuffy -fn 'XBUFFY_FONT' -geometry +0+125 -boxfile mail/misc/.xbuffyrc
787 + "pavucontrol" PaVuControl
788 + "AudioPlayer" AudioPlayer
794 + "xload" Exec exec xload -geometry =136x136+0+0
795 + "Top" TERM_KOI8 -T Top -n Top -e top
797 + "Refresh Screen" Refresh
798 + "xrefresh" Exec exec xrefresh
800 #+ "xcalc" Exec exec xcalc
801 + "xclipboard" Exec exec xclipboard
802 + "xcutsel" Exec exec xcutsel
803 #+ "xman" Exec exec xman -notopbox -geometry +150+102
804 #+ "emacs" Exec emacs -geometry 81x35+150+34
805 #+ "xv" Function warp-or-run xv "Exec exec xv -ncols 240 -geometry +0+0"
808 AddToMenu Browsers "Choose one:" Title
810 + "Chromium" None ("*Chromium") Exec exec start-browser chromium
811 + "Opera" None ("*Opera") Exec exec start-browser opera
813 # A wide variety of screenlocking options...
814 #AddToMenu XlockMenu "Choose one:" Title
815 #+ "Hop" Exec exec xlock -mode hop
816 #+ "Image" Exec exec xlock -mode image
817 #+ "Life" Exec exec xlock -mode life
818 #+ "Flame" Exec exec xlock -mode flame
819 #+ "Pyro" Exec exec xlock -mode pyro
820 #+ "Qix" Exec exec xlock -mode qix
821 #+ "Rotor" Exec exec xlock -mode rotor
822 #+ "Swarm" Exec exec xlock -mode swarm
824 #+ "Random" Exec exec xlock -mode random
825 #+ "Blank" Exec exec xlock -mode blank
827 AddToMenu XScreenSaverMenu "Choose mode:" Title
828 + "Blank Screen Now" Exec exec xscreensaver-command -activate
829 + "Lock Screen Now" Exec exec xscreensaver-command -lock
830 + "Screen Saver Demo" Exec exec xscreensaver-command -demo
831 + "Screen Saver Preferences" Exec exec xscreensaver-command -prefs
832 + "Reinitialize Screen Saver" Exec exec xscreensaver-command -restart
834 + "Kill Screen Saver" Exec exec xscreensaver-command -exit
835 + "Launch Screen Saver" Exec exec xscreensaver
837 AddToMenu XSetBgMenu "XSetBg" Title
838 + "Change wallpaper" Exec exec "$HOME"/current/projects/xsetbg/xsetbg-force
839 + "Start" Exec exec "$HOME"/current/projects/xsetbg/xsetbg-http-start
840 + "Stop" Exec exec "$HOME"/current/projects/xsetbg/xsetbg-http-stop
841 + "Restart" Exec exec "$HOME"/current/projects/xsetbg/xsetbg-http-restart
844 + "Xli" Exec fn="`$HOME/current/projects/xsetbg/print-filename.py -e koi8-r`" && exec xli -title "`echo $fn | sed 's/ /_/g'`" "$fn"
845 + "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"
846 + "Open in browser" Exec exec webbrowserX -n "`$HOME/current/projects/xsetbg/print-filename.py -e koi8-r`"
847 + "Filename" Exec exec "$HOME"/current/projects/xsetbg/print-filename.py -e koi8-r
848 + "XFilename" Exec "$HOME"/current/projects/xsetbg/print-filename.py | text-wrap.py | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -
849 + "XFilename (wrapped)" XSetbgFilename
851 + "Xli (prev.)" Exec fn="`$HOME/current/projects/xsetbg/print-filename.py -e koi8-r 1`" && exec xli -title "`echo $fn | sed 's/ /_/g'`" "$fn"
852 + "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"
853 + "Open in browser (prev.)" Exec exec webbrowserX -n "`$HOME/current/projects/xsetbg/print-filename.py -e koi8-r 1`"
854 changequote([`], ['])
855 + "Filename (prev.)" Exec exec "$HOME"/current/projects/xsetbg/print-filename.py -e koi8-r 1
856 + "XFilename (prev.)" Exec "$HOME"/current/projects/xsetbg/print-filename.py 1 | text-wrap.py | gxmessage -buttons Ok -default Ok -fn 'MESSAGE_FONT' -file -
857 + "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 -
859 ############################################################################
862 #*FvwmBacker: Command (Desk 0, Page * *) -solid DarkCyan
863 #*FvwmBacker: Command (Desk 1, Page * *) -solid steelblue
864 #*FvwmBacker: Command (Desk 2, Page * *) -solid midnightblue
865 *FvwmBacker: Command (Desk *, Page * *) Exec exec "$HOME"/current/projects/xsetbg/xsetbg-http-change
867 ############################################################################
871 *FvwmButtons: Fore Black
872 *FvwmButtons: Back rgb:90/80/90
875 *FvwmButtons: Font BUTTONS_FONT
877 # Geometry-- really likes to pick its own size, but giving a position is OK
878 *FvwmButtons: Geometry -1+1
880 # Layout: specify rows or columns, not both
881 *FvwmButtons: Rows 2 #, Columns 5
883 # Transparent background
884 #*FvwmButtons: Pixmap none
886 #*FvwmButtons: Pixmap fvwm.xpm
888 # Define the buttons to use.....
889 #*FvwmButtons: Move arrows2.xpm Move
890 #*FvwmButtons: Kill skull.xpm Destroy
891 #*FvwmButtons: Quit nuke.xpm Popup "Quit-Verify"
893 #*FvwmButtons: (Swallow XClock 'Exec exec xclock -update 1 -geometry -3000-3000')
896 pushdef(`TERM_KOI8', `Exec "TERM" LC_CTYPE=ru_RU.KOI8-R exec TERM')
897 pushdef(`TERM_UTF8', `Exec "URxvt" exec "$HOME"/lib/X11/utf8rxvt')
898 *FvwmButtons: (Title Term, Icon rterm2.xpm, Action TERM_KOI8)
899 *FvwmButtons: (Title UTF-8, Icon rterm2.xpm, Action TERM_UTF8)
900 *FvwmButtons: (Title phdru, Icon xterm-sgi.xpm, Action REMOTE_HOST_KOI8(phdru.name, phdru.name))
901 popdef(`TERM_KOI8', `TERM_UTF8')
903 *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 -)
904 *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 -)
905 *FvwmButtons: (Title Next, Icon Jrecycle.xpm, Action Exec exec "$HOME"/current/projects/xsetbg/xsetbg-http-force)
906 *FvwmButtons: (Title pavucontrol, Icon mini.sound.xpm, Action Exec "Volume Control" exec pavucontrol)
907 #*FvwmButtons: (Title Id3Info, Icon bell.xpm, Action Id3Info)
908 *FvwmButtons: (Title AudioPlayer, Icon bell.xpm, Action Exec "Audacious" exec audacious)
909 #*FvwmButtons: (Title XLock, Icon Jxlock.xpm, Action Exec exec xscreensaver-command -lock)
911 ############################################################################
914 # FvwmForm alias - rlogin to host via term
916 #*Rlogin: WarpPointer
917 #*Rlogin: Font *helvetica*m*r*n*14*
918 #*Rlogin: ButtonFont *helvetica*m*o*n*14*
919 #*Rlogin: InputFont *cour*m*r*n*14*
921 #*Rlogin: Back Light Gray
922 #*Rlogin: ItemFore Wheat
923 #*Rlogin: ItemBack Gray50
925 #*Rlogin: Line center
926 #*Rlogin: Text "Login to Remote Host"
927 #*Rlogin: Line center
928 #*Rlogin: Text "Host:"
929 #*Rlogin: Input HostName 20 ""
930 #*Rlogin: Line center
931 #*Rlogin: Selection UserSel single
932 #*Rlogin: Choice Default Default on "same user"
933 #*Rlogin: Choice Custom Custom off "user:"
934 #*Rlogin: Input UserName 10 ""
935 #*Rlogin: Line expand
936 #*Rlogin: Button quit "Login" ^M
937 #*Rlogin: Command TERM_KOI8 -T term@$(HostName) -e rlogin $(HostName) $(Custom?-l $(UserName))
938 #*Rlogin: Button restart "Clear"
939 #*Rlogin: Command Beep
940 #*Rlogin: Button quit "Cancel"
941 #*Rlogin: Command Nop
943 ## FvwmForm alias - query exit ala mwm
945 #*QuitVerify: GrabServer
946 #*QuitVerify: WarpPointer
947 #*QuitVerify: Font *helvetica*m*r*n*14*
948 ##*QuitVerify: ButtonFont *helvetica*m*o*n*14*
949 #*QuitVerify: ButtonFont 7x13bold
950 #*QuitVerify: Fore Black
951 #*QuitVerify: Back Light Gray
952 #*QuitVerify: ItemFore Wheat
953 #*QuitVerify: ItemBack Gray50
955 #*QuitVerify: Line center
956 #*QuitVerify: Text "Do you really want to exit FVWM?"
957 #*QuitVerify: Line expand
958 #*QuitVerify: Button quit " Exit "
959 #*QuitVerify: Command Quit
960 #*QuitVerify: Button quit "Cancel"
961 #*QuitVerify: Command Nop
964 ## MyTalk & MyFvwmTalk from Dave Goldberg
965 ## MyTalk Form - dissappears after use
967 #*MyTalk: WarpPointer
968 #*MyTalk: Font *helvetica*m*r*n*14*
969 #*MyTalk: ButtonFont *helvetica*m*o*n*14*
970 #*MyTalk: InputFont *cour*m*r*n*14*
973 #*MyTalk: ItemFore Blue
974 #*MyTalk: ItemBack Gray
975 #*MyTalk: Line center
976 #*MyTalk: Text "Fvwm Function"
977 #*MyTalk: Input Func 40 ""
978 #*MyTalk: Line expand
979 #*MyTalk: Button quit "Run" ^M
980 #*MyTalk: Command $(Func)
981 #*MyTalk: Button restart "Clear" ^R
982 #*MyTalk: Button quit "Cancel" ^C
983 #*MyTalk: Command Nop
985 ## MyFvwmTalk Form - sticks around
987 #*MyFvwmTalk: WarpPointer
988 #*MyFvwmTalk: Font *helvetica*m*r*n*14*
989 #*MyFvwmTalk: ButtonFont *helvetica*m*o*n*14*
990 #*MyFvwmTalk: InputFont *cour*m*r*n*14*
991 #*MyFvwmTalk: Fore Red
992 #*MyFvwmTalk: Back Gray
993 #*MyFvwmTalk: ItemFore Blue
994 #*MyFvwmTalk: ItemBack Gray
995 #*MyFvwmTalk: Line center
996 #*MyFvwmTalk: Text "Fvwm Function"
997 #*MyFvwmTalk: Input Func 40 ""
998 #*MyFvwmTalk: Line expand
999 #*MyFvwmTalk: Button restart "Run" ^M
1000 #*MyFvwmTalk: Command $(Func)
1001 #*MyFvwmTalk: Button restart "Clear" ^R
1002 #*MyFvwmTalk: Command Nop
1003 #*MyFvwmTalk: Button restart "Iconify" ^Z
1004 #*MyFvwmTalk: Command Next [MyFvwmTalk] Iconify
1005 #*MyFvwmTalk: Button quit "Quit" ^C
1006 #*MyFvwmTalk: Command Nop
1008 ############################################################################
1011 # NOTE: Icons will only be shown in module if "Style * !Icon" is set
1012 *FvwmIconBox: IconBack #cfcfcf
1013 *FvwmIconBox: IconHiFore black
1014 *FvwmIconBox: IconHiBack LightSkyBlue
1015 *FvwmIconBox: Back #5f9ea0
1016 #*FvwmIconBox: Fore blue
1017 *FvwmIconBox: Geometry 5x1+0+0
1018 *FvwmIconBox: MaxIconSize 64x38
1019 *FvwmIconBox: Font ICON_BOX_FONT
1020 *FvwmIconBox: SortIcons IconName
1021 *FvwmIconBox: Padding 4
1022 *FvwmIconBox: Lines 10
1023 *FvwmIconBox: SBWidth 11
1024 *FvwmIconBox: Placement Left Top
1025 *FvwmIconBox: Pixmap fvwm.xpm
1026 #*FvwmIconBox: HideSC Horizontal
1027 *FvwmIconBox: SetWMIconSize
1028 *FvwmIconBox: HilightFocusWin
1029 #*FvwmIconBox: Resolution Desk
1030 *FvwmIconBox: Mouse 1 Click RaiseLower
1031 *FvwmIconBox: Mouse 1 DoubleClick Iconify
1032 *FvwmIconBox: Mouse 2 Click Iconify -1, Focus
1033 *FvwmIconBox: Mouse 3 Click Module FvwmIdent
1034 *FvwmIconBox: Key r RaiseLower
1035 *FvwmIconBox: Key space Iconify
1036 *FvwmIconBox: Key d Close
1037 *FvwmIconBox: Key n Next
1038 *FvwmIconBox: Key p Prev
1039 *FvwmIconBox: Key h Left
1040 *FvwmIconBox: Key j Down
1041 *FvwmIconBox: Key k Up
1042 *FvwmIconBox: Key l Right
1044 ############################################################################
1047 # Give us colors and a fonts
1048 *FvwmIdent: Back MidnightBlue
1049 *FvwmIdent: Fore Yellow
1050 *FvwmIdent: Font IDENT_FONT
1052 ############################################################################
1055 *FvwmPager: Back #908090
1056 *FvwmPager: Fore #484048
1057 *FvwmPager: Font TITLE_FONT
1058 *FvwmPager: Hilight #cab3ca
1059 *FvwmPager: Geometry PAGER_GEOM
1060 *FvwmPager: Label 0 System
1061 *FvwmPager: Label 1 Net
1062 *FvwmPager: Label 2 Work
1063 *FvwmPager: SmallFont SMALL_PAGER_FONT
1065 *FvwmPager: Balloons All
1066 *FvwmPager: BalloonBack #efe3b5
1067 *FvwmPager: BalloonFore Black
1068 *FvwmPager: BalloonFont ICON_FONT
1069 *FvwmPager: BalloonYOffset +2
1070 *FvwmPager: BalloonBorderWidth 1
1071 *FvwmPager: BalloonBorderColor Black
1073 ############################################################################
1076 *FvwmScroll: Back grey40
1077 *FvwmScroll: Fore green
1079 ############################################################################
1082 *FvwmWinList: Back #908090
1083 *FvwmWinList: Fore Black
1084 *FvwmWinList: Font WIN_LIST_FONT
1085 *FvwmWinList: Action Click1 Iconify -1, Focus
1086 *FvwmWinList: Action Click2 Iconify
1087 *FvwmWinList: Action Click3 Module "FvwmIdent: " FvwmIdent
1088 *FvwmWinList: UseSkipList
1089 *FvwmWinList: Geometry +10-10