### vim:ft=fvwm:fdm=marker
###
### .fvwm/menus
###
### Frank Terbeck <ft@bewatermyfriend.org>
### Last-Modified: Sat Mar  6 09:46:42 2010
###
### <http://ft.bewatermyfriend.org/comp/fvwm.html>
###

### Looks
### {{{

    MenuStyle *   Font -*-terminus-*-*-*-*-12-*-*-*-*-*-*-*
    MenuStyle *   Hilight3DThin,  PopupOffset 0 100, PopupDelay 300, MenuColorset 1, HilightBack, ActiveColorset 2
    MenuStyle *   BorderWidth 1,  TitleUnderlines2,  SeparatorsLong, TrianglesSolid, Animation,   ItemFormat "%.2|%.5i%.5l%.5i%2.3>%2|"

### }}}

###
### Entries
###

###------------------------------------------------------------------###
### the Root Menu                                                    ###  [[[ static ]]]
###   always called directly                                         ###
###------------------------------------------------------------------###
### {{{

    DestroyMenu RootMenu
    AddToMenu   RootMenu      "be water, my friend!"   Title
    + "xterm"                     . Exec exec xterm -title "xterm ["%{(++$i - 1)}%"]"
    + "scr&een"                   . Exec exec xterm -title "xterm + tmux ["%{(++$i - 1)}%"]" -e tmux
    + ""  Nop                     ###------------------------------###
    + "load standard apps"        Module FvwmForm DialogStdAppsVerify
    + "tmu&x sessions"            Popup tmux
    + ""  Nop                     ###------------------------------###
    + "screen sa&ver"             Exec exec aterm -geometry 128x49+0+0                        \
                                                  -cr green -pr green                         \
                                                  --color10 Green3  --color2 Green4           \
                                                  -fn mtx                                     \
                                                  -title screensaver -e cmatrix -u 3 -b -a -s -x
#    + "screen sa&ver"             Exec exec urxvt -geometry 168x63+0+0                        \
#                                                  -tint green                                 \
#                                                  -tr -sh 20                                  \
#                                                  -b 10                                       \
#                                                  -cr green -pr green                         \
#                                                  --color10 Green2  --color2 Green4           \
#                                                  -fb terminus-iso8859-15-bold-12             \
#                                                  -title screensaver -e cmatrix -u 3 -b -a -s
    + "&lock screen"              Exec exec lox.sh
#-dpmsstandby 180 -dpmssuspend 300 -dpmsoff 600 -background grey65
    + ""  Nop                     ###------------------------------###
    + "app&s"                     Popup apps
    + "c&mus"                     Popup cmus
    + "&games"                    Popup games
    + "&terms"                    Popup terms
    + "spec. te&rms"              Popup sterms
    + ""  Nop                     ###------------------------------###
    + "&config"                   Popup config
    + ""  Nop                     ###------------------------------###
    + "exit &fvwm"                Popup quitmenu

### }}}

###------------------------------------------------------------------###
### tmux SubMenu - start/reattach to standard screen sessions        ###  [[[ static ]]]
###   called from RootMenu                                           ###
###------------------------------------------------------------------###
### {{{

    DestroyMenu tmux
    AddToMenu   tmux             "tmux"        Title
    + "&email"                    Exec exec $[FVWM_USERDIR]/bin/fvwm_launch.sh email
    + "&web"                      Exec exec $[FVWM_USERDIR]/bin/fvwm_launch.sh web
    + "&misc"                     Exec exec $[FVWM_USERDIR]/bin/fvwm_launch.sh misc
    + ""  Nop                     ###------------------------------###
    + "&attach/new"               Module FvwmForm TmuxSessionDialog
    + ""  Nop                     ###------------------------------###
    + "e&xisting"                 Popup dynsessions

### }}}

###------------------------------------------------------------------###
### apps SubMenu - call applications from the menu                   ###  [[[ static ]]]
###   called from RootMenu                                           ###
###------------------------------------------------------------------###
### {{{

    DestroyMenu apps
    AddToMenu   apps          "apps"        Title
    + "r&un..."                   Module FvwmForm RunDialog
    + ""  Nop                     ###------------------------------###
    + "&firefox"                  Exec exec /opt/firefox/firefox
    + "&claws"                    Exec exec claws-mail
    + "&promoe"                   Exec exec promoe
    + "&liferea"                  Exec exec liferea
    + "&xine"                     Exec exec xine
    + "&galculator"               Exec exec galculator
    + ""  Nop                     ###------------------------------###
    + "&electrics"                Popup apps_geda
    + "&math"                     Popup apps_math
    + "&net"                      Popup apps_net
    + "&doc"                      Popup apps_doc
    + "&image"                    Popup apps_image
    + "&oo"                       Popup apps_oo
    + ""  Nop                     ###------------------------------###
    + "&virtualbox"               Exec virtualbox
    + ""  Nop                     ###------------------------------###
    + "x&kill"                    Exec exec xkill

