StdForeColor forestgreen StdBackColor darkslategrey HiForeColor Red HiBackColor darkslategrey ############################################################################ Font fixed WindowFont fixed IconFont fixed ClickToFocus IconBox -70 1 -1 -140 MWMDecorHints OpaqueMove 0 EdgeScroll 100 100 EdgeResistance 250 50 RandomPlacement SmartPlacement StubbornPlacement NoPPosition DeskTopSize 1x1 DeskTopScale 32 ModulePath /usr/lib/X11/fvwm PixmapPath /usr/include/X11/pixmaps/ IconPath /usr/include/X11/bitmaps/ # change the default width. Style "*" BorderWidth 5, HandleWidth 5, Icon unknown1.xpm Style "Fvwm*" NoTitle, NoHandles, Sticky, WindowListSkip, BorderWidth 0 # Style "Fvwm Pager" StaysOnTop # Style "FvwmPager" StaysOnTop Style "FvwmBanner" StaysOnTop Style "GoodStuff" NoTitle, NoHandles, Sticky, WindowListSkip, BorderWidth 0, CirculateSkip Style "*lock" NoTitle, NoHandles, Sticky, WindowListSkip, BorderWidth 0, CirculateSkip Style "xbiff" NoTitle, NoHandles, Sticky, WindowListSkip, BorderWidth 0, CirculateSkip Style "Maker" StartsOnDesk 1 Style "matlab" StartsOnDesk 3 Style "signal" StartsOnDesk 3 Style "rxvt" Icon term.xpm Style "xterm" Icon xterm.xpm Style "Console" Icon xterm.xpm Style "xterm_color" Icon xterm.xpm Style "Appointment" Icon datebook.xpm, NoButton 2, NoButton 4 Style "xcalc" Icon xcalc.xpm, NoButton 2 Style "xbiff" Icon mail1.xpm, NoButton 2 Style "xmh" Icon mail1.xpm, StartsOnDesk 2, NoButton 2 Style "xman" Icon xman.xpm Style "xvgr" Icon graphs.xpm Style "matlab" Icon math4.xpm Style "xmag" Icon mag_glass.xpm Style "xgraph" Icon graphs.xpm Style "GoodStuff" Icon toolbox.xpm # Change the Maximize and iconify buttons to up and down triangles. #ButtonStyle : 2 4 50x35@1 65x65@0 35x65@0 50x35@1 #ButtonStyle : 4 4 50x65@1 35x35@1 65x35@1 50x65@0 ButtonStyle 2 20x20 ButtonStyle 4 50x50 # Stuff to do at start-up Function "InitFunction" # Module "I" GoodStuff # Module "I" FvwmPager 0 0 Desk "I" 0 0 EndFunction Function "RestartFunction" # Exec "I" xsetroot -solid "#266294" # Module "I" GoodStuff # Module "I" FvwmPager 0 0 EndFunction ############################################################################ # Now define some handy complex functions # This one moves and then raises the window if you drag the mouse, # only raises the window if you click, or does a RaiseLower if you double # click Function "Move-or-Raise" Move "Motion" Raise "Click" EndFunction # This one maximizes vertically if you click (leaving room for the GoodStuff bar at the # bottom, or does a full maximization if you double click, or a true full vertical # maximization if you just hold the mouse button down. Function "maximize_func" Maximize "Motion" 0 100 Maximize "Click" 0 80 Maximize "DoubleClick" 100 100 EndFunction # This one moves and then lowers the window if you drag the mouse, # only lowers the window if you click, or does a RaiseLower if you double # click Function "Move-or-Lower" Move "Motion" Lower "Motion" Lower "Click" RaiseLower "DoubleClick" EndFunction # This one moves or (de)iconifies: Function "Move-or-Iconify" Move "Motion" Iconify "Click" EndFunction # This one resizes and then raises the window if you drag the mouse, # only raises the window if you click, or does a RaiseLower if you double # click Function "Resize-or-Raise" Resize "Motion" Raise "Motion" Raise "Click" RaiseLower "DoubleClick" EndFunction # This is provided as a hint only. # Move to a known page on the desktop, then start an application in a # known location. Could also switch to a known desktop, I guess #Function "abs_coord" # GoToPage "Immediate" 1,1 # Exec "Immediate" exec xcalc -geometry +100+100& #EndFunction ############################################################################## #now define the menus - defer bindings until later # This menu is invoked as a sub-menu - it allows you to quit, # restart, or switch to another WM. Popup "Quit-Verify" Title "Really Quit Fvwm?" Quit "Yes, Really Quit" Restart "Restart Fvwm" fvwm Nop "" Nop "No, Don't Quit" EndPopup # This defines the most common window operations Popup "Window Ops" Title "Window Ops" Function "Move" Move-or-Raise Function "Resize" Resize-or-Raise Raise "Raise" Lower "Lower" Iconify "(De)Iconify" Stick "(Un)Stick" Function "(Un)Maximize" maximize_func Nop "" Close "Close" Nop "" Refresh "Refresh Screen" EndPopup # A trimmed down version of "Window Ops", good for binding to decorations Popup "Window Ops2" Function "Move" Move-or-Raise Function "Resize" Resize-or-Raise Raise "Raise" Lower "Lower" Iconify "Iconify" Stick "(Un)Stick" Nop "" Close "Close" Nop "" Module "ScrollBar" FvwmScroll 2 2 EndPopup ############################################################################# # but if you click instead, the menu stays up, motif style Function "window_ops_func" PopUp "Click" Window Ops2 PopUp "Motion" Window Ops2 # Motif would add: # I'll add it too, it can be mighty handy. Close "DoubleClick" EndFunction ############################################################################## # This defines the mouse bindings # Button Context Modifi Function Mouse 1 R A WindowList Mouse 2 R A WindowList # Now the title bar buttons # Any button in the left title-bar button gives the window ops menu # Any button in the right title-bar button Iconifies the window # Any button in the rightmost title-bar button maximizes # Note the use of "Mouse 0" for AnyButton. # Button Context Modifi Function #Mouse 0 1 A Function "window_ops_func" #Mouse 0 2 A Function "maximize_func" #Mouse 0 4 A Iconify Mouse 0 1 A Function "window_ops_func" Mouse 1 2 A Iconify Mouse 3 2 A Destroy Mouse 1 4 A Maximize 0 100 Mouse 3 4 A Maximize 100 100 # Now the rest of the frame # Here I invoke my complex functions for Move-or-lower, Move-or-raise, # and Resize-or-Raise. # Button 1 in the corner pieces, with any modifiers, gives resize or raise #Mouse 1 F A Function "Resize-or-Raise" Mouse 1 FS A Resize # Button 1 in the title, sides, or icon, w/ any modifiers, gives move or raise #Mouse 1 TS A Function "Move-or-Raise" Mouse 1 T A Function "Move-or-Raise" # Button 1 in an icons gives move for a drag, de-iconify for a double-click, # nothing for a single click # Button 2 in an icon, w/ any modifiers, gives de-iconify Mouse 1 I A Function "Move-or-Iconify" Mouse 2 I A Iconify # Button 2 in the corners, sides, or title-bar gives the window ops menu Mouse 2 FST A Function "window_ops_func" # Button 3 anywhere in the decoration (except the title-bar buttons) # does a raise-lower Mouse 3 TSIF A RaiseLower # Button 3 in the window, with the Modifier-1 key (usually alt or diamond) # gives Raise-Lower. Used to use control here, but that interferes with xterm #Mouse 3 W M RaiseLower Mouse 1 W M RaiseLower Mouse 2 W M Move Mouse 3 W M Resize ############################################################################ # Now some keyboard shortcuts. # Arrow Keys # press arrow + control anywhere, and scroll by 1 page #Key Left A C Scroll -100 0 #Key Right A C Scroll +100 +0 #Key Up A C Scroll +0 -100 #Key Down A C Scroll +0 +100 # press arrow + meta key, and scroll by 1/10 of a page #Key Left A M Scroll -10 +0 #Key Right A M Scroll +10 +0 #Key Up A M Scroll +0 -10 #Key Down A M Scroll +0 +10 # press shift arrow + control anywhere, and move the pointer by 1% of a page #Key Left A SC CursorMove -1 0 #Key Right A SC CursorMove +1 +0 #Key Up A SC CursorMove +0 -1 #Key Down A SC CursorMove +0 +1 # press shift arrow + meta key, and move the pointer by 1/10 of a page #Key Left A SM CursorMove -10 +0 #Key Right A SM CursorMove +10 +0 #Key Up A SM CursorMove +0 -10 #Key Down A SM CursorMove +0 +10 # Keyboard accelerators #Key F1 A M CirculateUp #Key F1 A M Popup "Utilities" #Key F2 A M Popup "Window Ops" #Key F3 A M Module "WindowList" FvwmWinList #Key F4 A M Iconify #Key F5 A M Move #Key F6 A M Resize #Key F7 A M CirculateUp #Key F8 A M CirculateDown #Page Up/Dapge Down keys are used to scroll by one desktop page # in any context, press page up/down + control # in root context, just pressing page up/down is OK # # I prefer the non-wrapping scroll. These are for example purposes only #Key Next A C Scroll 100000 0 #Key Next R N Scroll 100000 0 #Key Prior A C Scroll -100000 0 #Key Prior R N Scroll -100000 0