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
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
|
##################################
# ____________________________
# ( _________________________)
# ) (__ _ _ _ _
# ( __)( \/ )( \/\/ )/\/\
# ) ( \ / \ // \
# (___) \/ \/\/(_/\/\_) 2.6
#
#
# This is the default configuration file shipped with fvwm.
#
# This config file is organized as follows:
#
# 1: Functions
# 2: Styles
# 3: Colorsets
# 4: Menus
# 5: Bindings
# 6: Decor
# 7: Modules
#
#################################
# InfoStoreAdd can be used to store variable data internal to fvwm.
# The variable can then be used in the configuration as $[infostore.name].
#
# You can also use environment variables but for data internal to fvwm
# use InfoStore variables instead.
#
# The following is used in various menus and also sets the terminal
# that FvwmConsole uses. Change this to your terminal of choice
InfoStoreAdd terminal st
InfoStoreAdd altterminal urxvtc
ImagePath +:$[FVWM_USERDIR]/icon/PixelFengShui
ImagePath +:$[FVWM_USERDIR]/icon/PixelFengShui/24
ImagePath +:$[FVWM_USERDIR]/icon/Yoritsuki
ImagePath +:$[FVWM_USERDIR]/icon/Yoritsuki/24
ImagePath +:$[FVWM_USERDIR]/icon/pixmap
# read .sidebar.fvwm2rc
SetEnv fvwmscript $[HOME]/.fvwm/fvwmscript/
SetEnv themedir $[HOME]/.fvwm/themes/
###########
# 1: Functions
#
# Fvwm can use custom functions for various tasks.
# The syntax for defining a function named FunctionName is:
#
# DestroyFunc FunctionName
# AddToFunc FunctionName
# + I [Action to do Immediately]
# + C [Action to do on a Mouse Click]
# + D [Action to do on a Mouse Double Click]
# + H [Action to do on a Mouse Hold]
# + M [Action to do on a Mouse Motion]
###########
# Start Function
#
# The start function is run right after fvwm is done reading
# the config file. This function run after each restart
# so using Test (Init) or Test (Restart) can further control
# actions that are run during the first time run (Init) or
# actions that are run after a restart.
DestroyFunc StartFunction
AddToFunc StartFunction
+ I Test (Init) Module FvwmBanner
+ I Module FvwmButtons LeftPanel
# + I Module FvwmScript sidebar
+ I Module FvwmScript fvwmscript/org-clock
+ I Module FvwmEvent EventNewDesk
# Mouse Bindings Functions
DestroyFunc RaiseMoveX
AddToFunc RaiseMoveX
+ I Raise
+ M $0
+ D $1
DestroyFunc RaiseMove
AddToFunc RaiseMove
+ I Raise
+ M $0
DestroyFunc MoveToCurrent
AddToFunc MoveToCurrent
+ I ThisWindow MoveToPage
+ I ThisWindow MoveToDesk
# Function: ViewManPage $0
#
# This function loads the man page $0 in an terminal
# and is used with the help menu.
DestroyFunc ViewManPage
AddToFunc ViewManPage
+ I Exec exec $[infostore.terminal] -g 80x40 \
-n "Manual Page - $0" -T "Manual Page - $0" -e man "$0"
# Function: SetBG $0
#
# SetBG is used with the background menu to set the background
# image and configure it to be loaded the next time fvwm is run.
# Note, fvwm-root can't use .jpeg or resize images. Use something
# like display, feh, etc.
DestroyFunc SetBG
AddToFunc SetBG
+ I Test (f $[FVWM_USERDIR]/images/background/$0) \
Exec exec fvwm2-root $[FVWM_USERDIR]/images/background/$0
+ I TestRc (Match) Exec exec ln -fs images/background/$0 \
$[FVWM_USERDIR]/.BGdefault
+ I TestRc (Match) Break
+ I Test (!f $[FVWM_DATADIR]/default-config/images/background/$0) Break
+ I Exec exec fvwm2-root $[FVWM_DATADIR]/default-config/images/background/$0
+ I Exec exec ln -fs $[FVWM_DATADIR]/default-config/images/background/$0 \
$[FVWM_USERDIR]/.BGdefault
# Function: IconManClick
#
# This function is run from FvwmIconMan when the button is clicked.
DestroyFunc IconManClick
AddToFunc IconManClick
+ I ThisWindow (Raised, !Shaded, !Iconic, CurrentPage) Iconify
+ I TestRc (Match) Break
+ I ThisWindow WindowShade off
+ I ThisWindow Iconify off
+ I ThisWindow Raise
+ I ThisWindow (AcceptsFocus) FlipFocus
# Function: ToggleTitle
#
# This function will toggle if fvwm shows the TitleBar.
DestroyFunc ToggleTitle
AddToFunc ToggleTitle
+ I ThisWindow (State 1) WindowStyle Title
+ I TestRc (Match) State 1 False
+ I TestRc (Match) Break
+ I WindowStyle !Title
+ I State 1 True
# Function: ChangeDesk
#
# This function is called by FvwmEvent every time the Desk is changed.
DestroyFunc ChangeDesk
AddToFunc ChangeDesk
+ I SendToModule FvwmButtons ChangeButton desk0 Colorset 10
+ I SendToModule FvwmButtons ChangeButton desk1 Colorset 10
+ I SendToModule FvwmButtons ChangeButton desk2 Colorset 10
+ I SendToModule FvwmButtons ChangeButton desk3 Colorset 10
+ I SendToModule FvwmButtons ChangeButton desk$0 Colorset 11
# Function used for tiling/un-tiling windows.
estroyFunc TileLeft
AddToFunc TileLeft
+ I ThisWindow (!Shaded, !Iconic) Maximize 50 100
+ I ThisWindow (Maximized, !Shaded, !Iconic) Move +0 +0
DestroyFunc TileRight
AddToFunc TileRight
+ I ThisWindow (!Shaded, !Iconic) Maximize 50 100
+ I ThisWindow (Maximized, !Shaded, !Iconic) Move -0 +0
DestroyFunc TileTop
AddToFunc TileTop
+ I ThisWindow (!Shaded, !Iconic) Maximize 100 50
+ I ThisWindow (Maximized, !Shaded, !Iconic) Move +0 +0
DestroyFunc TileBottom
AddToFunc TileBottom
+ I ThisWindow (!Shaded, !Iconic) Maximize 100 50
+ I ThisWindow (Maximized, !Shaded, !Iconic) Move +0 -0
DestroyFunc TileTopLeft
AddToFunc TileTopLeft
+ I ThisWindow (!Shaded, !Iconic) Maximize 50 50
+ I ThisWindow (Maximized, !Shaded, !Iconic) Move +0 +0
DestroyFunc TileTopRight
AddToFunc TileTopRight
+ I ThisWindow (!Shaded, !Iconic) Maximize 50 50
+ I ThisWindow (Maximized, !Shaded, !Iconic) Move -0 +0
DestroyFunc TileBottomLeft
AddToFunc TileBottomLeft
+ I ThisWindow (!Shaded, !Iconic) Maximize 50 50
+ I ThisWindow (Maximized, !Shaded, !Iconic) Move +0 -0
DestroyFunc TileBottomRight
AddToFunc TileBottomRight
+ I ThisWindow (!Shaded, !Iconic) Maximize 50 50
+ I ThisWindow (Maximized, !Shaded, !Iconic) Move -0 -0
DestroyFunc ChangeTheme
AddToFunc ChangeTheme
+ I Read $[themedir]/$0.sys
+ I Exec exec xrdb -merge ~/.Xresources.d/Xresources.$1
+ I Exec exec echo "emacsclient -e \"$2\"" >> /tmp/fvwm_theme.log
# To change the theme, you can call the function like this:
# ChangeTheme theme_name Xresources_file_name
# For example:
# ChangeTheme "dark_theme" "dark_theme.Xresources"
#############
# 2: Styles #
#############
# Desktops and Pages
#
# Fvwm has both Virtual Desktops and Pages. Each Desktop is built from
# a grid of Pages. The following sets the name of four Desktops and then
# divides each Desktop into a 2x2 grid of Pages that are positioned as
#
# +---+---+
# | | |
# +---+---+
# | | |
# +---+---+
#
DesktopName 0 Main
DesktopName 1 Desk1
DesktopName 2 Desk2
DesktopName 3 Desk3
DesktopSize 2x2
# EdgeScroll will move the view port between the Pages when the mouse
# moves to the edge of the screen. This set the amount of distance to
# scroll at 100% (full page) and the EdgeResistance which is a timer
# for how long the mouse as at the edge before it scrolls.
#
# Set EdgeScroll 0 0 and/or EdgeResistance -1 to disable.
EdgeScroll 100 100
EdgeResistance 300
EdgeThickness 1
Style * EdgeMoveDelay 350, EdgeMoveResistance 350
# EwmhBaseStruts [left] [right] [top] [bottom]
# Reserves space along the edge(s) of the Screen that will not
# be covered when maximizing or placing windows.
EwmhBaseStruts screen $[monitor.0.name] 120 0 0 0
# This sets the ClickTime and MoveThreshold used to determine
# Double Clicks, Hold and Move for the mouse.
ClickTime 250
MoveThreshold 3
# Sets the focus style to SloppyFocus and a mouse click
# in a window will Raise it.
Style * SloppyFocus, MouseFocusClickRaises
# Default Font
DefaultFont "xft:Comic Code:size=14:antialias=True"
# Window Placement
Style * MinOverlapPlacement, GrabFocusOff, !UsePPosition
# Sets all windows to OpaqueMove (vs a wired frame) and windows will
# snap to each other and the edge of the screen.
OpaqueMoveSize unlimited
Style * ResizeOpaque, SnapAttraction 15 SameType ScreenAll, SnapGrid
# Transient Windows (such as open file windows)
Style * DecorateTransient, StackTransientParent
Style * !FPGrabFocusTransient, FPReleaseFocusTransient
# WindowShade
Style * WindowShadeScrolls, WindowShadeSteps 10
# Ignore Numlock and other modifiers for bindings
# See http://fvwm.org/documentation/faq/#why-do-numlock-capslock-and-scrolllock-interfere-with-clicktofocus-andor-my-mouse-bindings
IgnoreModifiers L25
# Decor Styles
Style * BorderWidth 5, HandleWidth 5, MWMButtons, FvwmBorder, FirmBorder
Style * Colorset 1, HilightColorset 2
Style * BorderColorset 3, HilightBorderColorset 4
# Disable Icons from appearing on desktop.
# Comment this out or use Style * Icon to get the icons back.
Style * Icon
# Style * IconBox 990x150-20-10, IconGrid 234 134, IconFill right bottom
Style * IconBox 64x1080-0+0
# Window Specific Styles
Style LeftPanel !Title, !Borders, !Handles, Sticky, \
WindowListSkip, NeverFocus, FixedPosition
Style conky !Title, !Borders, !Handles, Sticky, \
WindowListSkip, NeverFocus
Style ConfirmQuit !Title, PositionPlacement Center, WindowListSkip, Layer 6
Style ConfirmOff !Title, PositionPlacement Center, WindowListSkip, Layer 6
Style FvwmIdent WindowListSkip
Style st MiniIcon teacup.png, Icon teacup-big.png, EWMHMiniIconOverride, FPGrabFocus
Style urxvt MiniIcon teacup.png, Icon teacup-big.png, EWMHMiniIconOverride, FPGrabFocus
Style firefox MiniIcon "Chouchin Reinensai-24x24.png", Icon "Chouchin Reinensai.png", EWMHMiniIconOverride, IconOverride
Style LibreWolf MiniIcon "Chouchin Kuroshiro-24x24.png", Icon "Chouchin Kuroshiro.png", EWMHMiniIconOverride, IconOverride
Style emacs MiniIcon Shodou-24x24.png, IconOverride, Icon Shodou.png, EWMHMiniIconOverride
Style Pcmanfm MiniIcon Bonsai-24x24.png, IconOverride, Icon Bonsai.png, EWMHMiniIconOverride
Style "Org-Clock" Sticky, !Title, !Handles, NoClose, PositionPlacement 50-50w 0, WindowListSkip, NeverFocus, FixedPosition, StaysOnBottom
Style sowon MiniIcon "Furoisu (bath chair)-24x24.png", Icon "Furoisu (bath chair).png", EWMHMiniIconOverride, IconOverride
Style * Font "xft:Comic Code:Thin:size=16:antialias=True", FPGrabFocus
## Program styles
# Style "*EMMS Playlist*" MiniIcon Shamisen-24x24.png, IconOverride, Icon Shamisen.png, EWMHMiniIconOverride, FPGrabFocus
# Style "*tmr-tabulated-view*" MiniIcon "Furoisu (bath chair)-24x24.png", IconOverride, "Icon Furoisu (bath chair).png", EWMHMiniIconOverride, FPGrabFocus
# Style *notmuch* MiniIcon "Kinchaku (drawstring bag)-24x24.png", IconOverride, Icon "Kinchaku (drawstring bag).png", EWMHMiniIconOverride, FPGrabFocus
# Style "*elfeed-search*" MiniIcon "Shichirin (charcoal brazier)-24x24.png", IconOverride, Icon "Shichirin (charcoal brazier).png", EWMHMiniIconOverride, FPGrabFocus
# Style "*Org Agenda*" MiniIcon "Kakejiku-24x24.png", IconOverride, Icon "Kakejiku.png", EWMHMiniIconOverride, FPGrabFocus
#######
# 3: Colorsets
#
# Colorsets can be used to configure the color of the various
# parts of fvwm such as window decor, menus, modules, etc.
#
# Colorset Convention
#
# 0 - Default
# 1 - Inactive Windows
# 2 - Active Window
# 3 - Inactive Windows Borders
# 4 - Active Windows Borders
# 5 - Menu - Inactive Item
# 6 - Menu - Active Item
# 7 - Menu - Grayed Item
# 8 - Menu - Title
# 9 - Reserved
# 10+ Modules
# 10 - Module Default
# 11 - Module Hilight
# 12 - Module ActiveButton (Mouse Hover)
# 13 - FvwmPager Active Page
# 14 - FvwmIconMan Iconified Button
###########
Read $[themedir]/modus-vivendi.sys
#######
# 4: Menus
###########
MenuStyle * MenuColorset 5, ActiveColorset 6, GreyedColorset 7, TitleColorset 8
MenuStyle * Hilight3DOff, HilightBack, HilightTitleBack, SeparatorsLong
MenuStyle * TrianglesSolid
MenuStyle * ActiveFore, !Animation, PopupOffset -5 100
# MenuStyle * ItemFormat "%|%3.1i%5.3l%5.3>%|"
MenuStyle * Font "xft:Comic Code:Thin:size=14:antialias=True"
# Root Menu
#
# The root menu will PopUp with a click in the root
# window or using alt-f1 (or menu).
DestroyMenu MenuFvwmRoot
AddToMenu MenuFvwmRoot "Fvwm Menu" Title
# + "&Programs%Kanban (sign)-24x24.png%" Popup MenuPrograms
Test (x emacs) + "&Emacs%Shodou-24x24.png%" Exec exec emacsclient -c -a 'emacs'
Test (x firefox) + "&Firefox%Chouchin Reinensai-24x24.png%" Exec exec firefox
Test (x firefox-bin) + "&Firefox%Chouchin Reinensai-24x24.png%" Exec exec firefox-bin
Test (x librewolf) + "Libre&wolf%Chouchin Kuroshiro-24x24.png%" Exec exec librewolf
Test (x librewolf-bin) + "Libre&wolf%Chouchin Kuroshiro-24x24.png%" Exec exec librewolf-bin
Test (x pcmanfm) + "&Files%Bonsai-24x24.png%" Exec exec pcmanfm
+ "&Terminal%Yunomi (tea cup)-24x24.png%" Exec exec $[infostore.terminal]
+ "" Nop
+ "&Flatpak%yukata-24x24.png%" Exec exec launch-flatpak
# + "&Anki%Yoritsuki_disk-24x24.png%" Exec exec flatpak run net.ankiweb.Anki
# + "&Zeal%Folder-24x24.png%" Exec exec flatpak run org.zealdocs.Zeal
# + "Libre&office%Tsukubai-24x24.png%" Exec exec flatpak run org.libreoffice.LibreOffice
# + "Cali&bre%yukata-24x24.png%" Exec exec flatpak run com.calibre_ebook.calibre
+ "" Nop
Test (x emacs) + "&Agenda%Kakejiku-24x24.png%" Exec exec emacsclient -c -e '(bard/default-agenda)'
Test (x emacs) + "&Calendar%Kanban (sign)-24x24.png%" Exec exec emacsclient -c -e '(bard/open-calendar)'
Test (x emacs) + "&Email%Kinchaku (drawstring bag)-24x24.png%" Exec exec emacsclient -c -e '(notmuch-hello)'
Test (x emacs) + "&Music%Shamisen-24x24.png%" Exec exec emacsclient -c -e '(emms)'
Test (x emacs) + "&RSS%Shichirin (charcoal brazier)-24x24.png%" Exec exec emacsclient -c -e '(elfeed)'
Test (x emacs) + "&Timers%Furoisu (bath chair)-24x24.png%" Exec exec emacsclient -c -e '(tmr-tabulated-view)'
+ "" Nop
+ "&Settings%Yagura1 (hot spring tower)-24x24.png%" Popup MenuSettings
+ "Fvwm&Ident%Tourist guidebook-24x24.png%" Module FvwmIdent
+ "&Wallpapers%Folder2-24x24.png%" Popup MenuWallpaper
+ "&Color Themes%Gunsen-24x24.png%" Popup MenuThemes
+ "" Nop
+ "&Power%Futon (bed)-24x24.png%" Popup MenuPower
+ "&Xscreensaver%Andon (lantern)-24x24.png%" Exec exec xscreensaver-command -lock
# Programs Menu
#
# This test for some common programs and adds them to the menu.
# When adding programs you don't need to use the Test (x foo)
# lines as this is only to help make this menu portable.
DestroyMenu MenuPrograms
AddToMenu MenuPrograms "Programs" Title
Test (x emacs) + "Emacs" Exec exec emacsclient -c -a 'emacs'
Test (x firefox) + "Firefox" Exec exec firefox
Test (x firefox-bin) + "Firefox" Exec exec firefox-bin
Test (x librewolf) + "Librewolf" Exec exec librewolf
Test (x librewolf-bin) + "Librewolf" Exec exec librewolf-bin
Test (x google-chrome) + "Google-Chrome" Exec exec google-chrome
Test (x gimp) + "Gimp" Exec exec gimp
Test (x vlc) + "VLC" Exec exec vlc
DestroyMenu MenuWallpaper
AddToMenu MenuWallpaper "Wallpaper" Title
+ "Choose wallpaper" Exec exec $HOME/.local/bin/scripts/wallpaper.sh
+ "Themed wallpaper" Exec exec $HOME/.local/bin/scripts/load-theme-wallpaper
+ "Repaint wallpaper" Exec exec $HOME/.cache/wallpaper
DestroyMenu MenuThemes
AddToMenu MenuThemes "Themes" Title
+ "Modus &Vivendi" ChangeTheme 'modus-vivendi' 'vivendi' "(modus-themes-select 'modus-vivendi)"
+ "Vivendi &Tritanopia" ChangeTheme 'vivendi-tritanopia' 'vivendi-tritanopia' "(modus-themes-select 'modus-vivendi-tritanopia)"
+ "Vivendi &Tinted" ChangeTheme 'vivendi-tinted' 'vivendi-tinted' "(modus-themes-select 'modus-vivendi-tinted)"
+ "Modus Operandi &Tinted" ChangeTheme 'operandi-tinted' 'operandi-tinted' "(modus-themes-select 'modus-operandi-tinted)"
+ "Modus &Operandi" ChangeTheme 'modus-operandi' 'operandi' "(modus-themes-select 'modus-operandi)"
+ "Ef &Autumn" ChangeTheme 'ef-autumn' 'autumn' "(ef-themes-select 'ef-autumn)"
+ "Ef &Winter" ChangeTheme 'ef-winter' 'winter' "(ef-themes-select 'ef-winter)"
+ "Ef &Frost" ChangeTheme 'ef-frost' 'frost' "(ef-themes-select 'ef-frost)"
+ "Ef &Elea Light" ChangeTheme 'ef-elea-light' 'elea-light' "(ef-themes-select 'ef-elea-light)"
+ "Ef &Elea Dark" ChangeTheme 'ef-elea-dark' 'elea-dark' "(ef-themes-select 'ef-elea-dark)"
+ "Ef &Cyprus" ChangeTheme 'ef-cyprus' 'cyprus' "(ef-themes-select 'ef-cyprus)"
+ "Ef &Night" ChangeTheme 'ef-night' 'night' "(ef-themes-select 'ef-night)"
+ "Ef &Duo-Dark" ChangeTheme 'ef-duo-dark' 'duo-dark' "(ef-themes-select 'ef-duo-dark)"
+ "Ef &Day" ChangeTheme 'ef-day' 'day' "(ef-themes-select 'ef-day)"
+ "Ef &Eagle" ChangeTheme 'ef-eagle' 'eagle' "(ef-themes-select 'ef-eagle)"
+ "Ef &Owl" ChangeTheme 'ef-owl' 'owl' "(ef-themes-select 'ef-owl)"
+ "Ef &Dream" ChangeTheme 'ef-dream' 'dream' "(ef-themes-select 'ef-dream)"
+ "Ef &Reverie" ChangeTheme 'ef-reverie' 'reverie' "(ef-themes-select 'ef-reverie)"
+ "Ef &Maris Dark" ChangeTheme 'ef-maris-dark' 'maris-dark' "(ef-themes-select 'ef-maris-dark)"
+ "Ef &Maris Light" ChangeTheme 'ef-maris-light' 'maris-light' "(ef-themes-select 'ef-maris-light)"
+ "Ef &Cherie" ChangeTheme 'ef-cherie' 'cherie' "(ef-themes-select 'ef-cherie)"
+ "Ef &Rosa" ChangeTheme 'ef-rosa' 'rosa' "(ef-themes-select 'ef-rosa)"
+ "Ef &Bio" ChangeTheme 'ef-bio' 'bio' "(ef-themes-select 'ef-bio)"
+ "Ef &Spring" ChangeTheme 'ef-spring' 'spring' "(ef-themes-select 'ef-spring)"
+ "Ef Kassi&o" ChangeTheme 'ef-kassio' 'kassio' "(ef-themes-select 'ef-kassio)"
+ "Ef &Symbiosis" ChangeTheme 'ef-symbiosis' 'symbiosis' "(ef-themes-select 'ef-symbiosis)"
+ "Ef &Trio Dark" ChangeTheme 'ef-trio-dark' 'trio-dark' "(ef-themes-select 'ef-trio-dark)"
+ "Ef &Melissa Dark" ChangeTheme 'ef-melissa-dark' 'melissa-dark' "(ef-themes-select 'ef-melissa-dark)"
+ "Ef &Melissa Light" ChangeTheme 'ef-melissa-light' 'melissa-light' "(ef-themes-select 'ef-melissa-light)"
+ "Ef &Arbutus" ChangeTheme 'ef-arbutus' 'arbutus' "(ef-themes-select 'ef-arbutus)"
+ "" ChangeTheme 'vivendi' 'vivendi' "(modus-themes-select 'modus-vivendi)"
DestroyMenu MenuPower
AddToMenu MenuPower
+ "&Restart" Restart
+ "&Quit" Module FvwmScript fvwmscript/FvwmScript-ConfirmQuit
+ "&Poweroff" Module FvwmScript fvwmscript/FvwmScript-ConfirmOff
DestroyMenu MenuSettings
AddToMenu MenuSettings "Settings" Title
Test (x nmtui) + "Network" Exec exec st -e nmtui
Test (x arandr) + "Display" Exec exec arandr
Test (x btop) + "System" Exec exec st -e btop
Test (x blueman-manager) + "Bluetooth" Exec exec blueman-manager
# Background Menu
#
# Backgrounds are located in ~/.fvwm/images/background/
# Menu icons are located in ~/.fvwm/images/bgicons/
DestroyMenu BGMenu
AddToMenu BGMenu "Wallpapers" Title
# Window Operations Menus
DestroyMenu MenuWindowOps
AddToMenu MenuWindowOps "Window Operations" Title
+ "Move" Move
+ "Resize" Resize
+ "Iconify" Iconify
+ "Maximize" Maximize
+ "Shade" WindowShade
+ "Stick" Stick
+ "" Nop
+ "Close" Close
+ "More..." Menu MenuWindowOpsLong This 0 0
DestroyMenu MenuWindowOpsLong
AddToMenu MenuWindowOpsLong "Window Operations" Title
+ "Move" Move
+ "Resize" Resize
+ "(De)Iconify" Iconify
+ "(Un)Maximize" Maximize
+ "(Un)Shade" WindowShade
+ "(Un)Sticky" Stick
+ "(No)TitleBar" Pick (CirculateHit) ToggleTitle
+ "Send To" Popup MenuSendTo
+ "" Nop
+ "Close" Close
+ "Destroy" Destroy
+ "" Nop
+ "Raise" Raise
+ "Lower" Lower
+ "" Nop
+ "StaysOnTop" Pick (CirculateHit) Layer 0 6
+ "StaysPut" Pick (CirculateHit) Layer 0 4
+ "StaysOnBottom" Pick (CirculateHit) Layer 0 2
+ "" Nop
+ "Identify" Module FvwmIdent
DestroyMenu MenuIconOps
AddToMenu MenuIconOps
+ "(De)Iconify" Iconify
+ "(Un)Maximize" Maximize
+ "(Un)Shade" WindowShade
+ "(Un)Sticky" Stick
+ "(No)TitleBar" Pick (CirculateHit) ToggleTitle
+ "Send To" Popup MenuSendTo
+ "" Nop
+ "Close" Close
+ "Destroy" Destroy
+ "" Nop
+ "Raise" Raise
+ "Lower" Lower
+ "" Nop
+ "StaysOnTop" Pick (CirculateHit) Layer 0 6
+ "StaysPut" Pick (CirculateHit) Layer 0 4
+ "StaysOnBottom" Pick (CirculateHit) Layer 0 2
+ "" Nop
+ "Identify" Module FvwmIdent
DestroyMenu MenuSendTo
AddToMenu MenuSendTo
+ "Current" MoveToCurrent
+ "Page" PopUp MenuSendToPage
+ "Desk" PopUp MenuSendToDesk
DestroyMenu MenuSendToDesk
AddToMenu MenuSendToDesk
+ "Desk 0" MoveToDesk 0 0
+ "Desk 1" MoveToDesk 0 1
+ "Desk 2" MoveToDesk 0 2
+ "Desk 3" MoveToDesk 0 3
DestroyMenu MenuSendToPage
AddToMenu MenuSendToPage
+ "Page (0,0)" MoveToPage 0 0
+ "Page (0,1)" MoveToPage 0 1
+ "Page (1,0)" MoveToPage 1 0
+ "Page (1,1)" MoveToPage 1 1
# Fvwm Man Pages (Help) Menu
DestroyMenu MenuFvwmManPages
AddToMenu MenuFvwmManPages "Help" Title
+ "fvwm2" ViewManPage fvwm2
+ "FvwmAnimate" ViewManPage Fvwm2Animate
+ "FvwmAuto" ViewManPage Fvwm2Auto
+ "FvwmBacker" ViewManPage Fvwm2Backer
+ "FvwmBanner" ViewManPage Fvwm2Banner
+ "FvwmButtons" ViewManPage Fvwm2Buttons
+ "FvwmCommand" ViewManPage Fvwm2Command
+ "FvwmConsole" ViewManPage Fvwm2Console
+ "FvwmEvent" ViewManPage Fvwm2Event
+ "FvwmForm" ViewManPage Fvwm2Form
+ "FvwmIconMan" ViewManPage Fvwm2IconMan
+ "FvwmIdent" ViewManPage Fvwm2Ident
+ "FvwmPager" ViewManPage Fvwm2Pager
+ "FvwmPerl" ViewManPage Fvwm2Perl
+ "FvwmProxy" ViewManPage Fvwm2Proxy
+ "FvwmRearrange" ViewManPage Fvwm2Rearrange
+ "FvwmScript" ViewManPage Fvwm2Script
+ "" Nop
+ "fvwm2-root" ViewManPage fvwm2-root
+ "fvwm2-menu-desktop" ViewManPage fvwm2-menu-desktop
+ "fvwm2-menu-directory" ViewManPage fvwm2-menu-directory
+ "fvwm2-menu-headlines" ViewManPage fvwm2-menu-headlines
+ "fvwm2-menu-xlock" ViewManPage fvwm2-menu-xlock
+ "fvwm2-config" ViewManPage fvwm2-config
#######
# 5: Mouse and Key bindings
#
# Contexts:
# R = Root Window rrrrrrrrrrrrrrrrrrrrrr
# W = Application Window rIrrrr<---------^rrrrr
# F = Frame Corners rrrrrr[13TTTT642]rrrrr
# S = Frame Sides rIrrrr[wwwwwwwww]rrrrr
# T = Title Bar rrrrrr[wwwwwwwww]rrrrr
# I = Icon rIrrrrv_________>rrrrr
# rrrrrrrrrrrrrrrrrrrrrr
#
# Numbers are buttons: [1 3 5 7 9 TTTTT 0 8 6 4 2]
#
# Modifiers: (A)ny, (C)ontrol, (S)hift, (M)eta, (N)othing
#
# Format: Key <X> <Context> <Modifier> <Action>
# Mouse <X> <Context> <Modifier> <Action>
####################
# Alt-F1 or Menu to load the root menu and Alt-Tab for a WindowList.
# Ctrl-F1/F2/F3/F4 will switch between the Virtual Desktops.
# Super_R (windows key) will launch a terminal.
#
# Silent supresses any errors (such as keyboards with no Menu key).
CursorStyle ROOT left_ptr
CursorStyle TITLE left_ptr
CursorStyle DEFAULT left_ptr
CursorStyle SYS left_ptr
CursorStyle MENU left_ptr
CursorStyle WAIT left_ptr
Silent Key F1 A M Menu MenuFvwmRoot
Silent Key Space A 4 Menu MenuFvwmRoot
Silent Key Space A 4S Menu MenuWindowOpsLong
Silent Key Tab A M WindowList Root c c NoSticky, NoGeometry, NoDeskSort, CurrentAtEnd, SelectOnRelease Meta_L
Silent Key F1 A 4 GotoDesk 0 0
Silent Key F2 A 4 GotoDesk 0 1
Silent Key F3 A 4 GotoDesk 0 2
Silent Key F4 A 4 GotoDesk 0 3
Silent Key F1 A 4S MoveToDesk 0 0
Silent Key F2 A 4S MoveToDesk 0 1
Silent Key F3 A 4S MoveToDesk 0 2
Silent Key F4 A 4S MoveToDesk 0 3
Silent Key 1 A 4 GotoPage 0 0
Silent Key 2 A 4 GotoPage 1 0
Silent Key 3 A 4 GotoPage 0 1
Silent Key 4 A 4 GotoPage 1 1
Silent Key 1 A 4S MoveToPage 0 0
Silent Key 2 A 4S MoveToPage 1 0
Silent Key 3 A 4S MoveToPage 0 1
Silent Key 4 A 4S MoveToPage 1 1
DestroyMenu MenuSendToPage
AddToMenu MenuSendToPage
+ "Page (0,0)" MoveToPage 0 0
+ "Page (0,1)" MoveToPage 0 1
+ "Page (1,0)" MoveToPage 1 0
+ "Page (1,1)" MoveToPage 1 1
# page scrolling custom
Mouse 9 R 4 Scroll 0 -100p
Mouse 8 R 4 Scroll 0 100p
Mouse 9 A 4 Scroll 0 -100p
Mouse 8 A 4 Scroll 0 100p
#### Programs Keybinding
# Silent Key Return A 4 Exec exec $[infostore.terminal] -g 80x32
Silent Key Return A 4 Exec exec $[infostore.terminal]
Silent Key Return A 4C Exec exec $[infostore.altterminal]
Silent Key Return A 4S Exec exec emacsclient -c -e '(bard/open-terminal-in-current-directory)'
Silent Key Backslash A 4 Exec exec $[infostore.terminal] -e bc -l
Silent Key E A 4 Exec exec emacs
Silent Key N A 4 exec emacsclient -c
Silent Key D A 4 Exec exec dmenu_run -c -l 15
# browser
Silent Key W A 4 Exec exec librewolf-bin
Silent Key W A 4S Exec exec firefox-bin
#### Media keybinds
Silent Key XF86AudioMute A A Exec exec pactl set-sink-mute @DEFAULT_SINK@ toggle
Silent Key XF86AudioRaiseVolume A A Exec exec pactl set-sink-volume @DEFAULT_SINK@ +10%
Silent Key XF86AudioLowerVolume A A Exec exec pactl set-sink-volume @DEFAULT_SINK@ -10%
Silent Key XF86AudioMicMute A A Exec exec pactl set-source-mute @DEFAULT_SOURCE@ toggle
Silent Key XF86AudioPrev A A Exec exec playerctl prev
Silent Key XF86AudioNext A A Exec exec playerctl next
Silent Key XF86AudioPause A A Exec exec playerctl pause
Silent Key P A 4 Exec exec playerctl pause
Silent Key XF86AudioPlay A A Exec exec playerctl play
## brightness
Silent Key XF86MonBrightnessUp A A Exec exec xbacklight -inc 10
Silent Key XF86MonBrightnessDown A A Exec exec xbacklight -dec 10
#### Script keybinds
Silent Key B A 4 Exec exec "$HOME/.local/bin/scripts/scratch.sh"
Silent Key N A 4S Exec exec "$HOME/.local/bin/scripts/emacs-launcher"
Silent Key D A 4S Exec exec "$HOME/.local/bin/scripts/dired_selector"
Silent Key M A 4 Exec exec emacsclient -c -e '(emms)'
Silent Key C A 4 Module FvwmScript fvwmscript/org-clock
# screenshot
Silent Key Print A A Exec exec "$HOME/.local/bin/scripts/maimpick"
# Window Buttons: [1 3 5 7 9 TTTTT 0 8 6 4 2]
# 1 - Open the WindowOps menu.
# 2 - Close on single click, Destroy on double click.
# 4 - Maximize (right/middle button will only maximize vertical/horizontal)
# 6 - Iconify (minimize)
Mouse 1 1 A Menu MenuWindowOps Delete
Mouse 1 2 A Close
Mouse 1 4 A Maximize 100 100
Mouse 2 4 A Maximize 0 100
Mouse 3 4 A Maximize 100 0
Mouse 1 6 A Iconify
# TitleBar: Click to Raise, Move, Double Click to Maximize
# Mouse Wheel Up/Down to WindowShade On/Off
# Borders: Click to raise, Move to Resize
# Root Window: Left Click - Main Menu
# Right Click - WindowOps Menu
# Middle Click - Window List Menu
# Right click TitleBar/Borders for WindowOps Menu
Mouse 1 T A RaiseMoveX Move Maximize
Mouse 1 FS A RaiseMove Resize
Mouse 4 T A WindowShade True
Mouse 5 T A WindowShade False
Mouse 1 R A Menu MenuFvwmRoot
Mouse 2 R A WindowList
Mouse 3 R A Menu MenuWindowOpsLong
Mouse 1 I A RaiseMoveX Move "Iconify off"
Mouse 3 T A Menu MenuWindowOps
Mouse 3 I A Menu MenuIconOps
# delete window
Silent Key Q A 4 Close
# Resize window
Silent Mouse 3 A 4 Resize
Silent Mouse 1 A 4 Move
# deiconify/iconify and rearrange
Mouse 1 I A DeiconifyAndRearrange
# super + arrows for tiling
Silent Key Left A 4 TileLeft 60 100 +0 +0
Silent Key Right A 4 TileRight 40 100 -0 +0
Silent Key Up A 4 TileTop 40 60 -0 +0
Silent Key Down A 4 TileBottom 40 40 -0 -0
Silent Key Left A 4S TileTopLeft 60 100 +0 +0
Silent Key Right A 4S TileTopRight 40 100 -0 +0
Silent Key Up A 4S TileBottomLeft 40 60 -0 +0
Silent Key Down A 4S TileBottomRight 40 40 -0 -0
# Super+C/F/J/H/K/L - center, maximize, move window, etc
Silent Key C A 4S AnimatedMove 50-50w 50-50w
Silent Key F A 4 Maximize toggle 100 100
Silent Key F A 4S Iconify
silent Key H A 4 AnimatedMove +0 w0px
Silent Key L A 4 AnimatedMove -0 w0px
Silent Key J A 4 AnimatedMove w0px -0
Silent Key K A 4 AnimatedMove w0px +0
Silent Key H A 4S Move w-20px w0px
Silent Key L A 4S Move w20px w0px
Silent Key J A 4S Move w0px w20px
Silent Key K A 4S Move w0px w-20px
# Silent Key Minus A 4 ShowDesktop
# Silent Key Plus A 4 RestoreDesktop
# Maximize in direction until we hit another window.
Silent Key Left A 4C Maximize growleft 0
Silent Key Right A 4C Maximize growright 0
Silent Key Up A 4C Maximize 0 growup
Silent Key Down A 4C Maximize 0 growdown
#######
# 6: Window Decor
#
# Buttons Locations: [1 3 5 7 9 TTTTT 0 8 6 4 2]
#
# 1 - WindowOps Menu
# 2 - Close
# 4 - Maximize
# 6 - Minimize
###########
TitleStyle Centered Height 25 -- Flat
ButtonStyle All ( Colorset 1 -- Flat )
ButtonStyle All Active ( Colorset 0 -- Flat )
AddButtonStyle 1 MiniIcon
AddButtonStyle 6 Pixmap minimize__FFFFFF.svg:20x20
AddButtonStyle 4 Pixmap maximize__FFFFFF.svg:20x20
AddButtonStyle 2 Pixmap close__FFFFFF.svg:20x20
############
# 7: Modules
#############
# FvwmIdent
#
# FvwmIdent is a module that can be used to get the various info about
# a window. One use is getting the class/resource/name of a window.
DestroyModuleConfig FvwmIdent:*
*FvwmIdent: Colorset 10
*FvwmIdent: Font "xft:Comic Code:size=14:antialias=True"
# FvwmBanner
#
# This displays the Fvwm Logo for 5 seconds. This is displayed
# when fvwm starts.
DestroyModuleConfig FvwmBanner:*
*FvwmBanner: NoDecor
*FvwmBanner: Timeout 5
# FvwmScript
#
# FvwmScript is a module that allows one to write custom desktop
# widgets and various other tools. This config uses two FvwmScripts.
# - DateTime - uses the output of "date" to display the date/time
# on the LeftPanel.
# - Quit - This is a popup that asks for quit confirmation before
# quitting fvwm.
DestroyModuleConfig FvwmScript:*
*FvwmScript: DefaultColorset 10
# FvwmButtons - LeftPanel
#
# FvwmButtons is a powerful module that can be used to build custom
# panels and docks. This config uses FvwmButtons to build the LeftPanel.
# The panel contains buttons to switch desks, FvwmPager, a system tray,
# FvwmIconMan (list of running windows), and a clock.
#
# Note - To use the system tray you must have "stalonetray" installed.
DestroyModuleConfig LeftPanel:*
DestroyModuleConfig LeftPanel:*
*LeftPanel: Geometry 120x$[vp.height]+0+0
# *LeftPanel: Geometry 120x$[vp.height]-0+0
*LeftPanel: Colorset 10
*LeftPanel: Rows $[vp.height]
*LeftPanel: Columns 120
*LeftPanel: Frame 0
*LeftPanel: Font "xft:Comic Code:Bold:size=14:antialias=True"
# *LeftPanel: (120x45, Icon "fvwm-logo-small.png", Frame 0)
*LeftPanel: (120x5, Frame 0)
*LeftPanel: (10x30, Frame 0)
*LeftPanel: (25x30, Id desk0, Title "0", Action (Mouse 1) GotoDesk 0 0, Colorset 11, ActiveColorset 12, Frame 0)
*LeftPanel: (25x30, Id desk1, Title "1", Action (Mouse 1) GotoDesk 0 1, ActiveColorset 12, Frame 0)
*LeftPanel: (25x30, Id desk2, Title "2", Action (Mouse 1) GotoDesk 0 2, ActiveColorset 12, Frame 0)
*LeftPanel: (25x30, Id desk3, Title "3", Action (Mouse 1) GotoDesk 0 3, ActiveColorset 12, Frame 0)
*LeftPanel: (10x30, Frame 0)
*LeftPanel: (5x120, Frame 0)
*LeftPanel: (110x120, Swallow FvwmPager 'Module FvwmPager *', Frame 0)
*LeftPanel: (5x120, Frame 0)
*LeftPanel: (120x5, Frame 0)
Test (x stalonetray) PipeRead 'echo "*LeftPanel: (120x$(($[vp.height]-250)), \
Top, Swallow FvwmIconMan \'Module FvwmIconMan\', Frame 0)"'
Test (!x stalonetray) PipeRead 'echo "*LeftPanel: (120x$(($[vp.height]-250)),\
Top, Swallow FvwmIconMan \'Module FvwmIconMan\', Frame 0)"'
*LeftPanel: (120x80, Swallow DateTime 'Module FvwmScript fvwmscript/FvwmScript-DateTime',\
Frame 0)
# *LeftPanel: (120x50, Swallow ACPIStatus 'Module FvwmScript fvwmscript/FvwmScript-ACPIStatus',\
# Frame 0)
# FvwmPager
#
# This module displays the location of the windows on the various Pages
# and Desks. This is setup to show only the Pages on the current Desk.
DestroyModuleConfig FvwmPager:*
*FvwmPager: Colorset * 10
*FvwmPager: HilightColorset * 13
*FvwmPager: BalloonColorset * 10
*FvwmPager: WindowColorsets 10 11
*FvwmPager: Font None
*FvwmPager: Balloons All
*FvwmPager: BalloonFont "xft:Comic Code:Italic:size=14:antialias=True"
*FvwmPager: BallonYOffset +2
*FvwmPager: Window3dBorders
*FvwmPager: MiniIcons
# FvwmIconMan
#
# FvwmIconMan is a powerful tool to list and manage windows. This
# is used as the window list in the panel or taskbar.
DestroyModuleConfig FvwmIconMan:*
*FvwmIconMan: UseWinList true
*FvwmIconMan: ButtonGeometry 120x20
*FvwmIconMan: ManagerGeometry 1x1
*FvwmIconMan: Colorset 10
*FvwmIconMan: FocusColorset 11
*FvwmIconMan: IconColorset 14
*FvwmIconMan: FocusAndSelectColorset 12
*FvwmIconMan: SelectColorset 12
*FvwmIconMan: IconAndSelectColorset 12
*FvwmIconMan: DrawIcons always
*FvwmIconMan: ReliefThickness 0
*FvwmIconMan: Format "%t"
*FvwmIconMan: Font "xft:Comic Code:size=14:antialias=True"
*FvwmIconMan: Action Mouse 0 A ret
*FvwmIconMan: Action Mouse 1 A sendcommand IconManClick
*FvwmIconMan: Action Mouse 3 A sendcommand "Menu MenuIconOps"
*FvwmIconMan: Resolution global
*FvwmIconMan: Tips needed
*FvwmIconMan: Sort id
# FvwmEvent
#
# FvwmEvent is a module that can run an action or function
# on specific events. This instance changes which desk number
# is highlighted when the desk is changed.
DestroyModuleConfig EventNewDesk:*
*EventNewDesk: PassID
*EventNewDesk: new_desk ChangeDesk
# FvwmForm
#
# FvwmForm is a module that can be used to build a GUI
# form. Used with fvwm-menu-desktop-config.fpl.
# This sets the default colorsets.
*FvwmFormDefault: Colorset 10
*FvwmFormDefault: ItemColorset 13
# Local configuration file. For use with the default-config.
#
# If $FVWMUSER_DIR/local.config ($HOME/.fvwm/local.config by default)
# exists, then read it. This allows changes to default-config settings
# without needing a full copy of the default-config. This will also allow
# default-config changes to get used after upgrades (if applicable).
Test (f $[FVWM_USERDIR]/local.config) Read $[FVWM_USERDIR]/local.config
DesktopConfiguration per-monitor
GotoDesk screen $[monitor.primary] 0 2
DestroyFunc SmartPrevPageFlipFocus
AddToFunc SmartPrevPageFlipFocus
+ I Prev (CurrentDesk,AcceptsFocus,!Iconic,Iconifiable) FuncFlipFocusWindow
+ I TestRc (Match) EchoPageNumberIfFull cyan
DestroyFunc DeiconifyAndRearrange
AddToFunc DeiconifyAndRearrange
+ C Iconify off
+ C All (CurrentPage, Iconic) PlaceAgain Icon
DestroyFunc IconFunc
AddToFunc IconFunc
+ C DeiconifyAndRearrange
+ M Raise
+ M Move
+ D DeiconifyAndRearrange
DestroyFunc LimitApplication
AddToFunc LimitApplication
+ I Next ($0, CurrentDesk, CirculateHit) FlipFocus
+ I Next ($0, CurrentDesk, CirculateHit) Raise
+ I TestRc (NoMatch) None ($0, CurrentDesk) Exec exec $[1-]
DestroyFunc ShowDesktop
AddToFunc ShowDesktop
+ I All (CurrentPage, Iconic, State 1) RestoreDesktop
+ I TestRc (Match) Break
+ I All (CurrentPage, !Iconic, !State 1) ThisWindow State 1 True
+ I All (CurrentPage, !Iconic, State 1) Iconify
DestroyFunc RestoreDesktop
AddToFunc RestoreDesktop
+ I All (CurrentPage, Iconic, State 1) Iconify off
+ I All (CurrentPage, State 1) ThisWindow State 1 False
Read $[themedir]/iosevka.sys
|