### }}}

###------------------------------------------------------------------###
### network SubMenu - call networking related apps                   ###  [[[ static ]]]
###   called from apps SubMenu                                       ###
###------------------------------------------------------------------###
### {{{

    DestroyMenu apps_net
    AddToMenu   apps_net      "network"     Title
    + "&nicotine"                 Exec exec nicotine

### }}}

###------------------------------------------------------------------###
### doc viewers SubMenu                                              ###  [[[ static ]]]
###   called from apps SubMenu                                       ###
###------------------------------------------------------------------###
### {{{

    DestroyMenu apps_doc
    AddToMenu   apps_doc      "doc viewers" Title
    + "x&pdf"                     Exec exec xpdf
    + "x&chm"                     Exec exec xchm
    + "&djview"                   Exec exec djview
    + "&gv"                       Exec exec gv
    + "xd&vi"                     Exec exec xdvi
    + "&acroread"                 Exec exec acroread

### }}}

###------------------------------------------------------------------###
### math SubMenu                                                     ###  [[[ static ]]]
###   called from apps SubMenu                                       ###
###------------------------------------------------------------------###
### {{{

    DestroyFunc apps_math_matlab
    AddToFunc   apps_math_matlab
    + I Exec exec xterm -geometry +80+20 -e $[FVWM_USERDIR]/bin/matlabstart.sh
    + I Exec ZRC_PLEASE_GOTO=$[HOME]/lib/matlab exec xterm -title matlab-cli -geometry +120+70

    DestroyMenu apps_math
    AddToMenu   apps_math     "math" Title
    + "&matlab"                     apps_math_matlab
    + "&open math"                  Exec exec urxvt -title "open math (maxima & octave)" -e screen -c ~/etc/screen/math_screenrc

### }}}

###------------------------------------------------------------------###
### geda SubMenu                                                     ###  [[[ static ]]]
###   called from apps SubMenu                                       ###
###------------------------------------------------------------------###
### {{{

    DestroyMenu apps_geda
    AddToMenu   apps_geda     "electrics" Title
    + "&gschem"                     Exec exec gschem
    + "&xgsch2pcb"                  Exec exec xgsch2pcb
    + "&qucs"                       Exec exec qucs
    + "&ltc"                        Exec exec wine "${HOME}/etc/wine/drive_c/Program Files/LTC/LTspiceIV/scad3.exe"

### }}}

###------------------------------------------------------------------###
### image SubMenu - call image viewers/manipulators                  ###  [[[ static ]]]
###   called from apps SubMenu                                       ###
###------------------------------------------------------------------###
### {{{

    DestroyMenu apps_image
    AddToMenu   apps_image    "image"       Title
    + "x&zgv"                     Exec exec xzgv
    + "&gimp"                     Exec exec gimp

### }}}

###------------------------------------------------------------------###
### oo SubMenu - call OpenOffice Components                          ###  [[[ static ]]]
###   called from apps SubMenu                                       ###
###------------------------------------------------------------------###
### {{{

    DestroyMenu apps_oo
    AddToMenu   apps_oo       "oo"          Title
    + "&writer"                   Exec exec oowriter
    + "&calc"                     Exec exec oocalc
    + "&math"                     Exec exec oomath
    + "&impress"                  Exec exec ooimpress
    + "&draw"                     Exec exec oodraw

### }}}

###------------------------------------------------------------------###
### cmus SubMenu - remote control for C* Music Player                ###  [[[ static ]]]
###   called from RootMenu                                           ###
###------------------------------------------------------------------###
### {{{

    DestroyMenu cmus
    AddToMenu   cmus          "cmus"        Title
    + "prev (&y)"                 Exec exec cmus-remote --prev
    + "play (&x)"                 Exec exec cmus-remote --play
    + "pause (&c)"                Exec exec cmus-remote --pause
    + "stop (&v)"                 Exec exec cmus-remote --stop
    + "next (&b)"                 Exec exec cmus-remote --next
    + ""  Nop                     ###------------------------------###
    + "current &song"             Exec LC_CTYPE=de_DE.UTF-8 exec osd_cat  --font="-xos4-terminus-bold-*-*-*-20-*-*-*-*-*-iso8859-15"  \
                                                                          --pos="bottom" --align="left" --color="white"               \
                                                                          --offset="-70" --indent="60"  --delay="5" --shadow="2"      \
                                                                          $(cmus-rstat.sh -fvwm)

