/
config
893 lines (778 loc) · 34.4 KB
/
config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
# fvwm2 configuration for cjs
#
# Notes:
#
# * Lines beginning with `#` are ignored. No EOL comments (I think),
# except where that's a comment in a shell command.
# * Search the manpage for `Style stylename options ...` for more
# details. _stylename_ may be a window's class, name or resource string
# with wildcards `*` and `?`.
# * See end of file for `Style` overrides for particular applications.
#
######################################################################
# X server setup before the config is processed.
# Fvwm by default ignores the CapsLock modifier (L) when checking
# key and mouse bindings. NumLock (2), which may be enabled at X11
# startup on some hardware, and ScrollLock (5) are also considered
# modifiers, but I never want to use them as such.
#
# According to the manpage and FAQ, more than two modifiers can
# "create a lot of extra network traffic" (depending), but I don't
# see this being an issue on modern hosts.
#
# For systems starting X11 with NumLock enabled, consider installing
# `numlockx` and setting `/etc/default/numlockx` to turn it off.
IgnoreModifiers L25
######################################################################
# Desktop Configuration
DeskTopSize 1x1
DesktopName 0 B
DesktopName 1 F1
DesktopName 2 F2
DesktopName 3 F3
DesktopName 4 F4
DesktopName 5 F5
DesktopName 6 F6
DesktopName 7 F7
DesktopName 8 F8
DesktopName 9 F9
DesktopName 10 F10
DesktopName 11 F11
DesktopName 12 F12
DesktopName 13 F13
EdgeResistance 100
Style * EdgeMoveDelay 100
Style * EdgeMoveResistance 100
EdgeScroll 100 100
EdgeThickness 0
ClickTime 750
OpaqueMoveSize unlimited
######################################################################
# Menu/Window Styles
#
ColormapFocus FollowsMouse
# Colorsets
# (bin/xresetup sets root window to solid #005048)
# (Generally, even is standard and odd is highlight version)
Colorset 99 Foreground Black, Background Black
Colorset 100 Foreground Grey85, Background #006058 # Dark: Menus
Colorset 101 Foreground Grey85, Background #008078
# Title bars: Reddish for focused, light for not
Colorset 102 Foreground Black, Background #98b0a0
Colorset 103 Foreground Black, Background #c8b0a0
# Borders and titlebars
BorderStyle -- Flat
Style * Borders, !Handles, BorderWidth 1
Style * BorderColorset 99, HilightBorderColorset 99
TitleStyle -- Flat
Style * Title, TitleAtBottom, Colorset 102, HilightColorset 103
Style * Font "xft:Source Code Pro:size=7"
#Style * TitleFormat %n | class=%c res=%r # Debugging
# Alternate fonts: default, bitmap, scaled
# View fonts with xfontsel for X11 fonts or for xft fonts:
# pango-view --font='Source Code Pro, 6' -t 'long text here'
#Style * Font # default
#Style * Font -*-clean-medium-r-*-*-*-80-*-*-*-*-*-*
#Style * Font "xft:DejaVu Sans Mono:size=8"
MenuStyle * fvwm
MenuStyle * MenuColorset 100, ActiveColorset 101, HilightBack
MenuStyle * Font "xft:DejaVu Sans:size=10"
MenuStyle * PopupOffset 0 95
MenuStyle * TitleUnderlines2, SeparatorsLong
# Focus policy can also be changed in menu-windowops-config.
Style * FocusFollowsMouse
Style * MinOverlapPercentPlacement
Style *term TileManualPlacement
Style *Rxvt TileManualPlacement
Style CSSH* MinOverlapPercentPlacement
Style * SnapAttraction 10 Windows Screen
Style * NoIcon
# Because we use FvwmIconMan
Style * NakedTransient
Style * UseTransientPPosition
Style * FPGrabFocusTransient, FPReleaseFocusTransient
Style * RaiseTransient, LowerTransient, StackTransientParent
Style * MWMFunctions, MWMDecor, HintOverride, !UsePPosition
Style * EWMHUseStackingOrderHints
Style * ResizeOpaque
# Styles for various Fvwm modules:
Style Fvwm* NoTitle, Sticky, WindowListSkip
Style Fvwm* CirculateSkipIcon, CirculateSkip
Style FvwmConsole Title, !Sticky
Style FvwmPager StaysOnTop
Style FvwmBanner StaysOnTop
Style FvwmButtons Icon toolbox.xpm, ClickToFocus
# Things that sit in the notification area
#Style skype PositionPlacement +0 -0, Sticky
Style pidgin Sticky
Style "Buddy List" PositionPlacement +0 -0, Layer 6
#Style XTerm Icon xterm.xpm, SloppyFocus, IconBox -70 1 -1 -140
#Style rxvt Icon term.xpm, SloppyFocus, IconBox -70 1 -1 -140
Style *lock !Title, !Borders, Sticky, WindowListSkip, ClickToFocus
Style ispell FPGrabFocus, FPReleaseFocus
Style QuickShell FPGrabFocus, FPReleaseFocus
#Style xbiff NoTitle, Sticky, WindowListSkip, ClickToFocus
#Style xcalc Icon xcalc.xpm, NoButton 2,ClickToFocus
#Style xmh Icon mail1.xpm, NoIconTitle,StickyIcon
#Style xmh NoButton 2
#Style xman Icon xman.xpm, ClickToFocus
#Style xmag Icon mag_glass.xpm, ClickToFocus
#Style xgraph Icon graphs.xpm, ClickToFocus
#Style xmosaic Color Green/Yellow, ClickToFocus
#Style OpenOffice* NoFuncHint
Style CSSH TileCascadePlacement
# This is called when a window receives an urgency hint; see
# http://fvwmforums.org/wiki/Tips/FocusStealing/#urgencyfunc
#
DestroyFunc UrgencyFunc
AddToFunc UrgencyFunc
+ I ThisWindow ("Google Hangouts*") Break
+ I ThisWindow ("Signal*") Break
+ I Iconify off
+ I FlipFocus
+ I Raise
+ I WarpToWindow 50p 50p
DestroyFunc UrgencyDoneFunc
AddToFunc UrgencyDoneFunc
+ I Nop
######################################################################
# Key Bindings
#
# Key [window] Keyname Context Modifiers Function
# Keyname: From /usr/include/X11/keysymdef.h
# Context: A=any M=menu; see config-notes for more
# Modifiers: NCSMLA None Control Shift Meta capsLock Any
# Function: function name or '-' to remove fwvm binding
#
# Meta-shift-pause: emergency restart
Key Pause A SM Restart /usr/bin/fvwm
# Menus
# Window switch menu. (For pair programming, we also bind Alt-Tab to
# CurrentDesk switch menu to emulate common Gnome/Windows/etc. behaviour.)
#
Key Muhenkan A N WindowList (CurrentDesk) Root c c CurrentAtEnd,IconifiedAtEnd,NoGeometryWithInfo,NoDeskNum,NoNumInDeskTitle
Key Muhenkan A S WindowList Root c c CurrentAtEnd,IconifiedAtEnd,NoGeometryWithInfo,NoDeskNum,NoNumInDeskTitle,NoCurrentDeskTitle,TitleForAllDesks
Key Muhenkan A C Menu menu-gotodesk
Key Tab A M WindowList (CurrentDesk) Root c c CurrentAtEnd,IconifiedAtEnd,NoGeometryWithInfo,NoDeskNum,NoNumInDeskTitle
Key Henkan_Mode A N Menu menu-windowops
Key Henkan_Mode A S Stick
Key Henkan_Mode A CS Close
Key Henkan_Mode A C Exec xmessage \
-nearmouse -g 75x75 -name 'LocateCursor' \
-timeout 1 -buttons '' -bg red -fg white ''
Style LocateCursor UsePPosition, NoTitle, NoHandles, BorderWidth 37
Key Hiragana A N Menu menu-root
Key Hiragana_Katakana A N Menu menu-root
Key H M C MenuCursorLeft
Key K M C MenuMoveCursor -1
Key J M C MenuMoveCursor +1
Key L M C MenuCursorRight
Key BackSpace M N MenuLeaveSubmenu
Key F1 M N MenuTearOff
# Keep torn-off menus in current position
Style fvwm_menu UsePPosition
# Meta PgUp/PgDn, scroll through desktops
Key Next A M Desk 1
Key Prior A M Desk -1
# unmodified F1-F12, select desktop
# (See menu-windowops-keystroke for how to send F1-12 to applications.)
Key F1 A N GotoDesk 0 1
Key F2 A N GotoDesk 0 2
Key F3 A N GotoDesk 0 3
Key F4 A N GotoDesk 0 4
Key F5 A N GotoDesk 0 5
Key F6 A N GotoDesk 0 6
Key F7 A N GotoDesk 0 7
Key F8 A N GotoDesk 0 8
Key F9 A N GotoDesk 0 9
Key F10 A N GotoDesk 0 10
Key F11 A N GotoDesk 0 11
Key F12 A N GotoDesk 0 12
######################################################################
# Mouse Bindings
# See config-notes for the details of the context and modifier arguments.
# Placement bindings
Mouse 1 P N PlaceWindow
Mouse 3 P N CancelPlacement
# Root window mouse bindings.
Mouse 1 R N Menu menu-root Nop
#Mouse 1 R S Menu MenuFvwmRoot Nop # fvwm default
Mouse 2 R N WindowList (CurrentDesk) NoDeskNum,NoNumInDeskTitle,IconifiedAtEnd,NoGeometryWithInfo
Mouse 2 R S WindowList TitleForAllDesks,NoDeskNum,NoNumInDeskTitle,IconifiedAtEnd,NoGeometryWithInfo
Mouse 3 R N Menu menu-windowops Nop
# Mouse bindings for window control (anywhere).
#
# We don't use `M`(eta) alone any more because Alt-click is used by some
# programs, such as Slack to mark a message unread.
#
# XXX Need to fix ClickTime for this? Right now, have to do a really
# short click (i.e., not held) in order to trigger resize rather than
# something else.
# XXX Also, deal with having to hold down MS with Mouse 2 A or menu
# disappears.
#
Mouse 1 A MS RaiseLower
Mouse 2 A MS WindowList (CurrentDesk) NoDeskNum,NoNumInDeskTitle,IconifiedAtEnd,NoGeometryWithInfo
Mouse 3 A MS Iconify
Mouse 3 A MCS Menu MenuFvwmWindowOps2 Close
# Mouse bindings for window control (window titlebar/frames/borders).
Mouse 1 FST N FuncFvwmMoveOrRaise
Mouse 3 FST N Menu menu-windowops Nop
######################################################################
# Menus
DestroyMenu menu-gotodesk
AddToMenu menu-gotodesk
+ "Go to Desktop" Title
+ "&1" GotoDesk 0 1
+ "&2" GotoDesk 0 2
+ "&3" GotoDesk 0 3
+ "&4" GotoDesk 0 4
+ "&5" GotoDesk 0 5
+ "&6" GotoDesk 0 6
+ "&7" GotoDesk 0 7
+ "&8" GotoDesk 0 8
+ "&9" GotoDesk 0 9
+ "&0" GotoDesk 0 10
+ "&-" GotoDesk 0 11
+ "&=" GotoDesk 0 12
DestroyMenu menu-windowops
AddToMenu menu-windowops
+ "Window Ops" Title
# For some reason if we start on the move... menu popup, hotkey
# switching to another item in the list that does the same popup (&q)
# doesn't work. So we start with an empty item at the top to avoid this.
+ "& " Nop
+ "&a move" Move
+ "&z move" Move
+ "&s resize" Resize
+ "&d demaximize/resize-maximize" Function ResizeMaximizeToggle
+ "&f maximize vertically" Maximize 0 100
+ "&g grow horizontally" Maximize grow 0
+ "&b maximize both" ResizeMoveMaximize -25p -25p 25p 0
# -25 to avoid covering panel at left
+ "" Nop
+ "&h Left" Direction West (CurrentDesk !Overlapped AcceptsFocus) WarpToWindow !raise -5p 50
+ "&j Down" Direction South (CurrentDesk !Overlapped AcceptsFocus) WarpToWindow !raise -5p 50
+ "&k Up" Direction North (CurrentDesk !Overlapped AcceptsFocus) WarpToWindow !raise -5p 50
+ "&l Right" Direction East (CurrentDesk !Overlapped AcceptsFocus) WarpToWindow !raise -5p 50
+ "&u raise" Raise
+ "&i lower" Lower
+ "" Nop
+ "&1 (de)iconify" Iconify
+ "&2 (un)windowshade" Function WindowshadeToggle
+ "&3 (un)windowshade" Function WindowshadeToggle
+ "&q window move..." Popup menu-windowops-moveto
+ "&w window move..." Popup menu-windowops-moveto
+ "&e (un)stick" Stick
+ "&r Resize..." Popup menu-windowops-resize
+ "&t move to desktop" Popup menu-windowops-movetodesk
+ "" Nop
+ "&c Close Window..." Popup menu-windowops-close
+ "&? Identify Window" Module FvwmIdent
+ "&/ Refresh Window" RefreshWindow
+ "&. Refresh Screen" Refresh
+ "&, Fvwm Configuration" Popup menu-windowops-config
+ "" Nop
+ "&o Insert Keystroke" Popup menu-windowops-keystroke
+ "&' quick shell" Exec XTITLE=QuickShell exec choose xterm -geometry 80x25-200+200 -title "QuickShell"
+ "&; lock screen" Exec exec lock-screen
# If maximized, return to original size.
# If not maximized, let user resize and set that as maximized size.
DestroyFunc ResizeMaximizeToggle
AddToFunc ResizeMaximizeToggle
+ I Current (Maximized) Maximize False
+ I TestRc (Match) Break
+ I ResizeMaximize
# When closing windowshade, warp the cursor to keep the titlebar focused.
# This allows us to undo the shade immediately.
DestroyFunc WindowshadeToggle
AddToFunc WindowshadeToggle
+ I WindowShade toggle
+ I WarpToWindow -5p -5p
DestroyMenu menu-windowops-moveto
AddToMenu menu-windowops-moveto
+ "Move to..." Title
+ "&a pointer move" Move
+ "" Nop
+ "&k upper edge" Move keep 0 Warp
+ "&j lower edge" Move keep -0 Warp
+ "&g vertical centre" Move keep 50-50w Warp
+ "&h horizontal centre" Move 50-50w keep Warp
+ "" Nop
+ "&q left+0*width" Move 35p+000w keep Warp
+ "&w left+1*width" Move 35p+100w keep Warp
+ "&e left+2+width" Move 35p+200w keep Warp
+ "&r left+3+width" Move 35p+300w keep Warp
+ "&t left+4+width" Move 35p+400w keep Warp
+ "&y right-4*width" Move -400w keep Warp
+ "&u right-3*width" Move -300w keep Warp
+ "&i right-2*width" Move -200w keep Warp
+ "&o right-1*width" Move -100w keep Warp
+ "&p right-0*width" Move -0 keep Warp
DestroyMenu menu-windowops-resize
AddToMenu menu-windowops-resize
+ "Resize" Title
+ "&u 80c width" Resize 80c keep
+ "&i 100c width" Resize 100c keep
+ "&o 120c width" Resize 120c keep
+ "&p 160c width" Resize 160c keep
+ "&[ 200c width" Resize 200c keep
+ "&] 256c width" Resize 256c keep
+ Nop
+ "&1 10c height" Resize keep 10c
+ "&2 25c height" Resize keep 25c
+ "&3 35c height" Resize keep 35c
+ "&4 45c height" Resize keep 45c
+ "&5 55c height" Resize keep 55c
+ "&6 65c height" Resize keep 65c
+ "&7 75c height" Resize keep 75c
+ "&8 85c height" Resize keep 85c
+ "&9 95c height" Resize keep 95c
+ "&0 105c height" Resize keep 105c
+ "&f full height" ResizeMove keep 99 keep 0
+ Nop
DestroyMenu menu-windowops-movetodesk
AddToMenu menu-windowops-movetodesk
+ "Move to Desktop" Title
+ "&1" MoveToDesk 0 1
+ "&2" MoveToDesk 0 2
+ "&3" MoveToDesk 0 3
+ "&4" MoveToDesk 0 4
+ "&5" MoveToDesk 0 5
+ "&6" MoveToDesk 0 6
+ "&7" MoveToDesk 0 7
+ "&8" MoveToDesk 0 8
+ "&9" MoveToDesk 0 9
+ "&0" MoveToDesk 0 10
+ "&-" MoveToDesk 0 11
+ "&=" MoveToDesk 0 12
DestroyMenu menu-windowops-close
AddToMenu menu-windowops-close
+ "Window close..." Title
+ "&c Close" Close
+ "&v Delete" Delete
+ "&x Destroy" Destroy
DestroyMenu menu-windowops-config
AddToMenu menu-windowops-config
+ "Fvwm configuration..." Title
# Here we look up the translations in the locale catalog using $[gt.str].
# Not necessary, but this serves as documentation on how to do it.
+ "&s. $[gt.Sloppy Focus]" FuncFvwmFocusPolicyChange SloppyFocus
+ "&c. $[gt.Click To Focus]" FuncFvwmFocusPolicyChange ClickToFocus
+ "&f. $[gt.Focus Follows Mouse]" FuncFvwmFocusPolicyChange FocusFollowsMouse
# XXX This appears to override more specific focus policies set for
# certain windows, such as `Style FvwmButtons ... ClickToFocus`.
DestroyFunc FuncFvwmFocusPolicyChange
AddToFunc FuncFvwmFocusPolicyChange
+ I Style * $0
+ I Recapture
DestroyMenu menu-windowops-keystroke
AddToMenu menu-windowops-keystroke
+ "F&1" Function FuncSendFKey 1
+ "F&2" Function FuncSendFKey 2
+ "F&3" Function FuncSendFKey 3
+ "F&4" Function FuncSendFKey 4
+ "F&5" Function FuncSendFKey 5
+ "F&6" Function FuncSendFKey 6
+ "F&7" Function FuncSendFKey 7
+ "F&8" Function FuncSendFKey 8
+ "F&9" Function FuncSendFKey 9
+ "F1&0" Function FuncSendFKey 10
+ "F11 (&-)" Function FuncSendFKey 11
+ "F12"(&=)" Function FuncSendFKey 12
DestroyFunc FuncSendFKey
AddToFunc FuncSendFKey
+ I Key F$0 A N -
+ I FakeKeypress depth 2 press F$0 wait 10 release F$0 wait 10
+ I Key F$0 A N GotoDesk 0 $0
# DestroyMenuStyle WindowList
DestroyFunc WindowListFunc
AddToFunc WindowListFunc
+ I Iconify off
+ I FlipFocus
+ I Raise
+ I WarpToWindow -2p 50
DestroyMenu menu-root
AddToMenu menu-root
+ "Root Menu" Title
+ "&Shell" Exec exec choose xterm
+ "x&term" Exec exec xterm
+ "u&rxvt" Exec exec urxvt
+ "&' quick shell" Exec XTITLE=QuickShell exec choose xterm -geometry 80x25-200+200 -title "QuickShell"
+ "&4-Up" Popup menu-4up
+ "" Nop
+ "C&ynic Hosts" Popup menu-hosts-cynic
+ "&Work Hosts" Popup menu-hosts-work
+ "&Other Hosts" Popup menu-hosts-other
+ "" Nop
+ "&Applications" Popup menu-applications
+ "&Browsers" Popup menu-applications-browsers
+ "&KeePass2 auto-type" Exec exec keepass2 --auto-type
+ "&Utilities" Popup menu-utils
+ "&ispell" Exec exec choose xterm -g 50x5-0+0 -title "ispell" -e 'ispell -a'
+ "" Nop
+ "&Lock Screen" Exec exec lock-screen
+ "&;Lock Screen" Exec exec lock-screen
+ "Old Root" Popup MenuFvwmRoot
+ "E&xit options" Popup menu-quit
DestroyMenu menu-quit
AddToMenu menu-quit
+ "Exit/Restart Options" Title
+ "&No, don't quit" Nop
+ "" Nop
+ "&Restart" Restart
+ "Xterm-only restart" Restart xterm -n '"X Console"' -T '"X Console"'
+ "" Nop
+ "&0 - Exit fvwm" Quit
+ "&1 - Quit session" QuitSession
+ "&2 - Save/quit session" SaveQuitSession
+ "&3 - Save session(no quit)" SaveSession
DestroyMenu menu-applications
AddToMenu menu-applications
+ "Applications" Title
+ "&Acrobat Reader" Exec exec acroread
+ "&Browsers" Popup menu-applications-browsers
+ "&Chat" Popup menu-applications-chat
+ "&Dia" Exec exec dia
+ "&Japanese" Popup menu-applications-ja
+ "&KeePass2" Exec exec keepass2
+ "&podder" Exec exec podder
+ "K&Torrent" Exec exec ktorrent
+ "&Sched" Exec exec sched
+ "&Windows (rdesktop)" Popup menu-win
DestroyMenu menu-applications-browsers
AddToMenu menu-applications-browsers
+ "Browsers" Title
+ "Chrome &App Launcher" Exec exec elerun google-chrome-stable --show-app-list
+ "&Chromium" Exec exec elerun chromium-browser
+ "&Firefox" Exec exec firefox
+ "&Google Chrome" Exec exec elerun google-chrome-stable
+ "Google Chrome &Beta" Exec exec elerun google-chrome-beta
+ "&Opera" Exec exec opera
+ "&Seamonkey" Exec exec seamonkey
DestroyMenu menu-applications-chat
AddToMenu menu-applications-chat
+ "Chat" Title
+ "&Discord" Exec exec discord
+ "IR&C (XChat)" Exec exec xchat
+ "&Gitter" Exec exec elerun gitter
+ "&Hangouts" Exec exec google-chrome-stable --profile-directory=Default --app-id=knipolnnllmklapflnccelgolnpehhpl
+ "&IM (Pidgin)" Exec exec pidgin
+ "&Mumble" Exec exec mumble
+ "S&kype" Exec exec skype
+ "S&lack" Exec exec slack
+ "&Signal" Exec exec signal-desktop
+ "&Telegram" Exec exec Telegram
DestroyMenu menu-applications-ja
AddToMenu menu-applications-ja
+ "Japanese Applications" Title
+ "&Anki" Exec exec anki
+ "&Tagani Jisho" Exec exec tagainijisho
DestroyMenu menu-win
AddToMenu menu-win
+ "titanic (large,high-speed)" Exec win -l -h titanic.office.cynic.net.
+ "titanic (medium,high-speed)" Exec win -h titanic.office.cynic.net.
+ "titanic (small,high-speed)" Exec win -s -h titanic.office.cynic.net.
DestroyMenu menu-utils
AddToMenu menu-utils
+ "Utilities" Title
+ "&Beep" Beep
+ "dump &Environment" Exec exec bash -c '/usr/bin/env >~/tmp/dumped-environment 2>&1'
+ "&gconf-editor" Exec exec gconf-editor
+ "&Htop" Exec exec xterm -g 106x24-0+0 -e htop
+ "instant-&markdown-d previewer" Exec exec instant-markdown-d
+ "pa&vucontrol" Exec exec pavucontrol
+ "&Session Properties" Exec exec gnome-session-properties
+ "show-terminal-&colors" Exec exec urxvt -g 80x50+400+0 -e show-terminal-colors -t urxvt
+ "show-&xterminal-colors" Exec exec xterm -g 80x50+400+0 -e show-terminal-colors -t xterm
PipeRead "$HOME/.fvwm/genconf/sshmenus.py
DestroyMenu menu-4up
AddToMenu menu-4up
+ "&4up generic" Exec exec 4up
+ "t&2.dyadic" Exec exec 4up -h t2.dyadic.cynic.net.
+ "" Nop
+ "&atp" Popup menu-4up-atp
+ "&haskell-study" Exec exec 4up -c haskell-study
+ "m&hailist" Exec exec 4up -c mhailist -s src/mhailist/src
+ "&midokura" Popup menu-4up-midokura
+ "&rswf" Exec exec 4up -c rswf
+ "&starling" Exec exec 4up -c starling
DestroyMenu menu-4up-atp
AddToMenu menu-4up-atp
+ "&1atp" Exec exec 4up -c 1atp-dev
+ "&2atp" Exec exec 4up -c 2atp-dev
+ "&3atp" Exec exec 4up -c 3atp-dev
+ "&4atp" Exec exec 4up -c 4atp-dev
+ "&new-gui" Exec exec 4up -c new-gui
+ "&dev.infinetfs atp" \
Exec exec 4up -c atp-dev -h curt.sampson@dev.infinetfs.com.
DestroyMenu menu-4up-midokura
AddToMenu menu-4up-midokura
+ "&midonet" Exec exec 4up -P -c midonet
+ "&2midonet" Exec exec 4up -P -c 2midonet
+ "&3midonet" Exec exec 4up -P -c 3midonet
####################################################################
# Old FVWM root menu.
# Kept here more for documentation than actual use.
DestroyMenu MenuFvwmRoot
AddToMenu MenuFvwmRoot "$[gt.Root Menu]" Title
+ "&1. XTerm" Exec exec xterm
+ "&2. Rxvt" Exec exec rxvt
+ "" Nop
+ "&D. Debian Menu" Popup "/Debian"
+ "" Nop
+ "&R. $[gt.Remote Logins]" Popup MenuFvwmLogins
+ "" Nop
+ "&U. $[gt.Utilities]" Popup MenuFvwmUtilities
+ "" Nop
+ "&M. $[gt.Fvwm Modules]" Popup MenuFvwmModules
+ "&S. $[gt.Fvwm Config Ops]" Popup MenuFvwmConfig
+ "" Nop
+ "&F. $[gt.Refresh Screen]" Refresh
+ "&C. $[gt.Recapture Screen]" Recapture
+ "" Nop
+ "&X. $[gt.Exit Fvwm]" Popup MenuFvwmQuitVerify
DestroyMenu MenuFvwmUtilities
AddToMenu MenuFvwmUtilities "$[gt.Utilities]" Title
+ "&T. Top" Exec exec xterm -T Top -n Top -e top
+ "&C. Calculator" Exec exec xcalc
+ "&M. Xman" Exec exec xman
+ "&G. Xmag" Exec exec xmag
+ "&R. Editres" Exec exec editres
+ "" Nop
+ "&E. XEmacs" Exec exec xemacs
+ "&A. Xmh Mail" FuncFvwmMailXmh xmh "-font fixed"
+ "" Nop
+ "&L. XLock" Exec exec xlock -mode random
+ "" Nop
+ "&D. $[gt.Reset X defaults]" Exec xrdb -load $HOME/.Xresources
DestroyMenu MenuFvwmConfig
AddToMenu MenuFvwmConfig "$[gt.Fvwm Config Ops]" Title
+ "&S. $[gt.Sloppy Focus]" FuncFvwmFocusPolicyChange SloppyFocus
+ "&C. $[gt.Click To Focus]" FuncFvwmFocusPolicyChange ClickToFocus
+ "&F. $[gt.Focus Follows Mouse]" FuncFvwmFocusPolicyChange FocusFollowsMouse
+ "" Nop
+ "&1. $[gt.Colormap Follows Mouse]" ColormapFocus FollowsMouse
+ "&2. $[gt.Colormap Follows Focus]" ColormapFocus FollowsFocus
+ "" Nop
+ "&3. $[gt.Full Paging ON]" EdgeScroll 100 100
+ "&4. $[gt.All Paging OFF]" EdgeScroll 0 0
+ "&5. $[gt.Horizontal Paging Only]" EdgeScroll 100 0
+ "&6. $[gt.Vertical Paging Only]" EdgeScroll 0 100
+ "&7. $[gt.Partial Paging]" EdgeScroll 50 50
+ "&8. $[gt.Full Paging && Edge Wrap]" EdgeScroll 100000 100000
# 3 different ways to log on, take your pick:
DestroyFunc FuncFvwmRloginXterm
AddToFunc FuncFvwmRloginXterm \
I Exec xterm -name $0 -title "$USER @ $0" -e rlogin $0
DestroyFunc FuncFvwmRloginRxvt
AddToFunc FuncFvwmRloginRxvt \
I Exec rxvt -name $0 -n $0 -title $USER@$0 -e rlogin $0
DestroyFunc FuncFvwmRloginSshRxvt
AddToFunc FuncFvwmRloginSshRxvt \
I Exec Exec ssh $0 rxvt -display $HOSTDISPLAY
# be sure to fill these in with your correct machine names:
DestroyMenu MenuFvwmLogins
AddToMenu MenuFvwmLogins
+ &dopey FuncFvwmRloginXterm dopey
+ &snoopy FuncFvwmRloginXterm snoopy
+ s&ignal Exec rxterm signal
DestroyMenu MenuFvwmModules
AddToMenu MenuFvwmModules "$[gt.Fvwm Modules]" Title
+ "&1. $[gt.Control Animation]" Popup MenuFvwmAnimate
+ "&B. Button-Bar" Module FvwmButtons
+ "&O. IconBox" FuncFvwmConfigureIconBox
+ "&F. Forms" Popup MenuFvwmForms
+ "&I. Identify" Module FvwmIdent
+ "&M. IconMan" Module FvwmIconMan
+ "&N. Banner" Module FvwmBanner
+ "&C. Console" Module FvwmConsole -terminal xterm
+ "&P. Pager" Module FvwmPager 0 0
+ "&2. Pager (2 $[gt.desks])" Module FvwmPager 0 1
+ "&R. Backer" Module FvwmBacker
+ "&S. ScrollBar" Module FvwmScroll 50 50
+ "&T. FvwmTaskBar" Module FvwmTaskBar
+ "&U. AutoRaise" Module FvwmAuto 200 Raise Nop
+ "&V. FvwmTabs" Module FvwmTabs
+ "&W. WinList" Module FvwmWinList
+ "&X. $[gt.Stop Module Menu]" Popup MenuFvwmStopModule
DestroyMenu MenuFvwmStopModule
AddToMenu MenuFvwmStopModule "$[gt.Stop Fvwm Modules]" Title
+ "&B. $[gt.Stop] Button-Bar" KillModule FvwmButtons
+ "&O. $[gt.Stop] IconBox" KillModule FvwmIconBox
+ "&M. $[gt.Stop] IconMan" KillModule FvwmIconMan
+ "&P. $[gt.Stop] Pager" KillModule FvwmPager
+ "&R. $[gt.Stop] Backer" KillModule FvwmBacker
+ "&S. $[gt.Stop] ScrollBar" KillModule FvwmScroll
+ "&T. $[gt.Stop] FvwmTaskBar" KillModule FvwmTaskBar
+ "&U. $[gt.Stop] AutoRaise" KillModule FvwmAuto
+ "&V. $[gt.Stop] FvwmTabs" KillModule FvwmTabs
+ "&W. $[gt.Stop] WinList" KillModule FvwmWinList
DestroyMenu MenuFvwmForms
AddToMenu MenuFvwmForms
+ "&C. Capture" Module FvwmForm FvwmForm-Capture
+ "&D. Form Defaults" Module FvwmForm FvwmForm-Form
+ "&R. Rlogin" Module FvwmForm FvwmForm-Rlogin
+ "&P. RootCursor" Module FvwmForm FvwmForm-RootCursor
+ "&S. Setup" Module FvwmForm FvwmForm-Setup
+ "&T. Talk Form" Module FvwmForm FvwmForm-Talk
+ "&Q. QuitVerify" Module FvwmForm FvwmForm-QuitVerify
# Configure and start using an iconbox on the fly
DestroyFunc FuncFvwmConfigureIconBox
AddToFunc FuncFvwmConfigureIconBox
+ I Module FvwmIconBox
+ I Style * NoIcon
DestroyMenu MenuFvwmQuitVerify
AddToMenu MenuFvwmQuitVerify "$[gt.Really Quit Fvwm?]" Title
+ "&Q. $[gt.Yes, Really Quit]" Quit
+ "" Nop
+ "&R. $[gt.Restart]" Restart /usr/bin/fvwm
+ "" Nop
+ "&T. $[gt.Start] twm" Restart twm
+ "&C. $[gt.Start] ctwm" Restart ctwm
+ "&2. $[gt.Start] tvtwm" Restart tvtwm
+ "&V. $[gt.Start] vtwm" Restart vtwm
+ "&M. $[gt.Start] mwm" Restart mwm
+ "&O. $[gt.Start] olwm" Restart /usr/openwin/bin/olwm
+ "" Nop
+ "&X. $[gt.Just an Xterm]" Restart xterm -n '"X Console"' -T '"X Console"'
+ "" Nop
+ "&N. $[gt.No, Don't Quit]" Nop
##### Sample Functions
DestroyFunc FuncFvwmMailXmh
AddToFunc FuncFvwmMailXmh
+ I Next [$0] Iconify false
+ I Next [$0] Focus
+ I None [$0] Exec $0 $1
DestroyFunc FuncFvwmMoveOrRaise
AddToFunc FuncFvwmMoveOrRaise
+ I Raise
+ M Move
+ D Lower
DestroyFunc FuncFvwmMaximize
AddToFunc FuncFvwmMaximize
+ M Maximize 0 100
+ H Maximize 0 100
+ C Maximize 0 80
+ D Maximize 100 100
DestroyFunc FuncFvwmMoveOrIconify
AddToFunc FuncFvwmMoveOrIconify
+ I Raise
+ M Move
+ D Iconify
DestroyFunc FuncFvwmResizeOrRaise
AddToFunc FuncFvwmResizeOrRaise
+ I Raise
+ M Resize
+ D Lower
# cjs: tweak this to do a capture using xwd and maybe xpr?
DestroyFunc FuncFvwmPrint
AddToFunc FuncFvwmPrint
+ I Raise
+ I Exec xdpr -id $w
######################################################################
# Modules
# To test, in FvwmConsole:
# KillModule FvwmButtons
# Module FvwmButtons
DestroyModuleConfig FvwmButtons: *
*FvwmButtons: Colorset 100
*FvwmButtons: Geometry 100x800+0+0
*FvwmButtons: Columns 1
*FvwmButtons: Rows 30
# XXX Clock breaks the entire FvwmButtons startup, for some reason.
#*FvwmButtons: (1x1, Swallow "FvwmXclock" \
# 'Exec xclock -name FvwmXclock \
# -digital -strftime "%m-%d %H:%M %Z" -padding 2 -geometry 110x30')
# # -geometry 110x30
*FvwmButtons: (1x13, Swallow (UseOld) "FvwmPager" "Module FvwmPager 0 13")
*FvwmButtons: (1x13, Swallow (UseOld) "FvwmIconMan" "Module FvwmIconMan")
DestroyModuleConfig FvwmPager: *
*FvwmPager: Colorset * 100
*FvwmPager: Rows 6
*FvwmPager: Columns 2
*FvwmPager: Font none
*FvwmPager: SmallFont 5x8
*FvwmIconBox: Resolution desk
*FvwmIconBox: UseSkipList
*FvwmIconBox: Back #005048
*FvwmIconBox: Lines 4
*FvwmIconBox: HideSC horizontal
*FvwmIconBox: SBWidth 0
*FvwmIconBox: FrameWidth 0 0
*FvwmIconBox: Geometry 4x4+24-18
DestroyModuleConfig FvwmIconMan: *
*FvwmIconMan: NumManagers 1
*FvwmIconMan: Resolution page
*FvwmIconMan: Colorset 100
*FvwmIconMan: ManagerGeometry 1x20
#*FvwmIconMan: MaxButtonWidth 115
*FvwmIconMan: ButtonGeometry 115x16
*FvwmIconMan: Format %i
*FvwmIconMan: Font 6x10
*FvwmIconMan: PlainButton flat
*FvwmIconMan: FocusButton flat
DestroyModuleConfig FvwmBacker: *
*FvwmBacker: Command (Desk *, Page * *) -solid #005048
######################################################################
# Initialization functions run only after config is read in order.
# The Session* versions are used instead when under a sesion manager.
# Executed on both startup and restart
DestroyFunc StartFunction
AddToFunc StartFunction
+ I Module FvwmAnimate
+ I Module FvwmBacker
# Executed only on startup (after StartFunction)
DestroyFunc InitFunction
AddToFunc InitFunction
# Normally no need to do things here that .xinitrc has already done.
+ I GotoDesk 0 3
# Executed only on restart (after StartFunction)
DestroyFunc RestartFunction
AddToFunc RestartFunction
+ I Exec exec xfce4-panel --restart
# Executed only on exit (before exit or restart)
DestroyFunc ExitFunction
AddToFunc ExitFunction
DestroyFunc SessionInitFunction (replaces InitFunction under session manager)
AddToFunc SessionInitFunction
# The GotoDesk works, but something later sends us back to desktop 0 anyway.
+ I GotoDesk 0 3
+ I exec exec choose xterm -title "$(hostname -s)" -n "$(hostname -s)" -g 80x57
+ I Wait term
+ I exec xrdb -cpp cpp -merge $HOME/.Xresources
+ I exec xsetroot -solid '#005048'
DestroyFunc SessionRestartFunction (replaces RestartFunction under session mgr)
AddToFunc SessionRestartFunction
######################################################################
# Quick Reference
# See /usr/share/fvwm/default-config/config for more examples.
#
# Manpage "COMMAND EXPANSION" for variables
#
# AddToFunc <name> I|M|C|H|D <action>
# Executed on: I=immediate M=motion C=click H=hold D=double-click
# Args are `$(0)` etc. (unless command prefixed with `-` for no expansion)
# Manpage: "User Functions"..., "Scripting & Complex Functions"
# Use EchoFuncDefinition to see code after quoting
######################################################################
# Notes on possible improvements
# From thomas_adam on #fvwm:
# If you use xcompmgr and transset-df, you should be able to do something
# like this (untested):
# DestroyFunc TMove
# AddToFunc TMove I PipeRead 'echo Exec exec transset-df -i $[w.id] 0.4'
# + M PipeRead `echo Move'
# + M PipeRead 'echo Exec exec transset-df -p 1 -i $[w.id]'
# -- that's just from reading the docs for transset-df.
# Obviously, the commands you give xcompmgr will need defining.
######################################################################
# Application Tweaks
#
# These must be _after_ the `Style *` declarations to override them.
# See notes at top for more on `Style`.
# This is needed to fix keyboard focus issues in Wine
Style Wine FPLenient
# Drop-down/pop-up menus in web pages break with normal MouseFocus handling.
# But even ClickToFocus, Lenience doesn't seem to fix it.
#Style Google-chrome ClickToFocus, Lenience