# If you use this, you should either compile with # -DMENU_HOTKEYS, or you should remove the & from the # menu item labels # # Use of -DWINDOWLIST_HOTKEYS is recommended, but not # required. ############################################################################# # # Here's the start of an MWM like configuration. Perhaps some mwm fans can # fix this up a little, and mail the changes to me: # nation@rocket.sanders.lockheed.com # ########################################################################### # set up the colors # # this is used for non-selected windows, menus, and the panner StdForeColor Black StdBackColor #d3d3d3 # this is used for the selected window HiForeColor Black HiBackColor #5f9ea0 PagerBackColor #5c54c0 PagerForeColor orchid # these are used for unselected sticky windows StickyForeColor Black StickyBackColor #60c0a0 ############################################################################ # Now the fonts - one for menus/icons, another for window titles Font fixed WindowFont fixed PagerFont 5x8 ########################################################################### # Set up the major operating modes # ############################################################################# # Use inferior motif-like everything # Wimpy shallow chiselling on decorations MWMBorders # Only shows title-bar buttons depressed, reverses patern style on far # right button when maximized MWMButtons # MWM - style (look and feel) menus MWMMenus DecorateTransients # Set windows to auto-raise after 750 milliseconds #AutoRaise 750 # Normally, we'll be in focus-follows mouse mode, but uncomment this # for mwm-style click-to-focus ClickToFocus # Auto Place Icons is a nice feature.... IconBox 5 -80 -140 -5 IconBox 5 -160 -140 -85 IconBox 5 -240 -140 -165 IconBox 5 -320 -140 -245 # If you uncomment this, and make sure that the WindowList is bound to # something, it works pretty much like an icon manager. #SuppressIcons # If you don't like the default 150 msec click delay for the complex functions # change this and uncomment it. #ClickTime 150 BoundaryWidth 10 NoBoundaryWidth 5 ButtonStyle 1 50x22 ButtonStyle 2 50x50 ButtonStyle 4 22x22 ########################################################################### # Set up the virtual desktop and pager #set the desk top size in units of physical screen size DeskTopSize 3x3 # and the reduction scale used for the panner/pager DeskTopScale 32 # Use the Fvwm Pager Pager -5 -5 #The pager is automatically sticky, but I like it to StayOnTop StaysOnTop Fvwm Pager # flip by whole pages on the edge of the screen. EdgeScroll 100 100 # A modest delay before flipping pages seems to be nice... # I thresh in a 50 pixel Move-resistance too, just so people # can try it out. EdgeResistance 250 50 RandomPlacement ############################################################################ # list the windows that don't want a title bar NoTitle xclock NoTitle xdclock NoTitle Clock NoBorder Clock NoTitle xbiff ########################################################################### # Here's where I could list NoBorder windows that don't get frames. # If a window shows up with NoTitle and NoBorder, it gets no decorations # at all. # When windows are NoBordered, they look a bit like twm is handling them #NoBorder xterm ########################################################################## # now the windows that "Stick to the glass", ie don't scroll with the # desktop Sticky xclock Sticky xdclock Sticky oclock Sticky Clock Sticky xbiff ############################################################################ # now list windows that want to "stay on top," ie stay visible until # explicitly lowered # I got tired of this, except for the pager. #StaysOnTop xclock #StaysOnTop xdclock #StaysOnTop oclock #StaysOnTop Clock ############################################################################ # define some common icon bitmaps # These are the color icons. # Of course, you need to change the directory to the one where they # really live. PixmapPath /usr/include/X11/pixmaps/ IconPath /usr/include/X11/bitmaps/ #Icon "rxvt" term.xpm #Icon "xterm" xterm.xpm #Icon "Fvwm Pager" map.xpm #Icon "Appointment" datebook.xpm #Icon "xcalc" xcalc.xpm #Icon "xbiff" mail1.xpm #Icon "xman" xman.xpm #Icon "xvgr" graphs.xpm #Icon "matlab" math4.xpm #Icon "sppeed6" math4.xpm #Icon "sppeed6_user" math4.xpm #Icon "xmag" magnifying_glass2.xpm #Icon "" unknown1.xpm #Icon "xgraph" graphs.xpm # Here are some monchrome icon bitmaps that everyone should have Icon "rxvt" terminal Icon "xterm" Term # I have included a default.xbm in the fvwm_icons subdirectory Icon "" default.xbm ############################################################################## #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 Restart "Start twm " twm Restart "Start mwm " mwm Restart "Start olwm " /usr/openwin/bin/olwm Nop "" Nop "No, Don't Quit " EndPopup # This menu will fire up some very common utilities Popup "Utilities" Title "Utilities " Exec "Xterm " exec xterm & Exec "Rxvt " exec rxvt & Exec "Top " exec rxvt -T Top -n Top -e top & Exec "Calculator " exec xcalc & Exec "Xman " exec xman & Exec "Xmag " exec xmag & Nop "" Popup "Exit Fvwm " Quit-Verify EndPopup # This defines the most common window operations Popup "Window Ops" Title "Window Ops " Move "&Move Alt+F7" Resize "&Size Alt+F8" Lower "&Lower Alt+F3" Raise "Raise " Stick "(Un)Stick " Iconify "(Un)Mi&nimize Alt+F9" Maximize "(Un)Ma&ximize Alt+F10" Maximize "(Un)Maximize Vertical " 0 100 Nop "" Delete "&Close Alt+F4" Destroy "&Kill! " EndPopup Popup "Window Ops2" Move "&Move Alt+F7" Resize "&Size Alt+F8" Iconify "(Un)Mi&nimize Alt+F9" Maximize "(Un)Ma&ximize Alt+F10" Lower "&Lower Alt+F3" Nop "" Delete "&Close Alt+F4" EndPopup Function "Iconify-and-Raise" Iconify "Motion" Raise "Motion" EndPopup ############################################################################ # Now define some handy complex functions # 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 Function "Move-or-Iconify" Move "Motion" PopUp "Click" Window Ops2 Iconify "DoubleClick" EndFunction Function "windowops-or-die" PopUp "Motion" Window Ops2 PopUp "Click" Window Ops2 Delete "DoubleClick" Destroy "DoubleClick" EndFunction Function "Move-or-Raise" Move "Motion" Raise "Motion" Raise "Click" RaiseLower "DoubleClick" EndFunction Function "Move-or-Lower" Move "Motion" Lower "Click" RaiseLower "DoubleClick" EndFunction Function "Resize-or-Raise" Resize "Motion" Raise "Motion" Raise "Click" RaiseLower "DoubleClick" EndFunction Function "Resize-or-Lower" Resize "Motion" Lower "Click" RaiseLower "DoubleClick" EndFunction ############################################################################## # This defines the mouse bindings # First, for the mouse in the root window # Button 1 gives the Utilities menu # Button 2 gives the Window Ops menu # Button 3 gives the WindowList (like TwmWindows) # I use the AnyModifier option for the modifier field, so you can hold down # any shift-control-whatever combination you want! # Button Context Modifi Function Mouse 1 R A PopUp "Utilities" Mouse 2 R A PopUp "Window Ops" Mouse 3 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 # Note the use of "Mouse 0" for AnyButton. # Button Context Modifi Function Mouse 0 1 A Function "windowops-or-die" Mouse 0 2 A Maximize Mouse 0 4 A Iconify # 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 FS A Function "Resize-or-Raise" Mouse 2 FS A Function "Resize-or-Lower" Mouse 1 T A Function "Move-or-Raise" Mouse 2 T A Function "Move-or-Lower" Mouse 1 I A Function "Move-or-Iconify" Mouse 2 I A Function "Move-or-Iconify" Mouse 3 I A PopUp "Window Ops2" Mouse 3 FST A Function "windowops-or-die" ############################################################################ # 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 Popup "Window Ops" Key F2 A M Popup "Utilities" Key F3 A M Lower Key F4 A M Destroy Key F5 A M CirculateUp Key F6 A M CirculateDown Key F7 A M Move Key F8 A M Resize Key F9 A M Iconify Key F10 A M Maximize #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 # Useful olwm type things for Sun keyboards. Key L5 IW N RaiseLower Key L5 IW S Lower Key L5 IW C Raise Key L7 IW A Iconify