### }}}

###------------------------------------------------------------------###
### games SubMenu - call various games                               ###  [[[ static ]]]
###   called from RootMenu                                           ###
###------------------------------------------------------------------###
### {{{

    DestroyMenu games
    AddToMenu   games         "games"       Title
    + "&quake3"                   Popup quake3
    + "&rtcw"                     Popup rtcw
    + "&et"                       Exec exec /usr/games/et/et
    + ""  Nop                     ###------------------------------###
    + "&xqf"                      Exec exec xqf
    + ""  Nop                     ###------------------------------###
    + "&wesnoth"                  Exec exec wesnoth
    + "&supertux"                 Exec exec supertux
    + "&ltris"                    Exec exec ltris
    + "&pokerth"                  Exec exec pokerth

### }}}

###------------------------------------------------------------------###
### rtcw SubMenu - call different configurations for                 ###  [[[ static ]]]
###                idsoftware's Return to Castle Wolfenstein         ###
###   called from games SubMenu                                      ###
###------------------------------------------------------------------###
### {{{

    DestroyMenu rtcw
    AddToMenu   rtcw          "rtcw"        Title
    + "&sp"                       Exec exec /usr/games/rtcw/wolfsp
    + "&mp"                       Exec exec /usr/games/rtcw/wolfmp

### }}}

###------------------------------------------------------------------###
### quake3 SubMenu - call different configurations for               ###  [[[ static ]]]
###                  idsoftware's Quake III Arena                    ###
###   called from games SubMenu                                      ###
###------------------------------------------------------------------###
### {{{

    DestroyMenu quake3
    AddToMenu   quake3        "quake3"      Title
    + "&osp"                      Exec exec /usr/games/Quake_III_Arena/start_Linux_Quake_III_Arena.pl osp
    + "&baseq3"                   Exec exec /usr/games/Quake_III_Arena/start_Linux_Quake_III_Arena.pl baseq3
    + "&cpma"                     Exec exec /usr/games/Quake_III_Arena/start_Linux_Quake_III_Arena.pl cpma
    + "&gtv3"                     Exec exec /usr/games/Quake_III_Arena/start_Linux_Quake_III_Arena.pl inet gtv3

### }}}

###------------------------------------------------------------------###
### terms SubMenu - call various terminal emulators                  ###  [[[ static ]]]
###   called from RootMenu                                           ###
###------------------------------------------------------------------###
### {{{

    DestroyMenu terms
    AddToMenu   terms         "terms"       Title
    + "&xterm"                    Exec exec xterm
    + "&white xterm"              Exec exec xterm -fg black -bg white

### }}}

###------------------------------------------------------------------###
### special Terms Submenu - start sized and positioned terminals     ###  [[[ static ]]]
###   called from RootMenu                                           ###
###------------------------------------------------------------------###
### {{{

    DestroyMenu sterms
    AddToMenu   sterms       " spec. terms "     Title
    + "notes r&u"                 Exec exec xterm -geometry 66x14+615+18  -title "xterm up right"
    + "notes r&m"                 Exec exec xterm -geometry 66x14+615+258 -title "xterm mid right"
    + "notes r&b"                 Exec exec xterm -geometry 66x14+615+495 -title "xterm bot right"
    + "notes lu"                  Exec exec xterm -geometry 66x14+70+18   -title "xterm up left"
    + "notes lm"                  Exec exec xterm -geometry 66x14+70+258  -title "xterm mid left"
    + "notes lb"                  Exec exec xterm -geometry 66x14+70+495  -title "xterm bot left"
    + ""  Nop                     ###------------------------------###
    + "&remote"                   Exec exec xterm -name TMUXmisc -title remote -geometry 151x50+91+32
    + "&irc"                      Exec exec xterm -name TMUXmisc -title irc

### }}}

###------------------------------------------------------------------###
### config SubMenu - different calls for X and fvwm setup            ###  [[[ static ]]]
###   called from RootMenu                                           ###
###------------------------------------------------------------------###
### {{{

    DestroyMenu config
    AddToMenu   config        "config"      Title
    + "&x"                        Popup x
    + "&wallpapers"               Popup wallpapers
    + ""  Nop                     ###------------------------------###
    + "&fvwm setup"               Popup fvwmcfg
    + "Fvwm&Console"              MyEdgeFunc
    + ""  Nop                     ###------------------------------###
    + "re&fresh screen"           Refresh
    + "&restart"                  Restart

### }}}

