Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
2248 lines (2006 sloc) 90.7 KB
# ~/.fvwm/.fvwm2rc
# vim:set et sw=4:
# Basic Settings {{{1
ImagePath ${HOME}/.pixmaps:${HOME}/.wm-icons:${HOME}/.fvwm/icons:/usr/local/share/icons:/usr/share/icons:/usr/include/X11/pixmaps:/usr/local/share/pixmaps:/usr/share/pixmaps/fvwm:/usr/share/pixmaps:/usr/include/X11/bitmaps:/usr/X11R6/include/bitmaps:/usr/X11R6/include/X11/pixmaps:/usr/share/icons/wm-icons:/usr/share/icons/fvwm:/usr/share/fvwm/images:/usr/share/icons/default.kde/16x16/apps
EdgeResistance 2000 16
EdgeScroll 0 0
EdgeThickness 1
SnapAttraction 2
OpaqueMoveSize -1
XorPixmap resize.rainbow.xpm
ClickTime 650
EdgeCommand Bottom All (FvwmButtons) FuncButtonsRestore
SetAnimation 5 .01 .03 .08 .18 .3 .45 .6 .75 .85 .90 .94 .97 .99 1.0
DesktopSize 1x1
DesktopName 0 First
DesktopName 1 Second
DesktopName 2 Third
DesktopName 3 Fourth
DesktopName 4 Fifth
DesktopName 5 Sixth
DesktopName 6 Seventh
DesktopName 7 Eighth
PipeRead "echo SetEnv HOST `tpope host name`"
PipeRead "echo SetEnv sudo `if [ -x /usr/bin/gksudo ]; then echo gksudo; else echo sudo; fi`"
SetEnv SMALLFONT "-misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-1"
SetEnv SMALLXFTFONT "Mono:style=Roman:pixelsize=8:minspace=true:antialias=true"
DestroyFunc Fvwm24
AddToFunc Fvwm24
+ I SetEnv fvwm_titlefont "-adobe-helvetica-bold-r-*--12-*-*-*-p-*-iso8859-1"
+ I SetEnv fvwm_menufont "-adobe-helvetica-medium-*--12-*-*-*-p-*-iso8859-1"
+ I SetEnv fvwm_labelfont "-adobe-helvetica-bold-r-*--12-*-*-*-p-*-iso8859-1"
+ I SetEnv fvwm_iconfont "-adobe-helvetica-medium-r-*--11-*-*-*-p-*-iso8859-1"
+ I SetEnv fvwm_modulefont "-adobe-helvetica-medium-r-*--12-*-*-*-p-*-iso8859-1"
+ I SetEnv fvwm_alertfont "-adobe-helvetica-bold-r-*--17-*-*-*-p-*-iso8859-1"
+ I SetEnv fvwm_smallfont "-misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-1"
+ I DefaultFont 7x13
DestroyFunc Fvwm25
AddToFunc Fvwm25
#+ I SetEnv fvwm_titlefont "xft:Arial:style=Bold:pixelsize=12;-adobe-helvetica-bold-r-*--12-*-*-*-p-*-*-*"
+ I SetEnv fvwm_titlefont "Shadow=1 Center:xft:Arial:style=Bold:pixelsize=12:encoding=iso10646-1;-adobe-helvetica-bold-r-*--12-*-*-*-p-*-*-*"
+ I SetEnv fvwm_menufont "xft:Bitstream Vera Sans:style=Roman:pixelsize=12:encoding=iso10646-1;-adobe-helvetica-bold-r-*--12-*-*-*-p-*-*-*"
+ I SetEnv fvwm_labelfont "Shadow=1 Center:xft:Bitstream Vera Sans:style=Bold:pixelsize=12:encoding=iso10646-1;-adobe-helvetica-bold-r-*--12-*-*-*-p-*-*-*"
+ I SetEnv fvwm_iconfont "xft:Bitstream Vera Sans:style=Roman:pixelsize=11:encoding=iso10646-1;-adobe-helvetica-medium-r-*--11-*-*-*-p-*-*-*"
+ I SetEnv fvwm_modulefont "xft:Arial:pixelsize=12:encoding=iso10646-1;-adobe-helvetica-medium-r-*--12-*-*-*-p-*-*-*"
+ I SetEnv fvwm_alertfont "xft:Bitstream Vera Sans:style=Bold:pixelsize=15:encoding=iso10646-1;-adobe-helvetica-bold-r-*--17-*-*-*-p-*-*-*"
+ I SetEnv fvwm_smallfont "Mono:style=Roman:pixelsize=8:minspace=true:antialias=true:encoding=iso10646-1;-misc-fixed-medium-r-normal--8-80-75-75-c-50-iso8859-1"
+ I DefaultFont "xft:Mono:pixelsize=11;7x13:encoding=iso10646-1"
PipeRead "if fvwm --version >/dev/null 2>&1; then echo Fvwm25; else echo Fvwm24; fi"
# }}}1
# Styles {{{1
# Colorsets {{{2
#DestroyModuleConfig FvwmTheme: *
CleanupColorsets
#*FvwmTheme:
SetEnv BACK #C9C9C9
SetEnv FORE #777
SetEnv HIBACK #B3B3B3
SetEnv HIFORE #000
SetEnv DARK #333
Colorset 0 fg Black, fgsh White, bg $[BACK], IconAlpha 50
Colorset 1 fg $[FORE], fgsh $[BACK], bg $[BACK], Transparent, IconAlpha 60
Colorset 2 fg $[HIFORE], fgsh $[HIBACK], bg $[HIBACK], IconAlpha 100
Colorset 3 fg $[DARK], fgsh $[BACK], bg $[BACK]
Colorset 4 fg White, fgsh $[DARK], bg $[DARK]
Colorset 5 fg $[FORE], fgsh $[BACK], bg $[BACK]
PipeRead '\
fvwm --version >/dev/null 2>&1 || ft="*FvwmTheme:"; \
if xdpyinfo 2>&1|grep "depth of root window: *[23]" >/dev/null; then \
for i in `seq 0 7`; do \
echo $ft Colorset 4$i DGradient 1000 \\#0`expr $i``expr 9 - $i` \\#0`expr $i + 1``expr 8 - $i`, fg black, bg \\#0`expr $i + 1``expr 8 - $i`; \
done; \
echo $ft Colorset 48 DGradient 1000 \\#068 \\#086, fg black, bg \\#077; \
else \
for i in `seq 0 7`; do \
echo $ft Colorset 4$i fg black, bg \\#0`expr $i + 1``expr 8 - $i`; \
done; \
echo $ft Colorset 48 fg black, bg \\#077; \
fi'
SetEnv fvwm_mybg #C9C9C9
DefaultColors - $[fvwm_mybg]
# }}}2
# Menu Styles {{{2
MenuStyle * HilightBack
MenuStyle * MenuColorset 3, ActiveColorset 4, GreyedColorset 5
MenuStyle * Animation, PopupOffset -2 100
MenuStyle * Font "$[fvwm_titlefont]"
MenuStyle * Font "$[fvwm_menufont]"
MenuStyle * BorderWidth 1, TrianglesSolid, TrianglesUseFore
# }}}2
# Default Styles {{{2
CursorStyle ROOT left_ptr
CursorStyle TITLE left_ptr
CursorStyle MENU left_ptr
CursorStyle DEFAULT left_ptr
CursorStyle SYS left_ptr
CursorStyle SELECT cross
# MWM Decor {{{3
DestroyDecor MWM
AddToDecor MWM
+ TitleStyle Centered Height 18
+ ButtonStyle 1 - MwmDecorMenu
+ ButtonStyle 1 -- UseTitleStyle
+ ButtonStyle 1 MiniIcon -- flat
+ AddButtonStyle 1 ActiveDown (5 01x01@0 99x01@0 99x99@1 01x99@1 01x01@0)
+ AddButtonStyle 1 Inactive (5 01x01@1 99x01@1 99x99@0 01x99@0 01x01@1)
+ AddButtonStyle 1 ActiveUp (5 01x01@1 99x01@1 99x99@0 01x99@0 01x01@1)
+ ButtonStyle 2 - !MwmDecorMax
+ 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)
+ ButtonStyle 4 - MwmDecorMax !MwmDecorMin
+ ButtonStyle 4 Default 2
+ ButtonStyle 6 - MwmDecorMin MwmDecorShade
+ ButtonStyle 6 Default 4
+ ButtonStyle 8 - MwmDecorStick
#+ ButtonStyle 8 (12 30x15@1 30x20@1 30x60@1 15x70@1 45x70@0 50x85@1 55x70@0 85x70@0 70x60@0 65x20@0 70x15@0 30x15@1)
+ ButtonStyle 8 (12 82x28@4 18x28@0 18x23@1 82x23@1 82x52@4 18x52@0 18x47@1 82x47@1 82x76@4 18x76@0 18x71@1 82x71@1)
+ ButtonStyle 3 (11 80x20@1 45x20@1 55x30@1 30x55@1 20x45@1 20x80@1 55x80@0 \
45x70@0 70x45@0 80x55@0 80x20@0)
+ ButtonStyle 5 (25 50x10@1 35x25@1 43x25@0 43x43@1 25x43@1 25x35@0 10x50@1 \
25x65@0 25x57@0 43x57@0 43x75@1 35x75@1 50x90@0 \
65x75@0 57x75@1 57x57@0 75x57@0 75x65@1 90x50@0 \
75x35@1 75x43@1 57x43@1 57x25@0 65x25@0 50x10@1)
# }}}3
# Flat Decor {{{3
DestroyDecor Flat
AddToDecor Flat
+ BorderStyle -- NoInset HiddenHandles
+ TitleStyle Centered Height 18 -- Flat
+ ButtonStyle 1 - MwmDecorMenu
+ ButtonStyle 1 -- UseTitleStyle
+ ButtonStyle 1 MiniIcon -- flat
+ AddButtonStyle 1 ActiveDown (5 01x01@0 99x01@0 99x99@1 01x99@1 01x01@0)
+ AddButtonStyle 1 Inactive (-- flat) ActiveUp (-- flat)
+ ButtonStyle 2 - !MwmDecorMax
+ 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)
#+ ButtonStyle 2 Active (ShrunkPixmap mini.winXX-close.xpm)
+ ButtonStyle 2 Active (Pixmap active-close.xpm)
+ ButtonStyle 2 Inactive (Pixmap inactive-close.xpm)
+ ButtonStyle 4 - MwmDecorMax !MwmDecorMin
+ ButtonStyle 4 Default 2
#+ ButtonStyle 4 ActiveUp (Pixmap active-maximize.xpm)
#+ ButtonStyle 4 Active (ShrunkPixmap mini.winXX-maximize.xpm)
+ ButtonStyle 6 - MwmDecorMin MwmDecorShade
+ ButtonStyle 6 Default 4
#+ ButtonStyle 6 ActiveUp (Pixmap active-iconify.xpm)
#+ ButtonStyle 6 Active (ShrunkPixmap mini.winXX-minimize.xpm)
+ ButtonStyle 8 - MwmDecorStick
+ ButtonStyle 8 (12 85x28@4 15x28@0 15x23@1 85x23@1 85x52@4 15x52@0 15x47@1 85x47@1 85x76@4 15x76@0 15x71@1 85x71@1)
#+ ButtonStyle 8 Active (ShrunkPixmap mini.winXX-sysmenu.xpm)
+ ButtonStyle 3 (11 80x20@1 45x20@1 55x30@1 30x55@1 20x45@1 20x80@1 55x80@0 \
45x70@0 70x45@0 80x55@0 80x20@0)
+ ButtonStyle 5 (25 50x10@1 35x25@1 43x25@0 43x43@1 25x43@1 25x35@0 10x50@1 \
25x65@0 25x57@0 43x57@0 43x75@1 35x75@1 50x90@0 \
65x75@0 57x75@1 57x57@0 75x57@0 75x65@1 90x50@0 \
75x35@1 75x43@1 57x43@1 57x25@0 65x25@0 50x10@1)
+ ButtonStyle All ActiveUp -- flat
+ ButtonStyle All ToggledActiveUp -- flat
+ ButtonStyle All Inactive -- flat
+ ButtonStyle All ToggledInactive -- flat
# }}}3
Style * UseDecor Flat, MwmBorder
Style * StippledTitle
Style * ResizeOpaque
Style * Font "$[fvwm_titlefont]"
Style * IconFont "$[fvwm_iconfont]"
Style * Icon norm/unknown.xpm, MiniIcon mini/unknown.xpm
Style * IconBox 0 -112 -0 -25, IconFill Right Left, IconBox -72 0 -0 -112, IconFill Bottom Left
Style * IconGrid 56 72, IconSize 48 48
Test (EnvIsSet GNOME_DESKTOP_SESSION_ID) Style * IconBox 0 -112 -0 -0, IconFill Left Bottom, IconBox -112 0 -0 -112, IconFill Bottom Left
Style * HilightFore $[HIFORE], ForeColor $[FORE]
Style * HilightBack $[HIBACK], BackColor $[BACK]
Style * Colorset 1, HilightColorset 2
Style * BorderWidth 3, HandleWidth 3, NoStickStipples
Style * MwmFunctions, MwmDecor, MwmButtons, HintOverride
Style NotStealth SloppyFocus, FPClickToFocus, GrabFocus, GrabFocusTransient
Style NotStealth CirculateHit, WindowListHit
Style * UseStyle NotStealth
Style * DecorateTransient, RaiseTransient, LowerTransient
Style * UsePPosition
Style * KeepWindowGroupsOnDesk, EWMHUseStackingOrderHints
Style * TileCascadePlacement
Style * MinOverlapPercentPlacement, MinOverlapPlacementPenalties 1 5 0.5 2 0.05 999
Style * MaxWindowSize 100 100, !AllowMaximizeFixedSize
Style * NoButton 8
# }}}2
# Terminal Emulator Styles {{{2
Style Terminal Icon term.xpm, MiniIcon mini.term2.xpm, EWMHDonateMiniIcon
#Style Terminal HilightBack rgb:30/40/50, BackColor rgb:52/55/58
Style XTerm* UseStyle Terminal
Style UXTerm* UseStyle Terminal
Style Eterm UseStyle Terminal
Style rxvt UseStyle Terminal
Style URxvt UseStyle Terminal
Style kterm UseStyle Terminal
Style dtterm UseStyle Terminal
Style Dtterm UseStyle Terminal
Style konsole UseStyle Terminal
Style *ssh@* Icon norm/terminal-remote.xpm, MiniIcon mini/terminal/right-white.xpm
#Style screen@* Icon norm/terminal.xpm, MiniIcon mini/terminal.xpm
#Style screen-ssh* Icon norm/terminal-special.xpm, MiniIcon mini/terminal-special.xpm
Style chat Icon norm/chat.xpm, MiniIcon mini/chat.xpm
Style chat@* UseStyle chat
Style Chat@* UseStyle chat
Style @* Icon norm/terminal-special.xpm, MiniIcon mini/terminal/left-white.xpm
Style @localhost Icon norm/terminal.xpm, MiniIcon mini/terminal.xpm
#, IconOverride
# }}}2
# Fvwm Module Styles {{{2
Style Fvwm* BorderWidth 2, Icon norm/system.xpm, MiniIcon mini.fvwm.xpm
Style Fvwm* WindowListSkip, CirculateSkip, ClickToFocus, GrabFocusOff
Style fvwm_menu UseStyle Fvwm*, UsePPosition, NoHandles
Style fvwm_menu TitleAtRight, RightTitleRotatedCCW, NoButton 4, FixedSize
Style FvwmScript-Hidden UsePPosition, HandleWidth 0, NoTitle
Style FvwmConsole Title, UseStyle NotStealth
#, IconOverride
Style FvwmIdent NoTitle, NoHandles
Style FvwmForm* Title, UseStyle NotStealth, NoButton 4, FixedSize, NoHandles
Style FvwmForm-Run MiniIcon mini.run.xpm, Icon run.xpm
Style FvwmAmetista UseStyle NotStealth
Style FvwmPager Sticky, NoTitle, NoHandles, ClickToFocus, FixedSize
Style FvwmBanner Sticky, NoTitle, StaysOnBottom, NeverFocus
Style FvwmButtons Sticky, NoTitle, Icon toolbox.xpm, NeverFocus, BorderWidth 0, NoHandles, FixedSize, !Closable, !Iconifiable, WindowShadeSteps 20, MiniIcon none
Style FvwmButtonsBottom TitleAtBottom
Style FvwmButtonsBottom BackColor white
Style FvwmButtonsTop BackColor white
Style FvwmWharf Sticky, NoHandles, NoTitle
Style FvwmTaskBar Sticky, NoHandles, NoTitle, BorderWidth 0
# }}}2
# Editor Styles {{{2
Style Editor GrabFocus, GrabFocusTransient, MiniIcon mini/editor.xpm, Icon norm/editor.xpm
Style *vim UseStyle Editor, MiniIcon vim-16.xpm, Icon vim.xpm
#Style Gvim StartsOnDesk 3
Style Xedit UseStyle Editor
Style nedit UseStyle Editor
Style emacs UseStyle Editor
# }}}2
# Web Browser Styles {{{2
Style www-browser MiniIcon mini/www.xpm, GrabFocusOff, SkipMapping, Title
# , StartsOnDesk 2
Style konqueror UseStyle www-browser, MiniIcon mini.kde.xpm
Style kcmshell UseStyle www-browser, MiniIcon mini.kde.xpm
Style Gecko UseStyle www-browser, MiniIcon mozilla.mini.xpm
Style gecko UseStyle www-browser, MiniIcon mozilla.mini.xpm
Style Firefox-bin UseStyle www-browser, MiniIcon mozilla.mini.xpm
Style Navigator UseStyle www-browser, MiniIcon mini.netscape.xpm
Style Opera UseStyle www-browser, MiniIcon opera.xpm
Style Google-chrome UseStyle www-browser
Style Chromium-browser UseStyle www-browser
Style Galeon UseStyle www-browser
Style dillo UseStyle www-browser
Style links UseStyle www-browser
Style w3m UseStyle www-browser
Style lynx UseStyle www-browser
Style WWW-Browser UseStyle www-browser
# }}}2
# Multimedia Program Styles {{{2
Style Media Icon norm/multimedia.xpm, MiniIcon mini/multimedia.xpm
Style Gimp UseStyle Media, Icon norm/gimp.xpm, MiniIcon mini/gimp.xpm
Style "The GIMP" UsePPosition
Style "GIMP Startup" StartsOnDesk 6
Style feh UseStyle Media, Icon norm/image-viewer.xpm, MiniIcon mini/image-viewer.xpm, NoButton 4
Style MPlayer UseStyle Media, NoPPosition, FixedPPosition, MaxWindowSize, NoIcon
Style xmms UseStyle Media, Icon norm/music.xpm, MiniIcon mini/music.xpm
Style Xawtv UseStyle Media, Icon norm/video.xpm, MiniIcon mini/video.xpm
Style tvtime UseStyle Media, Icon norm/video.xpm, MiniIcon mini/video.xpm
Style Inkscape UseStyle Media
Style Amarok UseStyle Media
# }}}2
# Game Styles {{{2
Style Game Icon norm/game.xpm, MiniIcon mini/game.xpm, StartsOnDesk 7
Style SDL_App UseStyle Game, NoButton 4, NoHandles, BorderWidth 2
Style mupen64 UseStyle Game
Style *Snes9* UseStyle Game
Style *etris* UseStyle Game, Icon norm/game-logic.xpm, MiniIcon mini/game-logic.xpm
Style *etrinet* UseStyle Game, Icon norm/game-logic.xpm, MiniIcon mini/game-logic.xpm
Style *MPlayer* StartsAnyWhere
# }}}2
# Common Program Styles {{{2
Style Gnome-panel GrabFocusOff, NeverFocus
Style Googleearth-bin GrabFocusOff
Style trayer GrabFocusOff
Style *lock NoTitle, NoHandles, Sticky, WindowListSkip, ClickToFocus, Icon norm/lock.xpm, MiniIcon mini/lock.xpm
Style gkrellm* Sticky, WindowListSkip, FocusFollowsMouse
Style xosview NoTitle, NoHandles, Sticky, WindowListSkip, CirculateSkip, NeverFocus, GrabFocusOff, StaysOnBottom, BorderWidth 2, StaysOnBottom
Style *biff NoTitle, Sticky, WindowListSkip, ClickToFocus
Style xcalc NoButton 4, Icon norm/calculator.xpm, MiniIcon mini/calculator.xpm
Style xmh StickyIcon, NoButton 4, Icon mail1.xpm, NoIconTitle
Style xman Icon xman.xpm, MiniIcon mini.xman.xpm
Style xmag ClickToFocus, Icon norm/viewer.xpm, MiniIcon mini/viewer.xpm
Style xzoom* ClickToFocus, Icon norm/viewer.xpm, MiniIcon mini/viewer.xpm, StaysOnTop
Style *fm Icon norm/file-manager.xpm, MiniIcon mini/file-manager.xpm
Style XConsole NoTitle, ClickToFocus, GrabFocusOff
Style Xcolors MaxWindowSize 100 95
Style xcolorsel StaysOnTop
Style Gpsdrive NoPPosition
Style x0rfbserver NoTitle, ClickToFocus, GrabFocusOff, NoHandles, BorderWidth 1, Icon norm/network.xpm, MiniIcon mini/network.xpm, WindowListSkip
Style DOTTY NoUSPosition
# bittorrent
Style python NoUSPosition
Style frame NoUSPosition
Style desktop_window Sticky, NoTitle, NoHandles, StaysOnBottom, StaysPut, Layer 0 0
Style editres Icon editres.xpm, MiniIcon mini.x2.xpm
Style Xscreensaver* Icon norm/display.xpm, MiniIcon mini.monitor.xpm
Style *font* Icon norm/font.xpm, MiniIcon mini/font.xpm
Style *OpenOffice* Icon norm/word-processor.xpm, MiniIcon mini/word-processor.xpm, MaxWindowSize 100 95
Style mutt* Icon mutt.xpm, MiniIcon mutt.mini.xpm
Style Xpdf MiniIcon mini.pdf.xpm, MaxWindowSize 100 95
Style Evince MiniIcon mini.pdf.xpm, MaxWindowSize 100 95
Style gv MiniIcon mini/ghostview.xpm, MaxWindowSize 100 95
Style xdvi MiniIcon mini/printing.xpm
Style Gaim GrabFocusOff, StartsOnDesk 6, MiniIcon mini.gaim.xpm, UsePPosition
Style "Buddy Ticker" NoTitle, ClickToFocus, WindowListSkip
Style VCLSalFrame GrabFocusOff, UsePPosition, NoFuncHint
# }}}2
UnsetEnv HIFORE
UnsetEnv FORE
UnsetEnv HIBACK
UnsetEnv BACK
UnsetEnv DARK
# }}}1
# Key Bindings {{{1
# Keys are in /usr/include/X11/keysymdef.h
IgnoreModifiers 2
# Bookmarking {{{2
PipeRead 'for k in E T Y U I O P; do \
echo Key $$k A 4 FuncFindResource \\$$$$\\[FVWM_BOOKMARK_$$k]; \
echo Key $$k A CM FuncFindResource \\$$$$\\[FVWM_BOOKMARK_$$k]; \
echo Key $$k A 4S SetEnv FVWM_BOOKMARK_$$k \\"\\$$\\[w.iconname\\]\\"; \
echo Key $$k A SCM SetEnv FVWM_BOOKMARK_$$k \\$$\\[w.iconname\\]; \
echo Key $$k A 4M SetEnv FVWM_BOOKMARK_$$k \\$$\\[w.resource\\]; \
echo Key $$k A 4C SetEnv FVWM_BOOKMARK_$$k \\$$\\[w.class\\]; \
echo Key $$k A 4SC UnsetEnv FVWM_BOOKMARK_$$k; \
done'
#Key equal A 4S SetEnv FVWM_BOOKMARK $[w.iconname]
#Key equal A 4M SetEnv FVWM_BOOKMARK $[w.resource]
#Key equal A 4C SetEnv FVWM_BOOKMARK $[w.class]
#Key equal A 4 FuncFindResource $$[FVWM_BOOKMARK]
Key E A 4 FuncFindBookmark E FuncFindEditor
Key T A 4 FuncFindBookmark T FuncFindTerminal
Key Y A 4 FuncFindBookmark Y FuncFindGameEtc
Key U A 4 FuncFindBookmark U
Key I A 4 FuncFindBookmark I FuncFindMediaProgram
Key O A 4 FuncFindBookmark O FuncFindOffice
Key P A 4 FuncFindBookmark P FuncFindDesktop
Key semicolon A 4 FuncFindEditor
Key semicolon A 4M Exec exec tpope sensible-editor
Key period A 4 FuncFindTerminal
Key comma A 4 FuncFindGameEtc
DestroyFunc FuncFindBookmark
AddToFunc FuncFindBookmark
+ I Test (EnvIsSet FVWM_BOOKMARK_$0) FuncFindResource $$[FVWM_BOOKMARK_$0]
+ I TestRc (NoMatch) $1
DestroyFunc FuncFindDesktop
AddToFunc FuncFindDesktop
+ I FuncFindResource "rdesktop|Vncviewer"
DestroyFunc FuncFindOffice
AddToFunc FuncFindOffice
+ I FuncFindResource "OpenOffice.org*|Gnumeric|Evince|Xpdf|XDvi|gv|Acroread"
DestroyFunc FuncFindTerminal
AddToFunc FuncFindTerminal
+ I FuncFindResource "XTerm|ETerm|rxvt|URxvt"
DestroyFunc FuncFindGameEtc
AddToFunc FuncFindGameEtc
+ I FuncFindResource "SDL_App|mupen64|*Snes9*|*etris*|*etrinet*|wine|Wine|Googleearth-bin"
DestroyFunc FuncFindEditor
AddToFunc FuncFindEditor
+ I FuncFindResource "Gvim|vim|Emacs|emacs"
DestroyFunc FuncFindMediaProgram
AddToFunc FuncFindMediaProgram
+ I FuncFindResource "Gimp|Inkscape|feh|MPlayer|xmms|Amarok|Xawtv|tvtime|aumix|Pavucontrol|nuvolaplayer|Spotify"
# }}}2
# Applications {{{2
Key Escape A SCM EscapeFunc
Key BackSpace A 4 Exec sleep 1; xscreensaver-command -lock || exec xlock
# Key comma A 4 ScanForWindow South East (CurrentDesk, AcceptsFocus) FuncFlipFocusWindow
# Key period A 4 ScanForWindow North West (CurrentDesk, AcceptsFocus) FuncFlipFocusWindow
Key XF86Terminal A A FuncScreenXTerm
Key Space A CM FuncScreenXTerm
Key Space A 4S FuncScreenXTerm
Key Space A 4M FuncScreenXTerm
Key Space A 4 FuncFindResource "*@localhost|localhost"
Key Z A CM FuncScreenXTerm
Key Z A 4S FuncScreenXTerm
Key Z A 4M FuncScreenXTerm
Key Z A 4 FuncFindResource "*@localhost|localhost"
Key Space A SCM FuncXTerm
Key Space A 4C FuncXTerm
# Key Space A 4S FuncXTerm
Key F A 4 Menu MenuFvwmTerminals Root c c
Key F A 4S Menu MenuFvwmScreens Root c c
Key F A 4M Menu MenuFvwmScreens Root c c
Key F A 4C Menu MenuFvwmLogins Root c c
Key S A 4 Menu MenuFvwmTerminals Root c c
Key S A 4S Menu MenuFvwmScreens Root c c
Key S A 4M Menu MenuFvwmScreens Root c c
Key S A 4C Menu MenuFvwmLogins Root c c
Key XF86Mail A A FuncChatScreenSshXTerm
Key grave A C FuncChatFind
Key grave A CS FuncChatScreenSshXTerm
Key apostrophe A 4 FuncChatFind
Key apostrophe A 4S FuncChatScreenSshXTerm
Key apostrophe A 4M FuncChatScreenSshXTermShared
Key grave A 4 FuncChatFind
Key grave A 4C FuncChatScreenSshXTermShared
Key grave A 4S FuncChatScreenSshXTermShared
Key grave A 4M FuncChatScreenSshXTerm
Key C A 4 FuncChatFind
Key C A 4C FuncChatScreenSshXTermShared
Key C A 4S FuncChatScreenSshXTermShared
Key C A 4M FuncChatScreenSshXTerm
Key XF86WWW A A FuncFindOrLaunchWebBrowser
Key XF86HomePage A A FuncFindOrLaunchWebBrowser
Key slash A 4 FuncFindOrLaunchWebBrowser
Key slash A 4S FuncWebBrowserClipboard
Key D A 4 FuncFindOrLaunchWebBrowser
Key D A 4M FuncWebBrowserClipboard
Key X A 4 FuncFindOrLaunchWebBrowser
Key X A 4M FuncWebBrowserClipboard
# }}}2
# Mouse Emulation {{{2
Key Left A 4 CursorMove -5 0
Key Right A 4 CursorMove +5 0
Key Up A 4 CursorMove 0 -5
Key Down A 4 CursorMove 0 +5
Key Left A S4 CursorMove -1p 0
Key Right A S4 CursorMove +1p 0
Key Up A S4 CursorMove 0 -1p
Key Down A S4 CursorMove 0 +1p
# }}}2
# Desks {{{2
Key Next A 4 GotoDesk +1 0 7
Key Prior A 4 GotoDesk -1 0 7
Key Next A CM GotoDesk +1 0 7
Key Prior A CM GotoDesk -1 0 7
Key Next A C4 FuncTakeToDesk +1 0 7
Key Prior A C4 FuncTakeToDesk -1 0 7
Key Next A SCM FuncTakeToDesk +1 0 7
Key Prior A SCM FuncTakeToDesk -1 0 7
Key Next A M4 MoveToDesk +1 0 7
Key Prior A M4 MoveToDesk -1 0 7
PipeRead 'for i in `seq 0 8`; do echo Key \
`expr $i + 1` A 4 \
GotoDeskAndPage $i 0 0; done'
PipeRead 'for i in `seq 0 8`; do echo Key \
`expr $i + 1` A 4MS \
FuncMoveToDeskAndPage $i 0 0; done'
PipeRead 'for i in `seq 0 8`; do echo Key \
`expr $i + 1` A 4M \
FuncMoveAllToDeskAndPage $i 0 0; done'
PipeRead 'for i in `seq 0 8`; do echo Key \
`expr $i + 1` A 4CS \
FuncTakeToDeskAndPage $i 0 0; done'
PipeRead 'for i in `seq 0 8`; do echo Key \
`expr $i + 1` A 4C \
FuncTakeAllToDeskAndPage $i 0 0; done'
Key Escape A CS Menu MenuGotoDesktop
Key Escape A MS Menu MenuGotoDesktop
Key Delete A CS Menu MenuTakeToDesktop
Key Delete A MS Menu MenuMoveToDesktop
Key Escape A 4 WindowList Root c c NoDeskSort NoCurrentDeskTitle ShowPage SelectOnRelease
Key Escape A CM WindowList Root c c NoDeskSort NoCurrentDeskTitle ShowPage SelectOnRelease
Key Delete A CM Menu MenuFvwmQuitVerify Root c c
Key BackSpace A 4 GotoDeskAndPage prev
# }}}2
# Quadrants {{{2
DestroyFunc FuncWindowWarp
AddToFunc FuncWindowWarp
+ I WindowId root 1 WarpToWindow $*
+ I PointerWindow Focus
+ I PointerWindow FuncWarpToTitle
Key F A 4 FuncWindowWarp 25 25
Key V A 4 FuncWindowWarp 25 75
Key G A 4 FuncWindowWarp 75 25
Key B A 4 FuncWindowWarp 75 75
# }}}2
# Directional Focus {{{2
Key Left A CM Direction West (CurrentDesk, AcceptsFocus) FuncFlipFocusWindow
Key Right A CM Direction East (CurrentDesk, AcceptsFocus) FuncFlipFocusWindow
Key Up A CM Direction North (CurrentDesk, AcceptsFocus) FuncFlipFocusWindow
Key Down A CM Direction South (CurrentDesk, AcceptsFocus) FuncFlipFocusWindow
Key H A 4 Direction West (CurrentDesk, AcceptsFocus) FuncFlipFocusWindow
Key J A 4 Direction South (CurrentDesk, AcceptsFocus) FuncFlipFocusWindow
Key K A 4 Direction North (CurrentDesk, AcceptsFocus) FuncFlipFocusWindow
Key L A 4 Direction East (CurrentDesk, AcceptsFocus) FuncFlipFocusWindow
Key H A CS Direction West (CurrentDesk, AcceptsFocus) FuncFlipFocusWindow
Key J A CS Direction South (CurrentDesk, AcceptsFocus) FuncFlipFocusWindow
Key K A CS Direction North (CurrentDesk, AcceptsFocus) FuncFlipFocusWindow
Key L A CS Direction East (CurrentDesk, AcceptsFocus) FuncFlipFocusWindow
# }}}2
# Menus {{{2
Key Escape A C FuncMenuFvwmRoot
Key Escape A S Menu MenuFvwmWindowOps Interior 0 0 Nop
Key F1 A M FuncMenuFvwmRoot
Key F1 A SM Menu MenuFvwmWindowOps Interior 0 0 Nop
Key F2 A M FuncFvwmFormRun
Key F2 A CM Read .FvwmForm-RunLast Quiet
Key F2 A SM FuncFvwmForm FvwmForm-Talk
Key A A 4 FuncMenuFvwmRoot
Key A A 4M Exec exec import -window root $[HOME]/root-`date +%Y-%m-%d_%H-%M-%S`.png
Key A A 4C Exec exec import $[HOME]/selection-`date +%Y-%m-%d_%H-%M-%S`.png
Key A A 4S Exec exec import $[HOME]/selection-`date +%Y-%m-%d_%H-%M-%S`.png
Key M A 4 FuncMenuFvwmRoot
Key M A 4M Exec exec import -window root $[HOME]/root-`date +%Y-%m-%d_%H-%M-%S`.png
Key M A 4C Exec exec import $[HOME]/selection-`date +%Y-%m-%d_%H-%M-%S`.png
Key M A 4S Exec exec import $[HOME]/selection-`date +%Y-%m-%d_%H-%M-%S`.png
Key R A 4 FuncFvwmFormRun
Key R A 4M FuncFvwmForm FvwmForm-Talk
# }}}2
# Window Cycling {{{2
#Key Comma A 4 Prev (CurrentPage, !Iconic) FuncFocusWindow
#Key Period A 4 Next (CurrentPage, !Iconic) FuncFocusWindow
#Key Comma A S4 Prev (CurrentPage) FuncFocusWindow
#Key Period A S4 Next (CurrentPage) FuncFocusWindow
#Key Comma A C4 Prev [$c !Iconic] FuncFocusWindow
#Key Period A C4 Next [$c !Iconic] FuncFocusWindow
#Key Comma A SC4 Prev [$c] FuncFocusWindow
#Key Period A SC4 Next [$c] FuncFocusWindow
#Key Comma A M4 Prev [!Iconic] FuncFocusWindow
#Key Period A M4 Next [!Iconic] FuncFocusWindow
#Key Comma A SM4 Prev FuncFocusWindow
#Key Period A SM4 Next FuncFocusWindow
#Key Tab A 4 WindowList [CurrentPage] Root c c SelectOnRelease Super_L NoCurrentDeskTitle
#Key Tab A C4 WindowList [$c] Root c c SelectOnRelease Super_L
#Key Tab A SC4 Prev [$c] FuncFlipFocusWindow
#Key Tab A M4 WindowList Root c c NoDeskSort SelectOnRelease Super_L NoCurrentDeskTitle
#Key Tab A SM4 Prev FuncFlipFocusWindow
Key Tab A M WindowList Root c c NoDeskSort SelectOnRelease Meta_L NoCurrentDeskTitle CurrentAtEnd ShowPage
Key Tab A SM WindowList Root c c NoDeskSort SelectOnRelease Meta_L NoCurrentDeskTitle ShowPage
#Key Tab A C Next (CurrentPage, !Iconic, AcceptsFocus) FuncFocusWindow
Key Tab A 4 Next (CurrentPage, !Iconic, AcceptsFocus) FuncFocusWindow
#Key Tab A SC Prev (CurrentPage, !Iconic, AcceptsFocus) FuncFocusWindow
Key Tab A S4 Prev (CurrentPage, !Iconic, AcceptsFocus) FuncFocusWindow
Key Tab A CM Next (CurrentPage, AcceptsFocus) FuncFocusWindow
Key Tab A SCM Prev (CurrentPage, AcceptsFocus) FuncFocusWindow
Key Tab A S4 SendToModule FvwmProxy ShowToggle
# }}}2
# Window Movement {{{2
# Functions {{{3
# Hacked up from Taviso's famous fvwm2rc
DestroyFunc PackWindowUp
AddToFunc PackWindowUp
+ I SetEnv low_w 0
+ I WindowId $3 Raise
+ I All (CurrentPage !Iconic \
!Shaded) PipeRead "test `expr $[w.y] + $[w.height]` -gt $low_w \
-a `expr $[w.y] + $[w.height]` -lt $0 \
-a \\( \\( $[w.x] -ge $1 -a $[w.x] -lt `expr $1 + $2` \\) \
-o \\( $1 -gt $[w.x] -a $1 -lt `expr $[w.x] + $[w.width]` \\) \
-o \\( $1 -le $[w.x] -a `expr $1 + $2` -ge `expr $[w.x] + $[w.width]` \\) \
-o \\( $[w.x] -lt $1 -a `expr $[w.x] + $[w.width]` -gt `expr $1 + $2` \\) \
\\) \
&& echo SetEnv low_w `expr $[w.y] + $[w.height]` \
|| echo Nop"
+ I WindowId $3 AnimatedMove keep $[low_w]p Warp
+ I UnsetEnv low_w
+ I WindowId $3 FuncFocusWindow
DestroyFunc PackWrapperUp
AddToFunc PackWrapperUp
+ I NoWindow PackWindowUp $[w.y] $[w.x] $[w.width] $[w.id] $[w.height]
DestroyFunc SnapWindowUp
AddToFunc SnapWindowUp
+ I WindowId $3 Raise
+ I PipeRead "echo FuncNextEdgeUp `expr $0 + $4` $4"
+ I PipeRead "echo SetEnv edge_w `expr $edge_w - $4`"
+ I FuncNextEdgeUp $0 $[edge_w]
+ I WindowId $3 Move keep $[edge_w]p Warp
+ I UnsetEnv edge_w
+ I WindowId $3 FuncFocusWindow
DestroyFunc SnapWrapperUp
AddToFunc SnapWrapperUp
+ I NoWindow SnapWindowUp $[w.y] $[w.x] $[w.width] $[w.id] $[w.height]
DestroyFunc PackWindowDown
AddToFunc PackWindowDown
+ I SetEnv high_w $[vp.height]
+ I WindowId $3 Raise
+ I All (CurrentPage !Iconic \
!Shaded) PipeRead "test $[w.y] -lt $high_w \
-a $[w.y] -gt `expr $0 + $4` \
-a \\( \\( $[w.x] -ge $1 -a $[w.x] -lt `expr $1 + $2` \\) \
-o \\( $1 -gt $[w.x] -a $1 -lt `expr $[w.x] + $[w.width]` \\) \
-o \\( $1 -le $[w.x] -a `expr $1 + $2` -ge `expr $[w.x] + $[w.width]` \\) \
-o \\( $[w.x] -lt $1 -a `expr $[w.x] + $[w.width]` -gt `expr $1 + $2` \\) \
\\) \
&& echo SetEnv high_w $[w.y] \
|| echo Nop"
+ I PipeRead "echo WindowId $3 AnimatedMove keep `expr $[high_w] - $4`p Warp"
+ I UnsetEnv high_w
+ I WindowId $3 FuncFocusWindow
DestroyFunc PackWrapperDown
AddToFunc PackWrapperDown
+ I NoWindow PackWindowDown $[w.y] $[w.x] $[w.width] $[w.id] $[w.height]
DestroyFunc SnapWindowDown
AddToFunc SnapWindowDown
+ I WindowId $3 Raise
+ I PipeRead "echo FuncNextEdgeDown `expr $0 + $4` `expr $[vp.height]`"
+ I PipeRead "echo SetEnv edge_w `expr $edge_w - $4`"
+ I FuncNextEdgeDown $0 $[edge_w]
+ I WindowId $3 Move keep $[edge_w]p Warp
+ I UnsetEnv edge_w
+ I WindowId $3 FuncFocusWindow
DestroyFunc SnapWrapperDown
AddToFunc SnapWrapperDown
+ I NoWindow SnapWindowDown $[w.y] $[w.x] $[w.width] $[w.id] $[w.height]
#####
# Name: PackWindowLeft
# Bound: Alt+Shift+Left When a window is active
# Purpose: See PackWindowUp.
#
# The Logic works likes this:
# 1. Set Destination to the Left Edge
# 2. For every window, Run these tests:
# + Is the Window's Right edge further _Right_ than furthest edge seen yet?
# And: + Is it's Right edge Further _Left_ than Target Windows Left edge? (ie, in the way)
# Yes:
# + Does the window start inside Target Window, and end below?
# Or + Does it start above, and end inside?
# Or + Is it the same vertical position/height/size, or start inside and end inside?
# Or + Does it start above, and end below?
# Yes:
# This is the new Destination.
# No:
# Nop
# No:
# Nop
# 3. Move to Destination.
#
#################
DestroyFunc PackWindowLeft
AddToFunc PackWindowLeft
+ I SetEnv left_w 0
+ I WindowId $3 Raise
+ I All (CurrentPage !Iconic \
!Shaded) PipeRead "test `expr $[w.x] + $[w.width]` -gt $left_w \
-a `expr $[w.x] + $[w.width]` -lt $1 \
-a \\( \\( $[w.y] -ge $0 -a $[w.y] -lt `expr $0 + $4` \\) \
-o \\( $[w.y] -lt $0 -a `expr $[w.y] + $[w.height]` -gt $0 \\) \
-o \\( $[w.y] -ge $0 -a `expr $[w.y] + $[w.height]` -le `expr $0 + $4` \\) \
-o \\( $[w.y] -lt $0 -a `expr $[w.y] + $[w.height]` -gt `expr $0 + $4` \\) \
\\) \
&& echo SetEnv left_w `expr $[w.x] + $[w.width]` \
|| echo Nop"
+ I WindowId $3 AnimatedMove $[left_w]p keep Warp
+ I UnsetEnv left_w
+ I WindowId $3 FuncFocusWindow
DestroyFunc PackWrapperLeft
AddToFunc PackWrapperLeft
+ I NoWindow PackWindowLeft $[w.y] $[w.x] $[w.width] $[w.id] $[w.height]
DestroyFunc SnapWindowLeft
AddToFunc SnapWindowLeft
+ I WindowId $3 Raise
+ I PipeRead "echo FuncNextEdgeLeft `expr $1 + $2` $2"
+ I PipeRead "echo SetEnv edge_w `expr $edge_w - $2`"
+ I FuncNextEdgeLeft $1 $[edge_w]
+ I WindowId $3 Move $[edge_w]p keep Warp
+ I UnsetEnv edge_w
+ I WindowId $3 FuncFocusWindow
DestroyFunc SnapWrapperLeft
AddToFunc SnapWrapperLeft
+ I NoWindow SnapWindowLeft $[w.y] $[w.x] $[w.width] $[w.id] $[w.height]
DestroyFunc PackWindowRight
AddToFunc PackWindowRight
+ I SetEnv right_w $[vp.width]
+ I WindowId $3 Raise
+ I All (CurrentPage !Iconic \
!Shaded) PipeRead "test $[w.x] -lt $\right_w \
-a $[w.x] -gt `expr $1 + $2` \
-a \\( \\( $[w.y] -ge $0 -a $[w.y] -lt `expr $0 + $4` \\) \
-o \\( $[w.y] -lt $0 -a `expr $[w.y] + $[w.height]` -gt $0 \\) \
-o \\( $[w.y] -ge $0 -a `expr $[w.y] + $[w.height]` -le `expr $0 + $4` \\) \
-o \\( $[w.y] -lt $0 -a `expr $[w.y] + $[w.height]` -gt `expr $0 + $4` \\) \
\\) \
&& echo SetEnv right_w $[w.x] \
|| echo Nop"
+ I PipeRead "echo WindowId $3 AnimatedMove `expr $[right_w] - $2`p keep Warp"
+ I UnsetEnv right_w
+ I WindowId $3 FuncFocusWindow
DestroyFunc PackWrapperRight
AddToFunc PackWrapperRight
+ I NoWindow PackWindowRight $[w.y] $[w.x] $[w.width] $[w.id] $[w.height]
DestroyFunc SnapWindowRight
AddToFunc SnapWindowRight
+ I WindowId $3 Raise
+ I PipeRead "echo FuncNextEdgeRight `expr $1 + $2` $[vp.width]"
+ I PipeRead "echo SetEnv edge_w `expr $edge_w - $2`"
+ I FuncNextEdgeRight $1 $[edge_w]
+ I WindowId $3 Move $[edge_w]p keep Warp
+ I UnsetEnv edge_w
+ I WindowId $3 FuncFocusWindow
DestroyFunc SnapWrapperRight
AddToFunc SnapWrapperRight
+ I NoWindow SnapWindowRight $[w.y] $[w.x] $[w.width] $[w.id] $[w.height]
# }}}3
Key Up WTSF12468 SM PackWrapperUp
Key Down WTSF12468 SM PackWrapperDown
Key Left WTSF12468 SM PackWrapperLeft
Key Right WTSF12468 SM PackWrapperRight
# Key Up WTSF12468 4 SnapWrapperUp
# Key Down WTSF12468 4 SnapWrapperDown
# Key Left WTSF12468 4 SnapWrapperLeft
# Key Right WTSF12468 4 SnapWrapperRight
Key H A 4CM SnapWrapperLeft
Key J A 4CM SnapWrapperDown
Key K A 4CM SnapWrapperUp
Key L A 4CM SnapWrapperRight
Key H A 4S PackWrapperLeft
Key J A 4S PackWrapperDown
Key K A 4S PackWrapperUp
Key L A 4S PackWrapperRight
# }}}2
# Window Resizing {{{2
# Functions {{{3
DestroyFunc EnlargeWindowDown
AddToFunc EnlargeWindowDown
+ I WindowId $0 Raise
+ I PipeRead "echo FuncNextEdgeDown `expr $1 + $2` $[vp.height]"
+ I PipeRead "echo WindowId $0 Resize frame keep `expr $[edge_w] - $1`p"
+ I UnsetEnv edge_w
+ I WindowId $0 Focus
DestroyFunc EnlargeWrapperDown
AddToFunc EnlargeWrapperDown
+ I NoWindow EnlargeWindowDown $[w.id] $[w.y] $[w.height]
DestroyFunc ResizeWindowUp
AddToFunc ResizeWindowUp
+ I WindowId $0 Raise
+ I PipeRead "echo FuncNextEdgeUp `expr $1 + $2` `expr $1 + $2 / 2`"
+ I PipeRead "echo WindowId $0 Resize frame keep `expr $[edge_w] - $1`p"
+ I UnsetEnv edge_w
+ I WindowId $0 Focus
DestroyFunc ResizeWrapperUp
AddToFunc ResizeWrapperUp
+ I NoWindow ResizeWindowUp $[w.id] $[w.y] $[w.height]
DestroyFunc EnlargeWindowUp
AddToFunc EnlargeWindowUp
+ I WindowId $0 Raise
+ I PipeRead "echo FuncNextEdgeUp $1 0"
+ I PipeRead "echo WindowId $0 ResizeMove frame keep `expr $1 + $2 - $[edge_w]`p keep $[edge_w]p"
+ I UnsetEnv edge_w
+ I WindowId $0 Focus
DestroyFunc EnlargeWrapperUp
AddToFunc EnlargeWrapperUp
+ I NoWindow EnlargeWindowUp $[w.id] $[w.y] $[w.height]
DestroyFunc ResizeWindowDown
AddToFunc ResizeWindowDown
+ I WindowId $0 Raise
+ I PipeRead "echo FuncNextEdgeDown $1 `expr $1 + $2 / 2`"
+ I PipeRead "echo WindowId $0 ResizeMove frame keep `expr $1 + $2 - $[edge_w]`p keep $[edge_w]p"
+ I UnsetEnv edge_w
+ I WindowId $0 Focus
DestroyFunc ResizeWrapperDown
AddToFunc ResizeWrapperDown
+ I NoWindow ResizeWindowDown $[w.id] $[w.y] $[w.height]
DestroyFunc EnlargeWindowRight
AddToFunc EnlargeWindowRight
+ I WindowId $0 Raise
+ I PipeRead "echo FuncNextEdgeRight `expr $1 + $2` $[vp.width]"
+ I PipeRead "echo WindowId $0 Resize frame `expr $[edge_w] - $1`p keep"
+ I UnsetEnv edge_w
+ I WindowId $0 Focus
DestroyFunc EnlargeWrapperRight
AddToFunc EnlargeWrapperRight
+ I NoWindow EnlargeWindowRight $[w.id] $[w.x] $[w.width]
DestroyFunc ResizeWindowLeft
AddToFunc ResizeWindowLeft
+ I WindowId $0 Raise
+ I PipeRead "echo FuncNextEdgeLeft `expr $1 + $2` `expr $1 + $2 / 2`"
+ I PipeRead "echo WindowId $0 Resize frame `expr $[edge_w] - $1`p keep"
+ I UnsetEnv edge_w
+ I WindowId $0 Focus
DestroyFunc ResizeWrapperLeft
AddToFunc ResizeWrapperLeft
+ I NoWindow ResizeWindowLeft $[w.id] $[w.x] $[w.width]
DestroyFunc EnlargeWindowLeft
AddToFunc EnlargeWindowLeft
+ I WindowId $0 Raise
+ I PipeRead "echo FuncNextEdgeLeft $1 0"
+ I PipeRead "echo WindowId $0 ResizeMove frame `expr $1 + $2 - $[edge_w]`p keep $[edge_w]p keep"
+ I UnsetEnv edge_w
+ I WindowId $0 Focus
DestroyFunc EnlargeWrapperLeft
AddToFunc EnlargeWrapperLeft
+ I NoWindow EnlargeWindowLeft $[w.id] $[w.x] $[w.width]
DestroyFunc ResizeWindowRight
AddToFunc ResizeWindowRight
+ I WindowId $0 Raise
+ I PipeRead "echo FuncNextEdgeRight $1 `expr $1 + $2 / 2`"
+ I PipeRead "echo WindowId $0 ResizeMove frame `expr $1 + $2 - $[edge_w]`p keep $[edge_w]p keep"
+ I Echo $[edge_w]
+ I UnsetEnv edge_w
+ I WindowId $0 Focus
DestroyFunc ResizeWrapperRight
AddToFunc ResizeWrapperRight
+ I NoWindow ResizeWindowRight $[w.id] $[w.x] $[w.width]
# }}}3
Key J A 4M EnlargeWrapperDown
Key K A 4M ResizeWrapperUp
Key L A 4M EnlargeWrapperRight
Key H A 4M ResizeWrapperLeft
Key J A 4C ResizeWrapperDown
Key K A 4C EnlargeWrapperUp
Key L A 4C ResizeWrapperRight
Key H A 4C EnlargeWrapperLeft
# }}}2
# Window Management {{{2
Key F3 A M Lower
Key F3 A SM Layer -1 0
Key F4 A M Close
Key F4 A SM Destroy
Key F5 A M Raise
Key F5 A SM Layer 1 0
Key F6 A M Next FuncFocusWindow
Key F6 A SM Prev FuncFocusWindow
Key F7 A M FuncMove
Key F7 A SM RefreshWindow
Key F7 A CM FuncRestore
Key F8 A M FuncResize
Key F8 A SM FuncRepositionWindow
Key F8 A CM Module FvwmScroll 90p 95p
Key F9 A M Iconify
Key F9 A SM Module FvwmIdent
Key F9 A CM All (CurrentDesk, !Iconic) Iconify true
Key F10 A M FuncMaximize
Key F10 A SM Maximize 0 100
Key F10 A CM Maximize grow grow
# F11 = SunF36 F12 = SunF37
Silent Key F11 A M Stick
Silent Key SunF36 A M Stick
Silent Key F11 A SM FuncFullScreen
Silent Key SunF36 A SM FuncFullScreen
Silent Key F11 A CM StickAcrossDesks
Silent Key SunF36 A CM StickAcrossDesks
Silent Key F12 A M WindowShade
Silent Key SunF37 A M WindowShade
Silent Key F12 A SM FuncSignal QUIT
Silent Key SunF37 A SM FuncSignal QUIT
Silent Key Print A C Pick FuncCaptureWindow
Silent Key Print A SC Exec exec import -window root $[HOME]/root-`date +%Y-%m-%d_%H-%M-%S`.png
Silent Key Print A M Exec exec import -window root $[HOME]/root-`date +%Y-%m-%d_%H-%M-%S`.png
Key Q A 4 Close
Key Q A 4S Destroy
Key Q A 4C FuncSignal QUIT
Key equal A 4 Raise
Key equal A 4M Maximize
Key equal A 4C Maximize 0 100
Key equal A 4S Maximize 0 100
Key minus A 4 Lower
Key minus A 4M Iconify
Key minus A 4C FuncRepositionWindow
Key minus A 4S FuncRepositionWindow
Key 0 A 4 Menu MenuFvwmWindowOps Interior 0 0
Key 0 A 4M Module FvwmIdent
Key 0 A 4C Pick FuncCaptureWindow
Key 0 A 4S Pick FuncCaptureWindow
Key W A 4 Menu MenuFvwmWindowOps Interior 0 0
Key W A 4M Module FvwmIdent
Key W A 4C Pick FuncCaptureWindow
Key W A 4S Pick FuncCaptureWindow
# }}}2
# Multimedia {{{2
DestroyFunc FuncCloseXmms
AddToFunc FuncCloseXmms
+ I Exec exec tpope media quit
Key bracketleft A 4M Exec exec tpope media prev
Key bracketright A 4M Exec exec tpope media next
Key backslash A 4M Exec exec tpope media toggle
Key bracketleft A 4 Exec exec tpope media softer
Key bracketright A 4 Exec exec tpope media louder
Key backslash A 4 Exec exec tpope media pause
Key XF86AudioLowerVolume A A Exec exec tpope media softer
Key XF86AudioRaiseVolume A A Exec exec tpope media louder
Key XF86Standby A A Exec exec xscreensaver-command -activate
Key XF86AudioStop A A Exec exec tpope media stop
Key XF86AudioPlay A A Exec exec tpope media toggle
Key XF86AudioPrev A A Exec exec tpope media prev
Key XF86AudioNext A A Exec exec tpope media next
Key XF86AudioMute A A Exec exec tpope media pause
# }}}2
# }}}1
# Mouse Bindings {{{1
# some simple default mouse bindings:
# for the root window:
#Mouse 1 R A Menu MenuFvwmRoot All (Transient) Raise
#Mouse 1 R A GnomeButton
Mouse 1 R A
#Mouse 2 R A WindowList ShowPage SelectOnRelease
Mouse 2 R A
Mouse 2 R S StrokeFunc DrawMotion FeedBack StrokeWidth 1
#Mouse 3 R A Menu MenuFvwmWindowOps Nop
Mouse 3 R A
Mouse 4 A 5 Next (AcceptsFocus) FlipFocus
Mouse 5 A 5 Prev (AcceptsFocus) Focus
# for the title bar buttons:
Mouse 1 1 A Menu MenuFvwmWindowOps Close
Mouse 2 1 A PlaceAgain
Mouse 3 1 A Menu MenuFvwmWindowOps
Mouse 1 2 A FuncClose
Mouse 2 2 A FuncDestroy
Mouse 3 2 A FuncDelete
Mouse 1 4 A FuncMaximize
Mouse 2 4 A FuncFullScreen
#ewmhiwa
Mouse 3 4 A FuncEnlarge
Mouse (*Term) 3 4 A FuncResize 80c 24c
Mouse (*term) 3 4 A FuncResize 80c 24c
Mouse (*Rxvt) 3 4 A FuncResize 80c 24c
Mouse 1 6 A FuncUnshadeAndIconify
Mouse 2 6 A Iconify
Mouse 3 6 A WindowShade
Mouse 1 8 A Stick
Mouse 2 8 A StickAcrossDesks
Mouse 3 8 A StickAcrossPages
# for other parts of the window/borders/icons:
Mouse 1 < A FuncResizeOrRaiseOr Close
Mouse 1 ^ A FuncResizeOrRaiseOr PlaceAgain
Mouse 1 > A FuncResizeOrRaiseOr Maximize
Mouse 1 v A FuncResizeOrRaiseOr Iconify
Mouse 1 TS A FuncMoveOrRaise
Mouse 1 TSIFW 4 FuncMoveOrRaise
Mouse (x0rfbserver) 1 W A FuncMoveOrRaise
Mouse (xosview) 1 W A FuncMoveOrRaise
Mouse 2 TSIFW 4 FuncResizeOrRaiseOr PlaceAgain
Mouse (x0rfbserver) 2 W A Menu MenuFvwmWindowOps Close
Mouse (xosview) 3 W A Menu MenuFvwmWindowOps Close
Mouse 3 TSIFW 4 Menu MenuFvwmWindowOps Close
Mouse 1 I A FuncMoveOrIconify
Mouse 2 I A PlaceAgain Icon
Mouse 2 TS A FuncResizeOrRaiseOr PlaceAgain
Mouse 3 TSIF A Menu MenuFvwmWindowOps RaiseLower
Mouse 4 TSIFW 4 FuncTakeToDesk -1 0 7
Mouse 5 TSIFW 4 FuncTakeToDesk +1 0 7
Mouse 4 TSIF N Lower
Mouse 5 TSIF N Raise
Mouse 3 TSIF A StrokeFunc DrawMotion
Mouse 3 TSIF S StrokeFunc EchoSequence DrawMotion FeedBack
# Strokes {{{2
Stroke 25852 2 R N GotoPage 0p +1p
Stroke 258 2 R N GotoPage 0p +1p
Stroke 85258 2 R N GotoPage 0p -1p
Stroke 852 2 R N GotoPage 0p -1p
Stroke 45654 2 R N GotoPage +1p 0p
Stroke 456 2 R N GotoPage +1p 0p
Stroke 65456 2 R N GotoPage -1p 0p
Stroke 654 2 R N GotoPage -1p 0p
Stroke 15951 2 R N GotoDesk +1 0 7
Stroke 123696321 2 R N GotoDesk +1 0 7
Stroke 147898741 2 R N GotoDesk +1 0 7
Stroke 159 2 R N GotoDesk +1 0 7
Stroke 1259 2 R N GotoDesk +1 0 7
Stroke 1589 2 R N GotoDesk +1 0 7
Stroke 12369 2 R N GotoDesk +1 0 7
Stroke 14789 2 R N GotoDesk +1 0 7
Stroke 95159 2 R N GotoDesk -1 0 7
Stroke 987414789 2 R N GotoDesk -1 0 7
Stroke 963212369 2 R N GotoDesk -1 0 7
Stroke 951 2 R N GotoDesk -1 0 7
Stroke 9541 2 R N GotoDesk -1 0 7
Stroke 9541 2 R N GotoDesk -1 0 7
Stroke 9651 2 R N GotoDesk -1 0 7
Stroke 96521 2 R N GotoDesk -1 0 7
Stroke 98741 2 R N GotoDesk -1 0 7
Stroke 96321 2 R N GotoDesk -1 0 7
Stroke 357 2 R N All [CurrentPage !Fvwm*] Iconify
Stroke 32147 2 R N All [CurrentPage !Fvwm*] Iconify true
Stroke 36987 2 R N All [CurrentPage !Fvwm*] Iconify false
Stroke 1478963 2 R N Exec exec xmag
Stroke 3698741 2 R N Exec exec xzoom
Stroke 15951 0 TSIF A MoveToDesk +1 0 7
Stroke 123696321 0 TSIF A MoveToDesk +1 0 7
Stroke 147898741 0 TSIF A MoveToDesk +1 0 7
Stroke 159 0 TSIF A FuncTakeToDesk +1 0 7
Stroke 1259 0 TSIF A FuncTakeToDesk +1 0 7
Stroke 1589 0 TSIF A FuncTakeToDesk +1 0 7
Stroke 12369 0 TSIF A FuncTakeToDesk +1 0 7
Stroke 14789 0 TSIF A FuncTakeToDesk +1 0 7
Stroke 95159 0 TSIF A MoveToDesk -1 0 7
Stroke 987414789 0 TSIF A MoveToDesk -1 0 7
Stroke 963212369 0 TSIF A MoveToDesk -1 0 7
Stroke 951 0 TSIF A FuncTakeToDesk -1 0 7
Stroke 9521 0 TSIF A FuncTakeToDesk -1 0 7
Stroke 9541 0 TSIF A FuncTakeToDesk -1 0 7
Stroke 9651 0 TSIF A FuncTakeToDesk -1 0 7
Stroke 96521 0 TSIF A FuncTakeToDesk -1 0 7
Stroke 98741 0 TSIF A FuncTakeToDesk -1 0 7
Stroke 96321 0 TSIF A FuncTakeToDesk -1 0 7
Stroke 357 0 TSIF N Iconify
Stroke 32147 0 TSIF N Iconify
Stroke 36987 0 TSIF N Iconify
Stroke 35753 0 TSIF N WindowShade
Stroke 321474123 0 TSIF N WindowShade
Stroke 369878963 0 TSIF N WindowShade
Stroke 852 0 - N EnlargeWrapperUp
Stroke 258 0 - N ResizeWrapperDown
Stroke 258 0 _ N EnlargeWrapperDown
Stroke 852 0 _ N ResizeWrapperUp
Stroke 654 0 [ N EnlargeWrapperLeft
Stroke 456 0 [ N ResizeWrapperRight
Stroke 456 0 ] N EnlargeWrapperRight
Stroke 654 0 ] N ResizeWrapperLeft
Stroke 0 0 TSIFW A Menu MenuFvwmWindowOps RaiseLower
Stroke 21478962 2 R A Restart
Stroke 21478963 2 R A Restart
Stroke 214789632 2 R A Restart
Stroke 321478963 2 R A Restart
Stroke 3214789632 2 R A Restart
Stroke 0 0 R N Menu MenuFvwmRoot Nop
Stroke 0 2 TSF N Menu MenuFvwmWindowOps RaiseLower
Stroke 0 0 I N Menu MenuFvwmWindowOps Iconify
#Stroke 0 1 R A Menu MenuFvwmRoot Nop
Stroke 0 2 R A WindowList ShowPage SelectOnRelease
#Stroke 0 3 R A Menu MenuFvwmWindowOps Nop
# }}}2
# }}}1
# Initialization Functions {{{1
DestroyFunc StartFunction
AddToFunc StartFunction
PipeRead "if fvwm --version >/dev/null 2>&1; then :; else echo + I ModuleSynchronous Timeout 5 FvwmTheme; fi"
#+ I ModuleSynchronous Timeout 5 FvwmTheme
+ I Module FvwmAnimate
# + I Module FvwmAuto 1500
+ I Module FvwmAuto FvwmAutohide -menter FuncAutoEnter
#+ I Module FvwmAuto 1 -passid -menterleave "Silent SelectiveRaiseLower FuncButtonsRestore" "Silent SelectiveRaiseLower Lower"
+ I Module FvwmBacker
Test (!EnvIsSet GNOME_DESKTOP_SESSION_ID) + I EwmhBaseStruts 0 0 0 25
Test (!EnvIsSet GNOME_DESKTOP_SESSION_ID) + I Module FvwmButtons FvwmButtonsBottom
+ I Module FvwmCommandS
+ I Module FvwmForm
+ I Module FvwmProxy
+ I UnsetEnv fvwm_titlefont
+ I UnsetEnv fvwm_iconfont
+ I UnsetEnv fvwm_smallfont
+ I UnsetEnv fvwm_modulefont
+ I UnsetEnv fvwm_mybg
+ I FuncRemaximize
DestroyFunc InitFunction
AddToFunc InitFunction
+ I exec xsetroot -solid '#000C60'
+ I Module FvwmBanner
+ I DestroyFunc FuncSmartQuit
PipeRead 'if test -x /usr/dt/bin/dtaction; then echo + I AddToFunc FuncSmartQuit I Exec exec /usr/dt/bin/dtaction ExitSession; else echo + I AddToFunc FuncSmartQuit I Quit; fi'
+ I Exec test -x /usr/bin/ssh-add -a -S "$SSH_AUTH_SOCK" && exec /usr/bin/ssh-add
DestroyFunc RestartFunction
AddToFunc RestartFunction
+ I Exec exec xrdb -load $[HOME]/.Xresources
+ I Exec if [ -f $[HOME]/.xmodmap ]; then sleep 1; setxkbmap us; xmodmap $[HOME]/.xmodmap; fi
+ I DestroyFunc FuncSmartQuit
PipeRead 'if test -x /usr/dt/bin/dtaction; then echo + I AddToFunc FuncSmartQuit I Exec exec /usr/dt/bin/dtaction ExitSession; else echo + I AddToFunc FuncSmartQuit I Quit; fi'
AddToFunc SessionInitFunction
+ I exec xsetroot -solid '#003030'
+ I DestroyFunc FuncSmartQuit
+ I AddToFunc FuncSmartQuit I QuitSession
+ I AddToFunc FuncSmartQuit I Exec exec pkill -TERM -U $[LOGNAME] xsm >/dev/null 2>&1
+ I Exec test -x /usr/bin/ssh-add -a -S "$SSH_AUTH_SOCK" && exec /usr/bin/ssh-add
DestroyFunc SessionRestartFunction
AddToFunc SessionRestartFunction
+ I DestroyFunc FuncSmartQuit
+ I AddToFunc FuncSmartQuit I QuitSession
+ I AddToFunc FuncSmartQuit I Exec exec pkill -TERM -U $[LOGNAME] xsm >/dev/null 2>&1
DestroyFunc ExitFunction
AddToFunc ExitFunction
+ I Next (FvwmButtonsTop, CirculateHit) All (!FvwmButtonsTop) Move keep w-25p
# }}}1
# Menus {{{1
DestroyMenu MenuFvwmRoot
AddToMenu MenuFvwmRoot
+ "&Terminal%mini/terminal/left-plain.xpm%" FuncScreenXTerm
+ "Web &Browser%menu/www.xpm%" FuncWebBrowser http://www.google.com/
+ "&Chat%menu/chat.xpm%" FuncChatScreenSshXTerm
+ "" Nop
+ "Pr&ograms%menu/programs.xpm%" Popup MenuFvwmPrograms item 100-4p c
Test (f $[HOME]/games) + "&Games%menu/game.xpm%" Popup MenuFvwmGames item 100-4p c
+ "&Utilities%menu/utility.xpm%" Popup MenuFvwmUtilities item 100-4p c
+ "&Network%menu/network.xpm%" Popup MenuFvwmNetwork item 100-4p c
+ "&Multimedia%menu/multimedia.xpm%" Popup MenuFvwmMultimedia item 100-4p c
+ "" Nop
+ "S&ystem%menu/system.xpm%" Popup MenuFvwmSystem item 100-4p c
+ "Con&figuration%menu/configuration.xpm%" Popup MenuFvwmConfig item 100-4p c
+ "&Window Ops%menu/windows.xpm%" Popup MenuFvwmWindowOps item 100-4p c
#+ "W&indow List%menu/windows.xpm%" WindowList
+ "" Nop
+ "Remote Lo&gins%mini/terminal/right-black.xpm%" Popup MenuFvwmLogins item 100-4p c
+ "Remote &Screens%mini/terminal/left-black.xpm%" Popup MenuFvwmScreens item 100-4p c
+ "" Nop
PipeRead 'test -e /etc/X11/fvwm/menudefs.hook && echo + \\"\\&Debian%gnome/16x16/places/debian-swirl.png%\\" Popup /Debian item 100-4p c'
PipeRead 'test -e /usr/share/gnome/apps && echo + \\"GNOM\\&E%menu/gnome.xpm%\\" Popup Gnome-sys item 100-4p c'
PipeRead 'test -e /usr/share/applnk -a -x /usr/bin/kstart -o -e "$KDEDIR" && echo + \\"KD\\&E%menu/kde.xpm%\\" Popup Kde-sys item 100-4p c'
+ "" Nop
+ "&Run . . .%mini.run.xpm%" FuncFvwmFormRun
+ "E&xit Fvwm%menu/quit.xpm%" Popup MenuFvwmQuitVerify item 100-4p 0
PipeRead '[ -z "$KDEDIR" -a -e /usr/share/applnk ] && export KDEDIR=/usr; [ -e "$KDEDIR" ] && LANG=C PATH=":$PATH" fvwm-menu-desktop --desktop kde-sys --merge-user-menu --enable-mini-icons --mini-icons-path ""'
PipeRead '[ -e /usr/share/gnome/apps ] && PATH=":$PATH" fvwm-menu-desktop --desktop gnome-sys --merge-user-menu --enable-mini-icons --mini-icons-path ""'
DestroyFunc FuncAddIfExists
AddToFunc FuncAddIfExists
+ I PipeRead '\
if [ -x "`which $2 2>/dev/null`" ]; then \
echo "AddToMenu $0 \\"$1\\" Exec exec $2 $3 $4 $5"; fi'
# Programs {{{2
DestroyMenu MenuFvwmPrograms
AddToMenu MenuFvwmPrograms "Programs" Title
Test (x rox-filer) + "&ROX-Filer%/usr/share/rox-filer/.DirIcon%" Exec exec rox-filer
FuncAddIfExists MenuFvwmPrograms "OpenOffice &Writer%hicolor/32x32/apps/ooo_writer.xpm%" oowriter
FuncAddIfExists MenuFvwmPrograms "OpenOffice &Calc%hicolor/32x32/apps/ooo_calc.xpm%" oocalc
FuncAddIfExists MenuFvwmPrograms "&Google Earth%/usr/local/google-earth/googleearth.xpm%" googleearth
FuncAddIfExists MenuFvwmPrograms "Gps&Drive%gpsicon.png%" gpsdrive
Test (x ethereal) + "&Ethereal%eicon3d32.xpm%" Exec exec $[sudo] ethereal
DestroyMenu MenuFvwmGames
AddToMenu MenuFvwmGames "Games" Title
SetEnv games MenuFvwmPrograms
Test (f $[HOME]/games) SetEnv games MenuFvwmGames
FuncAddIfExists $[games] "&UT2004%/usr/local/games/ut2004/ut2004.xpm%" ut2004
FuncAddIfExists $[games] "&Doom 3%doomface.xpm%" doom3
FuncAddIfExists $[games] "&Quake 3%/usr/local/games/quake3/quake3.xpm%" quake3
FuncAddIfExists $[games] "&Enemy Territory%/usr/local/games/enemy-territory/ET.xpm%" et
Test (x /usr/local/bin/armyops) + "&America's Army%/usr/local/games/armyops/ArmyOps.xpm%" Exec exec armyops
FuncAddIfExists $[games] "&GSnes9x%gsnes9x-icon.xpm%" GSnes9x
FuncAddIfExists $[games] "&ZSNES%zsnes.xpm%" zsnes
FuncAddIfExists $[games] "&Pydance%pydance.png%" pydance
FuncAddIfExists $[games] "&Stepmania%/usr/local/games/stepmania/NoteSkins/dance/note/Down Hold Head Active 64th.png%" stepmania
UnsetEnv games
# }}}2
# Utilities {{{2
DestroyMenu MenuFvwmUtilities
AddToMenu MenuFvwmUtilities "Utilities" Title
+ "&XTerm%mini.xterm.xpm%" Exec exec xterm -name localhost -T localhost
FuncAddIfExists MenuFvwmUtilities "G&vim%vim-16.xpm%" gvim
+ "&Calculator%menu/calculator.xpm%" Exec exec xcalc
Test (x xpenguins) + "&Penguins%mini.penguin.xpm%" Exec pkill '^xpenguins$' || exec xpenguins --nice .8 3
+ "" Nop
+ "&Zoom%menu/viewer.xpm%" Exec xzoom || exec xmag
+ "&Editres%menu/unknown.xpm%" Exec exec editres
+ "C&olors%mini.palette.xpm%" Exec exec xcolors
FuncAddIfExists MenuFvwmUtilities "Co&lor Selector%mini.eye2.xpm%" xcolorsel
+ "&Font Selector%menu/font.xpm%" Exec exec xfontsel
# }}}2
# System {{{2
DestroyMenu MenuFvwmSystem
AddToMenu MenuFvwmSystem "System" Title
+ "Fvwm&Console%mini.xterm.xpm%" Module FvwmConsole
+ "FvwmScr&oll%mini.move2.xpm%" NoWindow Module FvwmScroll 90p 95p
+ "R&un Fvwm Command . . .%mini.run.xpm%" FuncFvwmForm FvwmForm-Talk
+ "" Nop
+ "Re&fresh Screen%menu/refresh.xpm%" Refresh
+ "R&ecapture Screen%menu/display.xpm%" Recapture
+ "Reset X &Resources%mini.x.xpm%" Exec exec xrdb -load $[HOME]/.Xresources
+ "&Screenshot%mini.camera.xpm%" Exec exec import -window root $[HOME]/root-`date +%Y-%m-%d_%H-%M-%S`.png
PipeRead 'test -x /usr/bin/xrandr && echo + \\"XR\\&andR%mini.move.xpm%\\" Popup MenuFvwmXRandR item 100-4p c'
+ "" Nop
FuncAddIfExists MenuFvwmSystem "Configure &XScreenSaver%menu/colors.xpm%" xscreensaver-demo
+ "&Blank Display%mini.monitor.xpm%" Exec sleep 1; xscreensaver-command -activate || exec xlock -lockdelay 3600
+ "&Lock Display%mini.xlock.xpm%" Exec sleep 1; xscreensaver-command -lock || exec xlock
DestroyMenu MenuFvwmXRandR
AddToMenu MenuFvwmXRandR "XRandR" Title
+ "&normal" Exec exec tpope xrandr -o normal
+ "&left" Exec exec tpope xrandr -o left
+ "&inverted" Exec exec tpope xrandr -o inverted
+ "&right" Exec exec tpope xrandr -o right
+ "" Nop
Test (x xrandr) PipeRead 'xrandr -q|grep "^[ *][0-9]"|sed -e \'s/^.\\([0-9]*\\) *\\([0-9]* x [0-9]*\\).*/AddToMenu MenuFvwmXRandR "\\&\\1. \\2" Exec exec tpope xrandr -s \\1/\''
# }}}2
# Network {{{2
DestroyMenu MenuFvwuNetwork
AddToMenu MenuFvwmNetwork "Network" Title
#+ "&Chat%menu/chat.xpm%" FuncChatScreenSshXTerm
+ "M&utt%mutt.mini.xpm%" Exec exec x-terminal-emulator -name mutt@localhost -T mutt -e mutt
FuncAddIfExists MenuFvwmNetwork "Sk&ype%pidgin/protocols/16/skype.png%" skype
PipeRead 'if [ -x "`which pidgin 2>/dev/null`" ]; then \
echo "+ \\"P&idgin%hicolor/16x16/apps/pidgin.png%\\" FuncExec pidgin \\"exec pidgin\\""; \
elif [ -x "`which tik 2>/dev/null`" ]; then \
echo "+ \\"T&IK%menu/chat.xpm%\\" Exec exec tik"; fi'
FuncAddIfExists MenuFvwmNetwork "Transmission%hicolor/16x16/apps/transmission.png%" transmission
+ "" Nop
+ "&Headlines%menu/news.xpm%" Popup MenuHeadlines
FuncAddIfExists MenuFvwmNetwork "Google &Chrome%hicolor/16x16/apps/google-chrome.png%" google-chrome
FuncAddIfExists MenuFvwmNetwork "&Firefox%hicolor/16x16/apps/iceweasel.png%" firefox
FuncAddIfExists MenuFvwmNetwork "&Opera%mini.opera.xpm%" opera
FuncAddIfExists MenuFvwmNetwork "&Konqueror%hicolor/16x16/apps/konqueror.png%" konqueror
FuncAddIfExists MenuFvwmNetwork "&Dillo%menu/www.xpm%" dillo
FuncAddIfExists MenuFvwmNetwork "&Netscape%mini.netscape.xpm%" netscape
# }}}2
# Multimedia {{{2
DestroyMenu MenuFvwmMultimedia
AddToMenu MenuFvwmMultimedia "Multimedia" Title
+ MissingSubmenuFunction FuncMenuMusic
FuncAddIfExists MenuFvwmMultimedia "Pa&vucontrol%menu/monitoring.xpm%" pavucontrol
+ "&Gimp%menu/gimp.xpm%" FuncExec Gimp "exec gimp"
FuncAddIfExists MenuFvwmMultimedia "In&kscape%mini.inkscape.png%" inkscape
PipeRead 'if [ -x "`which tvtime 2>/dev/null`" ]; then \
echo "+ \\"&TVTime%menu/graphics.xpm%\\" Exec exec tvtime"; \
elif [ -x "`which xawtv 2>/dev/null`" ]; then \
echo "+ \\"Xaw&TV%menu/graphics.xpm%\\" Exec exec xawtv"; fi'
PipeRead 'if [ -x "`which beep-media-player 2>/dev/null`" ]; then \
echo "+ \\"Beep &Media Player%menu/music.xpm%\\" Exec exec beep-media-player -m"; \
elif [ -x "`which xmms 2>/dev/null`" ]; then \
echo "+ \\"X&MMS%menu/music.xpm%\\" Exec exec xmms -m"; \
elif [ -x "`which amarok 2>/dev/null`" ]; then \
echo "+ \\"A&marok%menu/music.xpm%\\" Exec exec amarok"; fi'
PipeRead 'if [ -x "`which gmplayer 2>/dev/null`" ]; then \
echo "+ \\"MPlay&er%menu/video.xpm%\\" Exec exec gmplayer"; \
elif [ -x "`which xine 2>/dev/null`" ]; then \
echo "+ \\"Xin&e%menu/video.xpm%\\" Exec exec xine"; fi'
FuncAddIfExists MenuFvwmMultimedia "Nuv&ola Player%hicolor/22x22/apps/nuvolaplayer.png%" nuvolaplayer
+ "" Nop
Test (x $[HOME]/.fvwm/fvwm-menu-music) + "Mus&ic%menu/folder.xpm%" Popup $[HOME]/Music
Test (x cdcd) + "&Disc Tracks%menu/disk-cd.xpm%" Popup MenuCDTracks
+ "P&revious%mini/prev.xpm%" Exec exec tpope media prev
+ "&Play%mini/play.xpm%" Exec exec tpope media play
+ "Pa&use%mini/pause.xpm%" Exec exec tpope media toggle
+ "&Stop%mini/stop.xpm%" Exec exec tpope media stop
+ "&Next%mini/next.xpm%" Exec exec tpope media next
# }}}2
# Remote Logins and Screens {{{2
DestroyMenu MenuFvwmScreens
DestroyMenu MenuFvwmLogins
DestroyMenu MenuFvwmTerminals
AddToMenu MenuFvwmScreens MissingSubmenuFunction FuncMissingHostMenu
AddToMenu MenuFvwmLogins MissingSubmenuFunction FuncMissingHostMenu
AddToMenu MenuFvwmTerminals MissingSubmenuFunction FuncMissingHostMenu
AddToMenu MenuFvwmScreens "Screen" Title
AddToMenu MenuFvwmLogins "Login" Title
AddToMenu MenuFvwmTerminals "Focus" Title
AddToMenu MenuFvwmScreens "& localhost%mini/terminal/left-plain.xpm%" FuncScreenXTerm
AddToMenu MenuFvwmLogins "& localhost%mini/terminal/right-plain.xpm%" FuncXTerm
AddToMenu MenuFvwmTerminals "& localhost%mini/terminal/right-plain.xpm%" FuncFindResource "*@localhost|localhost"
AddToMenu MenuFvwmScreens "" Nop
AddToMenu MenuFvwmLogins "" Nop
AddToMenu MenuFvwmTerminals "" Nop
PipeRead 'for host in `tpope-host list`; do \
letter=`tpope-host letter $$host|tr A-Z a-z`; \
color=`tpope-host color $$host`; \
echo "Style *@$$host* MiniIcon mini/terminal/right-$$color.xpm"; \
echo "Style @$$host* MiniIcon mini/terminal/left-$$color.xpm"; \
label=$$host; \
if [ -n "$$letter" ]; then \
label=`echo $$host | sed -e "s/$$letter/\\&$$letter/"`; \
case $$label in *"&"*) ;; *) label="$label(&$letter)" ;; esac; \
fi; \
echo "AddToMenu MenuFvwmScreens $$label%mini/terminal/left-$$color.xpm% FuncScreenSshXTerm $host"; \
echo "AddToMenu MenuFvwmLogins $$label%mini/terminal/right-$$color.xpm% FuncSshXTerm $host"; \
echo "AddToMenu MenuFvwmTerminals $$label%mini/terminal/right-$$color.xpm% FuncFindXTerm $$host"; \
done'
PipeRead "echo 'Style *@localhost UseStyle' \\*@$$HOST\\*"
PipeRead "echo 'Style @localhost UseStyle' @$$HOST\\*"
Test (x avahi-browse) AddToMenu MenuFvwmScreens "" Nop
Test (x avahi-browse) AddToMenu MenuFvwmLogins "" Nop
Test (x avahi-browse) AddToMenu MenuFvwmTerminals "" Nop
Test (x avahi-browse) AddToMenu MenuFvwmScreens "Discovered &. . ." Popup MenuDiscoveredHostsScreenSsh
Test (x avahi-browse) AddToMenu MenuFvwmLogins "Discovered &. . ." Popup MenuDiscoveredHostsSsh
Test (x avahi-browse) AddToMenu MenuFvwmTerminals "Discovered &. . ." Popup MenuDiscoveredHostsFind
# }}}2
# Fvwm Menus {{{2
DestroyMenu MenuFvwmConfig
AddToMenu MenuFvwmConfig "Configuration" Title
#+ "Fvwm &Modules%mini.modules.xpm%" Popup MenuFvwmModules
#+ "Stop Fvwm Mo&dule%mini.crosbone.xpm%" Popup MenuFvwmStopModule
+ "Control Ani&mation%mini.iconify.xpm%" Popup MenuFvwmAnimate
+ "" Nop
+ "F&vwm Decor%mini.fvwm.xpm%" Style * UseDecor MWM, FvwmBorder
+ "M&wm Decor%mini.mwm.xpm%" Style * UseDecor MWM, MwmBorder
+ "F&lat Decor%menu/window.xpm%" Style * UseDecor Flat, MwmBorder
+ "" Nop
+ "Buttons at &Top%menu/window-raise.xpm%" Schedule 10 Next (FvwmButtonsBottom, CirculateHit) FuncMoveButtonsToTop
+ "Buttons at &Bottom%menu/window-lower.xpm%" Schedule 10 Next (FvwmButtonsTop, CirculateHit) FuncMoveButtonsToBottom
+ "" Nop
+ "&All Paging OFF%mini.rball.xpm%" EdgeScroll 0 0
+ "F&ull Paging%mini.gball.xpm%" EdgeScroll 100 100
+ "Full Paging && &Edge Wrap%mini.bball.xpm%" EdgeScroll 100000 100000
DestroyFunc FuncFocusPolicyChange
AddToFunc FuncFocusPolicyChange
+ I Style * $0
+ I Recapture
# Configure and start using an iconbox on the fly
DestroyFunc FuncConfigureIconBox
AddToFunc FuncConfigureIconBox
+ I Module FvwmIconBox
#+ I Style * NoIcon
# }}}2
DestroyMenu MenuFvwmQuitVerify
AddToMenu MenuFvwmQuitVerify
Test (!EnvIsSet GNOME_DESKTOP_SESSION_ID) + "No, &Restart%menu/restart.xpm%" Restart
Test (EnvIsSet GNOME_DESKTOP_SESSION_ID) + "No, &Restart%menu/restart.xpm%" Restart fvwm2
+ "Yes, Really &Quit%menu/choice-yes.xpm%" FuncSmartQuit
+ "" Nop
+ "&Halt%menu/lock.xpm%" Popup MenuHalt
+ "R&eboot%menu/restart.xpm%" Popup MenuReboot
+ "" Nop
+ "Start &Gnome%mini.gnome.xpm%" Restart gnome-session
+ "Start &KDE%mini.kde.xpm%" Restart startkde
+ "&Just an XTerm%mini.xterm.xpm%" Restart xterm -name '"X Console"' -T '"X Console"'
DestroyMenu MenuHalt
AddToMenu MenuHalt "Halt?" Title
+ "Yes%menu/choice-yes.xpm%" FuncSmartQuitExec $[sudo] /sbin/shutdown -h now "Requested by $[LOGNAME] from menu"
DestroyMenu MenuReboot
AddToMenu MenuReboot "Reboot?" Title
+ "Yes%menu/choice-yes.xpm%" FuncSmartQuitExec $[sudo] /sbin/shutdown -r now "Requested by $[LOGNAME] from menu"
DestroyFunc FuncSmartQuitExec
AddToFunc FuncSmartQuitExec
+ I Exec $*
+ I FuncSmartQuit
DestroyMenu MenuGotoDesktop
AddToMenu MenuGotoDesktop "*mini.desktop.xpm*" Title
#PipeRead 'for i in `seq 0 26`; do echo + \\"\\&\
#`expr substr " ABCDEFGHIJKLMNOPQRSTUVWXYZ" \\( $i + 1 \\) 1`\\" \
# GotoDeskAndPage `expr $i / 9 % 3` `expr $i % 3` `expr $i / 3 % 3`; done'
PipeRead 'for i in `seq 0 7`; do echo + \\"\\&`expr $i + 1`\\" \
GotoDeskAndPage $i 0 0; done'
DestroyMenu MenuMoveToDesktop
AddToMenu MenuMoveToDesktop "*mini.book3.xpm*" Title
#PipeRead 'for i in `seq 0 26`; do echo + \\"\\&\
#`expr substr " ABCDEFGHIJKLMNOPQRSTUVWXYZ" \\( $i + 1 \\) 1`\\" \
# FuncMoveToDeskAndPage `expr $i / 9 % 3` `expr $i % 3` `expr $i / 3 % 3`; done'
PipeRead 'for i in `seq 0 7`; do echo + \\"\\&`expr $i + 1`\\" \
FuncMoveToDeskAndPage $i 0 0; done'
DestroyMenu MenuTakeToDesktop
AddToMenu MenuTakeToDesktop "*mini.book4.xpm*" Title
#PipeRead 'for i in `seq 0 26`; do echo + \\"\\&\
#`expr substr " ABCDEFGHIJKLMNOPQRSTUVWXYZ" \\( $i + 1 \\) 1`\\" \
# FuncTakeToDeskAndPage `expr $i / 9 % 3` `expr $i % 3` `expr $i / 3 % 3`; done'
PipeRead 'for i in `seq 0 7`; do echo + \\"\\&`expr $i + 1`\\" \
FuncTakeToDeskAndPage $i 0 0; done'
DestroyMenu MenuHeadlines
AddToMenu MenuHeadlines "Headlines" Title
+ MissingSubmenuFunction FuncMenuHeadlines
+ "Slashdot%slashdot.png%" Popup slashdot
+ "Kuro5hin%kuro5hin.png%" Popup kuro5hin
+ "CNN%cnn.png%" Popup cnn
+ "" Nop
+ "Reset all%menu/restart.xpm%" FuncResetHeadlines
# Window Operations Menu {{{2
DestroyMenu MenuFvwmWindowOps
AddToMenu MenuFvwmWindowOps
+ "&Move M-F7%menu/window-move.xpm%" FuncMove
+ "&Resize M-F8%menu/window-resize.xpm%" FuncResize
+ "R&aise M-F5%menu/window-raise.xpm%" Raise
+ "&Lower M-F3%menu/window-lower.xpm%" Lower
+ "(De)&Iconify M-F9%menu/window-iconify.xpm%" Iconify
+ "(Un)Ma&ximize M-F10%menu/window-maximize.xpm%" FuncMaximize
+ "(Un)&Stick M-F11%menu/window-stick.xpm%" Stick
+ "(Un)S&hade M-F12%menu/window-shade.xpm%" WindowShade
+ "" Nop
+ "Re&fresh S-M-F7%menu/refresh.xpm%" RefreshWindow
+ "R&eposition S-M-F8%menu/display.xpm%" FuncRepositionWindow
+ "Identif&y S-M-F9%menu/window-identify.xpm%" Module FvwmIdent
+ "Ca&pture C-Print%mini.camera.xpm%" Pick FuncCaptureWindow
+ "" Nop
+ "&Take To Desk S-C-Del%mini.book4.xpm%" Popup MenuTakeToDesktop
+ "Mo&ve To Desk S-M-Del%mini.book3.xpm%" Popup MenuMoveToDesktop
+ "" Nop
+ "&Close M-F4%menu/window-close.xpm%" Close
+ "Kill S-M-F12%menu/quit.xpm%" FuncSignal QUIT
+ "Destroy S-M-F4%menu/window-destroy.xpm%" Destroy
DestroyFunc FuncSignal
AddToFunc FuncSignal
+ I PipeRead 'echo Exec echo s/\\"$// >/tmp/foo'
+ I PipeRead " \
host=\"`xprop -id $[w.id] WM_CLIENT_MACHINE|sed -e 's/\"$//' -e 's/.*\"//'`\"; \
pid=\"`xprop -id $[w.id] _NET_WM_PID|sed -e 's/.* = //'`\"; \
if [ \"\$host\" = \"\$HOST\" ]; then \
echo Exec kill -$0 \$pid; \
else \
echo Exec tpope host ssh \"\$host\" -ax kill -$0 \$pid; \
fi
"
# }}}2
# }}}1
# Functions {{{1
# Window Functions {{{2
# FuncDeiconifyAndRearrange {{{3
DestroyFunc FuncDeiconifyAndRearrange
AddToFunc FuncDeiconifyAndRearrange
+ I Iconify off
+ I All (CurrentPage Iconic) PlaceAgain Icon
# }}}3
# FuncMove {{{3
DestroyFunc FuncMove
AddToFunc FuncMove
+ I Move $0
# }}}3
# FuncMoveOrRaise {{{3
DestroyFunc FuncMoveOrRaise
AddToFunc FuncMoveOrRaise
+ I Focus
+ I Raise
+ M FuncMove
#+ D Lower
+ D PlaceAgain
# }}}3
# FuncMoveOrIconify {{{3
DestroyFunc FuncMoveOrIconify
AddToFunc FuncMoveOrIconify
+ I Raise
+ M FuncMove
+ D Iconify
# }}}3
# FuncResizeOrRaiseOr {{{3
DestroyFunc FuncResizeOrRaiseOr
AddToFunc FuncResizeOrRaiseOr
+ I Raise
+ M FuncResize
+ D $0 $[func.context]
# }}}3
# FuncUnshadeAndIconify {{{3
DestroyFunc FuncUnshadeAndIconify
AddToFunc FuncUnshadeAndIconify
+ I WindowShade false
+ C Iconify
# }}}3
# FuncRestore {{{3
DestroyFunc FuncRestore
AddToFunc FuncRestore
+ I Maximize false
+ I FuncRemaximize
+ I WindowShade false
+ I Iconify false
# }}}3
# Maximization and Resize Functions {{{3
DestroyFunc FuncRemaximize
AddToFunc FuncRemaximize
#+ I All (State 5, !Maximized) WindowStyle Borders
#+ I All (State 6, !Maximized) WindowStyle Borders
+ I All (State 5, !Maximized) State 5 false
+ I All (State 6, !Maximized) State 5 false
#+ I All (State 5) WindowStyle !Borders
#+ I All (State 6) WindowStyle !Borders
+ I UpdateStyles
#+ I All (State 5) Maximize false
+ I All (State 5) Maximize true
#+ I All (State 6) Maximize ewmhiwa false
+ I All (State 6) Maximize ewmhiwa true
DestroyFunc FuncMaximize
AddToFunc FuncMaximize
+ I State 6 false
+ I Current (!Maximized, Maximizable) State 5 true
+ I Current (Maximized, Maximizable) State 5 false
+ I Current (Maximized, Maximizable) State 6 false
#+ I Current (!Maximized, Maximizable) WindowStyle !Borders
#+ I Current (Maximized, Maximizable) WindowStyle Borders
+ I UpdateStyles
+ I Maximize $*
PipeRead "if fvwm --version >/dev/null 2>&1; then :; else echo '+ I Maximize 100 -25p'; fi"
+ I FuncRemaximize
DestroyFunc FuncFullScreen
AddToFunc FuncFullScreen
+ I State 5 false
+ I Current (!Maximized, Maximizable) State 6 true
+ I Current (Maximized, Maximizable) State 6 false
+ I Current (!Maximized, Maximizable) WindowStyle !Borders
+ I Current (Maximized, Maximizable) WindowStyle Borders
+ I UpdateStyles
+ I Maximize ewmhiwa
+ I FuncRemaximize
DestroyFunc FuncEnlarge
AddToFunc FuncEnlarge
+ I State 5 false
+ I State 6 false
+ I ResizeMove 100 -25p 0 0 warp
+ I Any (FvwmButtonsTop, CirculateHit) WindowId $[w.id] Move 0 25p warp
+ I FuncRemaximize
DestroyFunc FuncResize
AddToFunc FuncResize
+ I State 5 false
+ I State 6 false
+ I Resize $*
+ I FuncRemaximize
# }}}3
# Window Destruction Functions {{{3
DestroyFunc FuncDelete
AddToFunc FuncDelete
+ C Delete
DestroyFunc FuncClose
AddToFunc FuncClose
+ C Close
DestroyFunc FuncDestroy
AddToFunc FuncDestroy
+ C Destroy
# }}}3
# FuncWarpToTitle {{{3
DestroyFunc FuncWarpToTitle
AddToFunc FuncWarpToTitle
+ I WarpToWindow 25p 6p
+ I Test (Version >= 2.5.0) ThisWindow (!HasHandles) WarpToWindow 22p 3p
#+ I ThisWindow (State 5, Maximized) WarpToWindow 20p 1p
#+ I ThisWindow (State 6, Maximized) WarpToWindow 20p 1p
# }}}3
# WindowListFunc {{{3
DestroyFunc WindowListFunc
AddToFunc WindowListFunc
+ I FuncDeiconifyAndRearrange
+ I FlipFocus
+ I Raise
+ I FuncWarpToTitle
# }}}3
# EWMHActivateWindowFunc {{{3
DestroyFunc EWMHActivateWindowFunc
AddToFunc EWMHActivateWindowFunc
+ I FuncDeiconifyAndRearrange
+ I FlipFocus
+ I Raise
# + I WarpToWindow 50 50
# + I FuncWarpToTitle
# }}}3
# Focus Functions {{{3
DestroyFunc FuncFocusWindow
AddToFunc FuncFocusWindow
+ I FuncDeiconifyAndRearrange
+ I Focus
+ I Raise
+ I FuncWarpToTitle
DestroyFunc FuncFlipFocusWindow
AddToFunc FuncFlipFocusWindow
+ I FuncDeiconifyAndRearrange
+ I FlipFocus
+ I Raise
+ I FuncWarpToTitle
DestroyFunc FuncDoubleClickFocusWindow
AddToFunc FuncDoubleClickFocusWindow
+ D FuncWarpToTitle
# }}}3
# FuncRepositionWindow {{{3
DestroyFunc FuncRepositionWindow
AddToFunc FuncRepositionWindow
+ I PlaceAgain
+ I RecaptureWindow
# }}}3
# FuncCaptureWindow {{{3
DestroyFunc FuncCaptureWindow
AddToFunc FuncCaptureWindow
+ I Exec exec import -window $[w.id] $[HOME]/$[w.id]-`date +%Y-%m-%d_%H-%M-%S`.png
# }}}3
# }}}2
# Desktop Functions {{{2
DestroyFunc FuncTakeToDesk
AddToFunc FuncTakeToDesk
+ I Raise
+ I MoveToDesk $*
+ I GoToDesk $*
+ I Focus
DestroyFunc FuncTakeToDeskAndPage
AddToFunc FuncTakeToDeskAndPage
+ I MoveToDesk 0 $0
+ I MoveToPage $1 $2
+ I GotoDeskAndPage $0 $1 $2
DestroyFunc FuncTakeAllToDeskAndPage
AddToFunc FuncTakeAllToDeskAndPage
+ I All ($r) MoveToDesk 0 $0
+ I All ($r) MoveToPage $1 $2
+ I GotoDeskAndPage $0 $1 $2
DestroyFunc FuncMoveToDeskAndPage
AddToFunc FuncMoveToDeskAndPage
+ I MoveToDesk 0 $0
+ I MoveToPage $1 $2
DestroyFunc FuncMoveAllToDeskAndPage
AddToFunc FuncMoveAllToDeskAndPage
+ I All ($r) MoveToDesk 0 $0
+ I All ($r) MoveToPage $1 $2
DestroyFunc FuncMenuFvwmRoot
AddToFunc FuncMenuFvwmRoot
Test (!EnvIsSet GNOME_DESKTOP_SESSION_ID) + I Menu MenuFvwmRoot Root 0 +100-100m-25p Nop
Test (EnvIsSet GNOME_DESKTOP_SESSION_ID) + I Menu MenuFvwmRoot Root 0 +25p Nop
DestroyFunc FuncToggleButtons
AddToFunc FuncToggleButtons
+ I Next (FvwmButtonsBottom, CirculateHit) FuncMoveButtonsToTop
+ I Next (FvwmButtonsTop, CirculateHit) FuncMoveButtonsToBottom
DestroyFunc FuncButtonsRestore
AddToFunc FuncButtonsRestore
+ I WindowShade false
+ I Raise
DestroyFunc FuncMoveButtonsToBottom
AddToFunc FuncMoveButtonsToBottom
+ I EwmhBaseStruts 0 0 0 25
+ I DestroyFunc FuncMenuFvwmRoot
+ I AddToFunc FuncMenuFvwmRoot I Menu MenuFvwmRoot Root 0 100-100m-25p Nop
+ I EdgeCommand Top
+ I EdgeCommand Bottom All (FvwmButtons) FuncButtonsRestore
+ I KillModule FvwmButtons
+ I All Move keep w-25p
+ I Module FvwmButtons FvwmButtonsBottom
+ I Style * IconBox 0 -112 -0 -25, IconFill Left Bottom, IconBox -112 0 -0 -112, IconFill Bottom Left
DestroyFunc FuncMoveButtonsToTop
AddToFunc FuncMoveButtonsToTop
+ I EwmhBaseStruts 0 0 25 0
+ I DestroyFunc FuncMenuFvwmRoot
+ I AddToFunc FuncMenuFvwmRoot I Menu MenuFvwmRoot Root 0 +25p Nop
+ I EdgeCommand Top All (FvwmButtons) FuncButtonsRestore
+ I EdgeCommand Bottom
+ I KillModule FvwmButtons
+ I All Move keep w+25p
+ I Module FvwmButtons FvwmButtonsTop
+ I Style * IconBox 0 -72 -0 -0, IconFill Left Bottom, IconBox -112 0 -0 -72, IconFill Bottom Left
DestroyFunc SelectiveRaiseLower
AddToFunc SelectiveRaiseLower
+ I WindowId $1 (FvwmButtons) $0
# }}}2
# Application Functions {{{2
DestroyFunc FuncFindResource
AddToFunc FuncFindResource
+ I Next ($*, AcceptsFocus) Iconify off
+ I Next ($*, AcceptsFocus) Focus
+ I Next ($*, AcceptsFocus) FuncWarpToTitle
DestroyFunc FuncExec
AddToFunc FuncExec
+ I Next ("$0") Iconify off
+ I Next ("$0", AcceptsFocus) Focus
+ I None ("$0") Exec $1
DestroyFunc FuncFvwmForm
AddToFunc FuncFvwmForm
#+ I UnsetEnv LANG
+ I FvwmForm $0
#PipeRead '[ -z "$[LANG]" ] || echo + I SetEnv LANG $[LANG]'
DestroyFunc FuncFvwmFormRun
AddToFunc FuncFvwmFormRun
+ I FuncFvwmForm FvwmForm-Run
# }}}2
# Web Browser Functions {{{2
DestroyFunc FuncFindWebBrowser
AddToFunc FuncFindWebBrowser
+ I FuncFindResource "WWW-Browser|Gecko|gecko|Galeon|Navigator|Firefox-bin|Google-chrome|Chromium-browser|konqueror|dillo"
DestroyFunc FuncFindOrLaunchWebBrowser
AddToFunc FuncFindOrLaunchWebBrowser
+ I None ("WWW-Browser|Gecko|gecko|Galeon|Navigator|Firefox-bin|Google-chrome|Chromium-browser|konqueror|dillo", AcceptsFocus) Exec exec sensible-browser $*
+ I FuncFindWebBrowser
DestroyFunc FuncSmartWebBrowser
AddToFunc FuncSmartWebBrowser
+ I Exec [ -e "$*" ] && exec "$HOME/bin/sensible-browser" "$*"; case "$*" in /*|./*) exec "$HOME/bin/sensible-browser" "$*" ;; *://*|*.*.*/*) exec "$HOME/bin/sensible-browser" "`echo "$*"|tr -d ' \t\n\r\f'`" ;; *) echo "$*"; exec "$HOME/bin/sensible-browser" "http://www.google.com/search?q=`echo \"$*\"|sed -e 's/%/%25/g' -e 's/+/%2B/g' -e 's/ /+/g' -e s/\'/%27/g`" ;; esac
+ I FuncFindWebBrowser
DestroyFunc FuncWebBrowserClipboard
AddToFunc FuncWebBrowserClipboard
+ I PipeRead 'echo FuncSmartWebBrowser `xsel 2>/dev/null|sed -e s/^+//`'
DestroyFunc FuncWebBrowser
AddToFunc FuncWebBrowser
+ I Exec exec sensible-browser $*
+ I FuncFindWebBrowser
#DestroyFunc FuncCustomWebBrowser
#AddToFunc FuncCustomWebBrowser
#+ I Exec $*
#+ I FuncFindWebBrowser
# }}}2
# Chat Functions {{{2
DestroyFunc FuncChatFind
AddToFunc FuncChatFind
+ I Next (chat@*|Chat@*, AcceptsFocus) Iconify off
+ I Next (chat@*|Chat@*, AcceptsFocus) Focus
+ I Next (chat@*|Chat@*, AcceptsFocus) FuncWarpToTitle
DestroyFunc FuncChatScreenSshXTerm
AddToFunc FuncChatScreenSshXTerm
+ I FuncChatFind
+ I None (chat@*|Chat@*, AcceptsFocus) Exec exec x-terminal-emulator -ut -name Chat@remote -T Chat@remote -e tpope chat
# DestroyFunc FuncChatScreenSshXTermShared
# AddToFunc FuncChatScreenSshXTermShared
# + I FuncChatFind
# + I None (chat@*|Chat@*, AcceptsFocus) Exec exec x-terminal-emulator -ut -name Chat@remote -T Chat@remote -e tpope chat -x
DestroyFunc FuncChatScreenSshXTermShared
AddToFunc FuncChatScreenSshXTermShared
+ I Exec exec x-terminal-emulator -ut -name Chat@remote -T Chat@remote -e tpope chat -x
DestroyFunc FuncChatScreenXTerm
AddToFunc FuncChatScreenXTerm
+ I Next (chat@localhost|Chat@localhost, AcceptsFocus) Iconify off
+ I Next (chat@localhost|Chat@localhost, AcceptsFocus) Focus
+ I Next (chat@localhost|Chat@localhost, AcceptsFocus) FuncWarpToTitle
+ I None (chat@localhost|Chat@localhost) Exec exec x-terminal-emulator -ut -name Chat@localhost -T Chat@localhost -e screen -c "$HOME/.irssi/screenrc" -dRR irc
# }}}2
# XTerm Functions {{{2
DestroyFunc FuncXTerm
AddToFunc FuncXTerm
+ I Exec exec x-terminal-emulator -name localhost -T localhost
DestroyFunc FuncScreenXTerm
AddToFunc FuncScreenXTerm
+ I FuncFindResource @localhost
+ I None (@localhost, AcceptsFocus) Exec exec x-terminal-emulator -name @localhost -T @localhost -e screen -dRR $[HOST]
DestroyFunc FuncSshXTerm
AddToFunc FuncSshXTerm
+ I Exec exec x-terminal-emulator -ut -name ssh@$0 -T ssh@$0 -e tpope host ssh $0 -tX
DestroyFunc FuncFindXTerm
AddToFunc FuncFindXTerm
+ I FuncFindResource *@$0
DestroyFunc FuncScreenSshXTerm
AddToFunc FuncScreenSshXTerm
+ I FuncFindResource @$0
+ I None (@$0, AcceptsFocus) Exec exec x-terminal-emulator -ut -name @$0 -T @$0 -e tpope host ssh $0 -t screen -dRR $[HOST]
# }}}2
# Menu Functions {{{2
DestroyFunc FuncMusicPlay
AddToFunc FuncMusicPlay
+ I PipeRead 'if [ -x "`which beep-media-player 2>/dev/null`" ]; then \
echo Exec exec beep-media-player \\""$0"\\"; \
elif [ -x "`which xmms 2>/dev/null`" ]; then \
echo Exec exec xmms \\""$0"\\"; \
elif [ -x "`which amarok 2>/dev/null`" ]; then \
echo Exec exec amarok \\""$0"\\"; \
fi'
DestroyFunc FuncMenuMusic
AddToFunc FuncMenuMusic
+ I PipeRead 'case "$0" in \
*MenuCDTracks*) \
if [ "`cdcd info 2>/dev/null`" != "No disc in drive" -a -n "`cdcd info 2>/dev/null`" ]; then \
echo FuncMenuTracks $0; \
else echo FuncMenuDVD $0; \
fi ;; \
*) $[HOME]/.fvwm/fvwm-menu-music "$0" ;; esac'
DestroyFunc FuncMenuDVD
AddToFunc FuncMenuDVD
+ I DestroyMenu "$0"
+ I AddToMenu "$0"
+ I + DynamicPopDownAction DestroyMenu "$0"
+ I PipeRead 'lsdvd 2>/dev/null|grep .|sort|(\
read trash trash TITLE; read trash trash LONGEST; [ -z "$LONGEST" ] && exit; \
echo + "\\"$TITLE\\"" Exec exec gmplayer -af volume=10 -fs dvd://$LONGEST; echo + \\"\\" Nop; \
sed -e "s/^Title: \\\\(0*\\\\)\\\\([0-9]*\\\\),\\\\(.*\\\\), Cells.*/+ \\"\\\\1\\\\&\\\\2 \\\\3\\" Exec exec gmplayer -af volume=10 -fs dvd:\\\\/\\\\/\\\\2/")'
DestroyFunc FuncMenuDiscoverHosts
AddToFunc FuncMenuDiscoverHosts
+ I DestroyMenu "MenuDiscoverHosts$0"
+ I AddToMenu "MenuDiscoverHosts$0"
+ I PipeRead 'avahi-browse -t _ssh._tcp|grep IPv4|awk \'{print "+ "$$$$4" Func$0XTerm "$$$$4}\''
DestroyFunc FuncMissingHostMenu
AddToFunc FuncMissingHostMenu
+ I PipeRead 'avahi-browse -t _ssh._tcp|grep IPv4|awk \'{print "AddToMenu MenuDiscoveredHostsSsh "$$$$4" FuncSshXTerm "$$$$4"\\nAddToMenu MenuDiscoveredHostsScreenSsh "$$$$4" FuncScreenSshXTerm "$$$$4"\\nAddToMenu MenuDiscoveredHostsFind "$$$$4" FuncFindXTerm "$$$$4}\''
+ I Schedule 600000 DestroyMenu MenuDiscoveredHostsSsh
+ I Schedule 600000 DestroyMenu MenuDiscoveredHostsScreenSsh
+ I Schedule 600000 DestroyMenu MenuDiscoveredHostsFind
# By blitz3
DestroyFunc FuncMenuTracks
AddToFunc FuncMenuTracks
+ I DestroyMenu "$0"
+ I AddToMenu "$0"
+ I + DynamicPopDownAction DestroyMenu "$0"
+ I PipeRead ' \
cdcd info| grep Album| sed -e s/\\"/\\\\\\\\\\"/g -e "s#Album .*:[ ]*\\(.*\\)#+ \\"%music_card.png%\\1\\" Exec exec cdcd stop#g"; \
echo + \\"\\" Nop; \
cdcd tracks |sed -n -e "/^[ 0-9]/p" | sed -e s/\\"/\\\\\\\\\\"/g -e "s#[ ]*\\([0-9]*\\):[ ]*\\([ >]\\)[ ]*\\[.*\\][ ]*\\(.*\\)#+ \\"\\2\\1: \\3\\" Exec exec cdcd play \\1#g"| sed -e "s#>#%menu/disk-cd.png% #"'
DestroyFunc FuncMenuHeadlines
AddToFunc FuncMenuHeadlines
+ I PipeRead "fvwm-menu-headlines --site $0 --wm-icons --exec='sensible-browser %u'"
+ I Schedule 600000 DestroyMenu $0
DestroyFunc FuncResetHeadlines
AddToFunc FuncResetHeadlines
+ I DestroyMenu slashdot
+ I DestroyMenu kuro5hin
+ I DestroyMenu cnn
# }}}2
# Next Edge Functions {{{2
DestroyFunc FuncNextEdgeDown
AddToFunc FuncNextEdgeDown
+ I SetEnv edge_w $1
+ I All (CurrentPage !Iconic \
!Shaded) PipeRead "test $[w.y] -lt $edge_w \
-a $[w.y] -gt $0 \
&& echo SetEnv edge_w $[w.y] \
|| echo Nop"
+ I All (CurrentPage !Iconic \
!Shaded) PipeRead "test `expr $[w.y] + $[w.height]` -lt $edge_w \
-a `expr $[w.y] + $[w.height]` -gt $0 \
&& echo SetEnv edge_w `expr $[w.y] + $[w.height]` \
|| echo Nop"
DestroyFunc FuncNextEdgeUp
AddToFunc FuncNextEdgeUp
+ I SetEnv edge_w $1
+ I All (CurrentPage !Iconic \
!Shaded) PipeRead "test $[w.y] -gt $edge_w \
-a $[w.y] -lt $0 \
&& echo SetEnv edge_w $[w.y] \
|| echo Nop"
+ I All (CurrentPage !Iconic \
!Shaded) PipeRead "test `expr $[w.y] + $[w.height]` -gt $edge_w \
-a `expr $[w.y] + $[w.height]` -lt $0 \
&& echo SetEnv edge_w `expr $[w.y] + $[w.height]` \
|| echo Nop"
DestroyFunc FuncNextEdgeRight
AddToFunc FuncNextEdgeRight
+ I SetEnv edge_w $1
+ I All (CurrentPage !Iconic \
!Shaded) PipeRead "test $[w.x] -lt $edge_w \
-a $[w.x] -gt $0 \
&& echo SetEnv edge_w $[w.x] \
|| echo Nop"
+ I All (CurrentPage !Iconic \
!Shaded) PipeRead "test `expr $[w.x] + $[w.width]` -lt $edge_w \
-a `expr $[w.x] + $[w.width]` -gt $0 \
&& echo SetEnv edge_w `expr $[w.x] + $[w.width]` \
|| echo Nop"
DestroyFunc FuncNextEdgeLeft
AddToFunc FuncNextEdgeLeft
+ I SetEnv edge_w $1
+ I All (CurrentPage !Iconic \
!Shaded) PipeRead "test $[w.x] -gt $edge_w \
-a $[w.x] -lt $0 \
&& echo SetEnv edge_w $[w.x] \
|| echo Nop"
+ I All (CurrentPage !Iconic \
!Shaded) PipeRead "test `expr $[w.x] + $[w.width]` -gt $edge_w \
-a `expr $[w.x] + $[w.width]` -lt $0 \
&& echo SetEnv edge_w `expr $[w.x] + $[w.width]` \
|| echo Nop"
# }}}2
# }}}1
# Modules Config {{{1
# FvwmBacker Config {{{2
Test (!EnvIsSet GNOME_DESKTOP_SESSION_ID) PipeRead 'for i in `seq 0 8`; do echo "*FvwmBacker: Command (Desk $i) Colorset 4$i"; done'
# }}}2
# FvwmButtons Config {{{2
SetEnv screen_width $[vp.width]
# Dual head
PipeRead 'if [ `expr $[vp.width] / $[vp.height]` -gt 2 ]; then echo SetEnv screen_width `expr $[vp.width] / 2`; fi'
PipeRead 'echo SetEnv pager_width `expr 25 \\* $[vp.width] / $[vp.height] \\* 8`'
PipeRead 'echo SetEnv right_width `expr $[pager_width] + 194`'
PipeRead 'echo SetEnv right_inner_width `expr $[right_width] - 1`'
PipeRead 'echo SetEnv iconman_width `expr $[screen_width] - 218 - $[pager_width]`'
# FvwmButtonsBottom Config {{{3
DestroyModuleConfig FvwmButtonsBottom: *
*FvwmButtonsBottom: ButtonGeometry 1x1+0-0
*FvwmButtonsBottom: Back Black
*FvwmButtonsBottom: Fore Black
*FvwmButtonsBottom: Rows 25
*FvwmButtonsBottom: Font $[fvwm_smallfont]
*FvwmButtonsBottom: Padding 0 0
*FvwmButtonsBottom: (24x25, Frame 0, Padding 0 0, Container(Columns 1, Rows 25, Frame 0, Padding 0 0))
*FvwmButtonsBottom: (1x1, Frame 0, Padding 0 0, Back Black)
*FvwmButtonsBottom: (1x24, id menu, Frame 2, Padding 0 0, Back $[fvwm_mybg], Icon mini.fvwm.xpm, Action (Mouse 1) FuncMenuFvwmRoot, Action (Mouse 2) FuncWebBrowserClipboard, Action (Mouse 3) FuncScreenXTerm)
*FvwmButtonsBottom: (End)
*FvwmButtonsBottom: ($[iconman_width]x25, Frame 0, Padding 0 0, Container(Columns 1, Rows 25, Frame 0, Padding 0 0))
*FvwmButtonsBottom: (1x1, Frame 0, Padding 0 0, Back Black)
*FvwmButtonsBottom: (1x24, Back $[fvwm_mybg], Swallow(UseOld, NoHints, NoClose, Respawn) "FvwmIconMan" "Module FvwmIconMan")
*FvwmButtonsBottom: (End)
*FvwmButtonsBottom: ($[right_width]x25, Frame 0, Padding 0 0, Container(Columns $[right_inner_width], Rows 25, Frame 0, Padding 0 0))
*FvwmButtonsBottom: ($[right_inner_width]x1, Frame 0, Padding 0 0, Back Black)
*FvwmButtonsBottom: ($[pager_width]x24, Frame 0, Padding 0 0, Back $[fvwm_mybg], Swallow(UseOld, NoHints, NoClose, Respawn) "FvwmPagerInline" "Module FvwmPager FvwmPagerInline 0 7")
*FvwmButtonsBottom: (84x24, Padding 0 0, Frame 0, Back $[fvwm_mybg], Swallow(UseOld, NoHints, Respawn) "stalonetray" "Exec exec stalonetray -bg '$[fvwm_mybg]' --geometry 3x1-4-1 --max-geometry 3x1 --icon-gravity SE --no-shrink --scrollbars horizontal --kludges force_icons_size")
*FvwmButtonsBottom: (110x24, Padding 0 0, Frame 0, Back $[fvwm_mybg], Swallow(UseOld, NoHints, NoClose, Respawn) "FvwmScript-DateTime" "Module FvwmScript FvwmScript-DateTime")
*FvwmButtonsBottom: (End)
# }}}3
# FvwmButtonsTop Config {{{3
DestroyModuleConfig FvwmButtonsTop: *
*FvwmButtonsTop: ButtonGeometry 1x1+0+0
*FvwmButtonsTop: Back Black
*FvwmButtonsTop: Fore Black
*FvwmButtonsTop: Rows 25
*FvwmButtonsTop: Font $[fvwm_smallfont]
*FvwmButtonsTop: Padding 0 0
*FvwmButtonsTop: (24x25, Frame 0, Padding 0 0, Container(Columns 1, Rows 25, Frame 0, Padding 0 0))
*FvwmButtonsTop: (1x24, id menu, Frame 2, Padding 0 0, Back $[fvwm_mybg], Icon mini.fvwm.xpm, Action (Mouse 1) FuncMenuFvwmRoot, Action (Mouse 2) FuncWebBrowserClipboard, Action (Mouse 3) FuncScreenXTerm)
*FvwmButtonsTop: (1x1, Frame 0, Padding 0 0, Back Black)
*FvwmButtonsTop: (End)
*FvwmButtonsTop: ($[iconman_width]x25, Frame 0, Padding 0 0, Container(Columns 1, Rows 25, Frame 0, Padding 0 0))
*FvwmButtonsTop: (1x24, Back $[fvwm_mybg], Swallow(UseOld, NoHints, NoClose, Respawn) "FvwmIconMan" "Module FvwmIconMan")
*FvwmButtonsTop: (1x1, Frame 0, Padding 0 0, Back Black)
*FvwmButtonsTop: (End)
*FvwmButtonsTop: ($[right_width]x25, Frame 0, Padding 0 0, Container(Columns $[right_inner_width], Rows 25, Frame 0, Padding 0 0))
*FvwmButtonsTop: ($[pager_width]x24, Frame 0, Padding 0 0, Back $[fvwm_mybg], Swallow(UseOld, NoHints, NoClose, Respawn) "FvwmPagerInline" "Module FvwmPager FvwmPagerInline 0 7")
*FvwmButtonsTop: (84x24, Padding 0 0, Frame 0, Back $[fvwm_mybg], Swallow(UseOld, NoHints, Respawn) "stalonetray" "Exec exec stalonetray -bg '$[fvwm_mybg]' --geometry 3x1-4-1 --max-geometry 3x1 --icon-gravity SE --no-shrink --scrollbars horizontal --kludges force_icons_size")
*FvwmButtonsTop: (110x24, Padding 0 0, Frame 0, Back $[fvwm_mybg], Swallow(UseOld, NoHints, NoClose, Respawn) "FvwmScript-DateTime" "Module FvwmScript FvwmScript-DateTime")
*FvwmButtonsTop: ($[right_inner_width]x1, Frame 0, Padding 0 0, Back Black)
*FvwmButtonsTop: (End)
# }}}3
UnsetEnv screen_width
UnsetEnv pager_width
UnsetEnv right_width
UnsetEnv right_inner_width
UnsetEnv iconman_width
# }}}2
# FvwmIconMan Config {{{2
DestroyModuleConfig FvwmIconMan: *
*FvwmIconMan: *numManagers 1
*FvwmIconMan: *Resolution page
*FvwmIconMan: *ReliefThickness 1
*FvwmIconMan: *Background $[fvwm_mybg]
*FvwmIconMan: *Foreground black
*FvwmIconMan: *Format "%t"
*FvwmIconMan: *Font "$[fvwm_iconfont]"
*FvwmIconMan: *Action Mouse 1 A sendcommand "FuncDeiconifyAndRearrange", sendcommand "Focus", sendcommand "Raise", sendcommand "FuncDoubleClickFocusWindow"
*FvwmIconMan: *Action Mouse 2 A sendcommand "Iconify"
*FvwmIconMan: *Action Mouse 3 A sendcommand "Menu MenuFvwmWindowOps o0 o100 Nop"
*FvwmIconMan: *FollowFocus true
*FvwmIconMan: *Sort weighted
*FvwmIconMan: *SortWeight 1 resource=screen@*
*FvwmIconMan: *SortWeight 2 resource=*localhost
*FvwmIconMan: *SortWeight 4 resource=chat@*
*FvwmIconMan: *SortWeight 4 resource=Chat@*
*FvwmIconMan: *SortWeight 5 resource=screen-ssh@*
*FvwmIconMan: *SortWeight 5 resource=@*
*FvwmIconMan: *SortWeight 7 resource=ssh@*
*FvwmIconMan: *SortWeight 50
*FvwmIconMan: *PlainButton up #444444 $[bg.cs1]
*FvwmIconMan: *IconButton up $[fg.cs1] $[bg.cs1]
*FvwmIconMan: *SelectButton up Black $[bg.cs1]
*FvwmIconMan: *FocusButton down $[fg.cs2] $[bg.cs2]
*FvwmIconMan: *FocusAndSelectButton down Black $[bg.cs2]
*FvwmIconMan: *TitleButton flat $[fvwm_mybg] $[fvwm_mybg]
*FvwmIconMan: *DontShow icon=Untitled resource=Untitled
*FvwmIconMan: *DrawIcons always
*FvwmIconMan: *ButtonGeometry 200x24
*FvwmIconMan: *ManagerGeometry 4x1+3000+3000
# }}}2
# FvwmScript Config {{{2
DestroyModuleConfig FvwmScript: *
*FvwmScript: DefaultBack $[fvwm_mybg]
*FvwmScript: DefaultFont $[fvwm_modulefont]
# }}}2
# FvwmPagerInline Config {{{2
DestroyModuleConfig FvwmPagerInline: *
*FvwmPagerInline: Rows 1
*FvwmPagerInline: Columns 8
*FvwmPagerInline: Geometry -3000-3000
*FvwmPagerInline: Font none
*FvwmPagerInline: SmallFont -schumacher-clean-medium-r-normal--6-*-*-*-c-*-iso646.1991-irv
*FvwmPagerInline: MiniIcons
#*FvwmPagerInline: SloppyFocus
*FvwmPagerInline: Balloons
*FvwmPagerInline: BalloonFont "xft:Bitstream Vera Sans:style=Roman:size=7:antialias=True"
*FvwmPagerInline: BalloonFore White
#*FvwmPagerInline: SmallFont micro
*FvwmPagerInline: Hilight White
*FvwmPagerInline: NoDeskHilight
*FvwmPagerInline: WindowColorsets 1 2
PipeRead 'for i in `seq 0 7`; do echo "*FvwmPagerInline: DeskColor $i \\#0`expr $i + 1``expr 8 - $i`"; done'
PipeRead 'for i in `seq 0 8`; do echo "*FvwmPagerInline: Colorset $i 4$i"; done'
*FvwmPagerInline: Label 0 "First"
*FvwmPagerInline: Label 1 "Second"
*FvwmPagerInline: Label 2 "Third"
*FvwmPagerInline: Label 3 "Fourth"
*FvwmPagerInline: Label 4 "Fifth"
*FvwmPagerInline: Label 5 "Sixth"
*FvwmPagerInline: Label 6 "Seventh"
*FvwmPagerInline: Label 7 "Eighth"
*FvwmPagerInline: Label 8 "Ninth"
# }}}2
# Fvwm Modules Misc Config {{{2
DestroyModuleConfig FvwmAnimate: *
*FvwmAnimate: Effect Twist
*FvwmAnimate: Iterations 24
*FvwmAnimate: Width 2
*FvwmAnimate: Twist .500000
*FvwmAnimate: Delay 0
*FvwmAnimate: Pixmap resize.rainbow.xpm
DestroyModuleConfig FvwmIdent: *
*FvwmIdent: Back MidnightBlue
*FvwmIdent: Fore Yellow
*FvwmIdent: Font $[fvwm_modulefont]
*FvwmIdent: MinimalLayer 6
DestroyModuleConfig FvwmProxy: *
*FvwmProxy: Font $[fvwm_titlefont]
*FvwmProxy: ProxyMove true
*FvwmProxy: Action Click2 SendToModule FvwmProxy ShowToggle
DestroyModuleConfig FvwmWinList: *
*FvwmWinList: Back #908090
*FvwmWinList: Fore Black
*FvwmWinList: Font "$[fvwm_iconfont]"
*FvwmWinList: Action Click1 Iconify false, FlipFocus
*FvwmWinList: Action Click2 Iconify toggle
*FvwmWinList: Action Click3 Module FvwmIdent
*FvwmWinList: UseSkipList
*FvwmWinList: Geometry +0-1
DestroyModuleConfig FvwmScroll: *
*FvwmScroll: Back grey40
*FvwmScroll: Fore green
DestroyModuleConfig FvwmFormDefault: *
*FvwmFormDefault: Back #bbb
*FvwmFormDefault: Colorset 0
*FvwmFormDefault: ItemColorset 0
*FvwmFormDefault: ButtonFont $[fvwm_labelfont]
*FvwmFormDefault: Font $[fvwm_labelfont]
*FvwmFormDefault: InputFont "xft:Mono:pixelsize=11"
DestroyModuleConfig FvwmBanner: *
*FvwmBanner: Timeout 2
# }}}2
# FvwmForm-Run Config {{{2
DestroyModuleConfig FvwmForm-Run: *
*FvwmForm-Run: Geometry +180-50
*FvwmForm-Run: Title "Run Program
*FvwmForm-Run: Line expand
*FvwmForm-Run: Text "Command:"
*FvwmForm-Run: Input Program 30 ""
*FvwmForm-Run: Line expand
*FvwmForm-Run: Text "Host (optional):"
*FvwmForm-Run: Input Host 22 ""
*FvwmForm-Run: Line expand
*FvwmForm-Run: Button quit "Run" ^M
*FvwmForm-Run: Command Exec case "$(Program)" in '') exec x-terminal-emulator $(Host?-ut -name @$(Host) -T @$(Host))$(Host!-name @localhost -T @localhost) -e $(Host?tpope host ssh $(Host) -t) screen -dRR $[HOST] ;; ???://*|????://*|?????://*|www.*) exec $(Host?ssh -X $(Host)) sensible-browser $(Program) ;; *) exec $(Host?ssh -X $(Host)) $(Program) ;; esac
# Before saving the data, remove any previously saved data:
*FvwmForm-Run: Command DestroyModuleConfig FvwmForm-RunDefault: *
*FvwmForm-Run: Command !( /bin/echo \
"# This file last created by FvwmForm-Run on: `/bin/date`."; /bin/echo \
'*FvwmForm-RunDefault: Program $(Program)' ; /bin/echo \
) > ${FVWM_USERDIR}/.FvwmForm-Run
*FvwmForm-Run: Command !( /bin/echo \
"# This file last created by FvwmForm-Run on: `/bin/date`."; /bin/echo \
Exec case '"$(Program)"' in "'')" exec x-terminal-emulator $(Host?-ut -name @$(Host) -T @$(Host))$(Host!-name @localhost -T @localhost) -e $(Host?tpope host ssh $(Host) -t) screen -dRR $[HOST] ';; ???://*|????://*|?????://*|www.*)' exec $(Host?ssh -X $(Host)) sensible-browser '$(Program)' ';; *)' exec $(Host?ssh -X $(Host)) '$(Program)' ';;' esac \
) > ${FVWM_USERDIR}/.FvwmForm-RunLast
*FvwmForm-Run: Button quit "In Terminal" ^J
*FvwmForm-Run: Command Exec exec x-terminal-emulator $(Host?-ut) -name $(Host?ssh@$(Host)) $(Host!localhost) -T $(Host?ssh@$(Host)) $(Host!localhost) -e $(Host?ssh -Xt $(Host)) $(Program)
# Before saving the data, remove any previously saved data:
*FvwmForm-Run: Command DestroyModuleConfig FvwmForm-RunDefault: *
*FvwmForm-Run: Command !( /bin/echo \
"# This file last created by FvwmForm-Run on: `/bin/date`."; /bin/echo \
'*FvwmForm-RunDefault: Program $(Program)' ; /bin/echo \
) > ${FVWM_USERDIR}/.FvwmForm-Run
*FvwmForm-Run: Command !( /bin/echo \
"# This file last created by FvwmForm-Run on: `/bin/date`."; /bin/echo \
Exec exec x-terminal-emulator $(Host?-ut) -name $(Host?ssh@$(Host)) $(Host!localhost) -T $(Host?ssh@$(Host)) $(Host!localhost) -e $(Host?ssh -Xt $(Host)) '$(Program)' \
) > ${FVWM_USERDIR}/.FvwmForm-RunLast
*FvwmForm-Run: Button restart "Reset" F3
*FvwmForm-Run: Button quit "Cancel" ^[
*FvwmForm-Run: Command Nop
# Tell FvwmForm to read vars from the .FvwmForm-RunDefault file:
*FvwmForm-Run: UseData .FvwmForm-Run *FvwmForm-RunDefault
# }}}2
# }}}1
# Other Config Files {{{1
Read /etc/X11/fvwm/menudefs.hook Quiet
Read menudefs.hook Quiet
Read fvwm2rc.local Quiet
# }}}1
Jump to Line
Something went wrong with that request. Please try again.