###------------------------------------------------------------------###
### x SubMenu - X server specific configuration calls                ###  [[[ static ]]]
###   called from config SubMenu                                     ###
###------------------------------------------------------------------###
### {{{
    DestroyMenu x
    AddToMenu   x             "x"           Title
    + "&dpms"                     Popup dpms

### }}}

###------------------------------------------------------------------###
### fvwm setup SubMenu                                               ###  [[[ static ]]]
###   called from config SubMenu                                     ###
###------------------------------------------------------------------###
### {{{
    DestroyMenu fvwmcfg
    AddToMenu   fvwmcfg       "fvwm setup"  Title
    + "Unbind F12"                Key F12 A N -
    + "(re)Bind F12"              Key F12 A N Menu RootMenu Nop

### }}}

###------------------------------------------------------------------###
### dpms SubMenu - change X server's dpms settings                   ###  [[[ static ]]]
###   called from x SubMenu                                          ###
###------------------------------------------------------------------###
### {{{

    DestroyMenu dpms
    AddToMenu   dpms          "dpms"        Title
    + "&quick"                    Exec exec xset dpms   25   60  300
    + "&medium"                   Exec exec xset dpms  180  300  600
    + "&long"                     Exec exec xset dpms 1200 1800 2400

### }}}

###------------------------------------------------------------------###
### quitmenu SubMenu - quit OS/X/fvwm somehow                        ###  [[[ static ]]]
###   called from RootMenu                                           ###
###------------------------------------------------------------------###
### {{{

    DestroyMenu quitmenu
    AddToMenu   quitmenu      "quit" Title
    + "&quit"                     Module FvwmForm DialogQuitVerify
    + ""  Nop                     ###------------------------------###
    + "&suspend2disk"             Exec exec $[FVWM_USERDIR]/bin/xlockhibernate.sh disk
    + "suspend2&ram"              Exec exec $[FVWM_USERDIR]/bin/xlockhibernate.sh ram
    + ""  Nop                     ###------------------------------###
    + "&dummy"                    Restart xterm

### }}}

###------------------------------------------------------------------###
### WindowOpts Menu - window options                                 ###  [[[ static ]]]
###   main menu; always called directly                              ###
###------------------------------------------------------------------###
### {{{

    DestroyMenu WindowOpts
    AddToMenu   WindowOpts
    + "ma&ximize"                 Maximize-Func-Auto
    + "o&vermax"                  Maximize
    + "&shade"                    WindowShade
    + "m&inimize"                 Iconify
    + ""  Nop                     ###------------------------------###
    + "id&entify"                 Module FvwmIdent
    + "&move"                     Move
    + ""  Nop                     ###------------------------------###
    + "move &to ..."              Popup MoveToWorkspace
    + "&options ..."              Popup MiscWinOpts
    + ""  Nop                     ###------------------------------###
    + "&close"                    Close # Delete
    + "&kill"                     Destroy

### }}}

###------------------------------------------------------------------###
### MiscWinOpts SubMenu - more options                               ###  [[[ static ]]]
###   called from WindowOpts                                         ###
###------------------------------------------------------------------###
### {{{

    DestroyMenu MiscWinOpts
    AddToMenu   MiscWinOpts         "options"     Title
    + "stay on &top"              Pick (CirculateHit) Layer 0 6
    + "stay on &bottom"           Pick (CirculateHit) Layer 0 2
    + "stay    &normal"           Pick (CirculateHit) Layer 0 4
    + ""  Nop                     ###------------------------------###
    + "&stick"                    Stick

### }}}

###------------------------------------------------------------------###
### MoveToWorkspace SubMenu - move window to another desktop         ###  [[[ dynamic ]]]
###   called by WindowOpts                                           ###
###------------------------------------------------------------------###
### {{{

    DestroyMenu MoveToWorkspace
    AddToMenu   MoveToWorkspace   "workspace" Title
    + DynamicPopupAction Function genmovemenu

### }}}

###------------------------------------------------------------------###
### wallpapers SubMenu                                               ###  [[[ dynamic ]]]
###   called from config SubMenu                                     ###
###------------------------------------------------------------------###
### {{{

    DestroyMenu wallpapers
    AddToMenu   wallpapers          "wallpapers" Title
    + DynamicPopupAction Function genwallpapersmenu

### }}}

###------------------------------------------------------------------###
### dynsessions SubMenu                                              ###  [[[ dynamic ]]]
###   called from tmux SubMenu                                       ###
###------------------------------------------------------------------###
### {{{

    DestroyMenu dynsessions
    AddToMenu   dynsessions "existing sessions" Title
    + DynamicPopupAction Function gentmuxsessionsmenu

### }}}

### vim:ft=fvwm