########################################################################### # set up the colors # # Set the foreground and background color for selected windows HilightColor gold paleturquoise4 # default colours for non-selected windows Style "*" Color Gold3/Turquoise4 # Menu stuff # Set the foreground, background and stipple color and font for menus MenuStyle Black PaleTurquoise3 SlateGrey -adobe-times-bold-r-*-*-14-*-*-*-*-*-*-* mwm # The font used in the window title bars. WindowFont -adobe-helvetica-bold-o-*-*-14-*-*-*-*-*-*-* # Font used to title icons with IconFont -adobe-helvetica-bold-r-*-*-12-*-*-*-*-*-*-* ######################## ICON STUFF ############################## # Where to place icons Style "*" IconBox 0 0 +150 -1 # Icons follow you around the desktops (Sticky) Style "*" StickyIcon ######################## MWM EMULATION ####################### # # My feeling is that everyone should use MWMDecorHints and MWMFunctionHints, # since some applications depend on having the window manager respect them # MWMFunction hints parses the function information in the MOTIF_WM_HINTS # property, and prohibits use of these functions on the window. Appropriate # portions of the window decorations are removed. Style "*" MWMFunctions # MWM is kinda picky about what can be done to transients, and it was keeping # me from iconifying some windows that I like to iconify, so here's an # over-ride that will allow me to do the operation, even tough the menu # item is shaded out. Style "*" HintOverride # MWMDecor hints parses the decoration information in the MOTIF_WM_HINTS # property, and removes these decoratons from the window. This does not affect # the functions that can be performed via the menus. Style "*" MWMDecor # Maximize button does mwm-inversion thingy Style "*" MWMButtons ######################## MISCELLANEOUS STUFF ####################### # OpaqueMove has a number (N) attached to it (default 5). # if the window occupies less than N% of the screen, # then opaque move is used. 0 <= N <= 100 OpaqueMoveSize 20 # 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 1000 100 ######################## WINDOW PLACEMENT ####################### # SmartPlacement makes new windows pop-up in blank regions of screen # if possible, or falls back to random or interactive placement. Style "*" SmartPlacement, ActivePlacement # NoPPosition instructs fvwm to ignore the PPosition field in window # geometry hints. Emacs annoyingly sets PPosition to (0,0)! Style "*" NoPPosition ######################## DECORATIONS ####################### # If you want decorated transient windows, uncomment this: #Style "*" DecorateTransients ########################################################################### # Set up the virtual desktop and pager #set the desk top size in units of physical screen size DeskTopSize 3x3 ########################################################################## # Module path and paths to the icons # # ModulePath is a colon-separated list, just like regular unix PATH # It defaults to /usr/lib/X11/fvwm2, which should be fine ModulePath /usr/lib/X11/fvwm2/ PixmapPath /usr/include/X11/pixmaps:/home/ingo/pixmaps IconPath /usr/include/X11/bitmaps #################### FOCUS ########################### # Autoraise can sometimes obscure pop-up windows. AddToFunc "InitFunction" "I" Module FvwmAuto 600 AddToFunc "RestartFunction" "I" Module FvwmAuto 700 # Normally, we'll be in focus-follows mouse mode, but uncomment this # for mwm-style click-to-focus # ColormapFocus FollowsMouse # ClickToFocus #Style "*" SloppyFocus AddToFunc InitFunction "I" Module FvwmButtons #+ "I" Exec exec /usr/local/bin/rclock -geometry -1+0 & + "I" Exec exec xterm -title "solaris" & + "I" Exec /vol/mi/bin/xemacs -iconic & AddToFunc RestartFunction "I" Module FvwmButtons #+ "I" Exec exec /usr/local/bin/rclock -geometry -1+0 & ############################################################################ # Set the decoration styles and window options # Order is important!!!! # If compatible styles are set for a single window in multiple Style # commands, then the styles are ORed together. If conflicting styles # are set, the last one specified is used. # These commands should command before any menus or functions are defined, # and before the internal pager is started. # change the default width. Style "*" BorderWidth 5, HandleWidth 5,Icon unknown1.xpm Style "Fvwm*" NoTitle, NoHandles, Sticky, WindowListSkip,BorderWidth 0, CirculateSkip Style "FvwmPager" StaysOnTop, BorderWidth 5, Color #5c54c0/orchid Style "FvwmBanner" StaysOnTop Style "FvwmButtons" NoTitle, NoHandles, Sticky, WindowListSkip,BorderWidth 0 Style "*lock" NoTitle, NoHandles, Sticky, WindowListSkip Style "xbiff" NoTitle, NoHandles,Sticky, WindowListSkip,ClickToFocus Style "xload" NoTitle, NoHandles,Sticky, WindowListSkip,ClickToFocus Style "rxvt" Icon term.xpm Style "*Machine*" Icon dosemu.xpm Style "xterm" Icon xterm-sol.xpm, Style "*solaris*" Icon xterm-sol.xpm Style "*linux*" Icon xterm-linux.xpm Style "*emacs*" Icon emacs.xpm Style "xconsole" Icon xterm-sol.xpm Style "Appointment" Icon datebook.xpm, NoButton 2, NoButton 4 Style "xcalc" Icon xcalc.xpm, NoButton 2 Style "xcal" NoTitle, NoHandles, Sticky, WindowListSkip, CirculateSkip 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 "FvwmButtons" Icon toolbox.xpm # This next one will need to be changed when emacs gets upgraded... :( # 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 ############################################################################ # Now define some handy complex functions AddToFunc "RaiseLowerOrMove" "motion" Move + "click" RaiseLower AddToFunc "RaiseOrMove" "motion" Move + "click" Raise AddToFunc "LowerOrMove" "motion" Move + "click" Lower AddToFunc "IconifyOrMove" "motion" Move + "click" Iconify + "doubleclick" Iconify AddToFunc "DoubleClickIconify" "click" Iconify + "doubleclick" Iconify ############################################################################## # now define the menus # # Provides a list of modules to fire off AddToMenu "Module-Popup" "Modules" Title + "FvwmButtons" Module FvwmButtons + "Clean-Up" Module FvwmClean + "Identify" Module FvwmIdent + "SaveDesktop" Module FvwmSave + "Debug" Module FvwmDebug + "Backer" Module FvwmBacker + "Pager" Module FvwmPager 0 3 + "IconBox" Module FvwmIconBox + "IconMan" Module FvwmIconMan + "FvwmTalk" Module FvwmTalk + "FvwmWinList" Module FvwmWinList AddToMenu "Fvwm" "Fvwm" Title + "Iconify" Iconify + "Identify" Module FvwmIdent + "Maximize" Maximize + "Move" Move + "Resize" Resize + "Stick" Stick + "Raise" Raise + "Lower" Lower + "" Nop + "Kill" Destroy + "Delete" Delete + "" Nop + "Modules" Popup Module-Popup + "" Nop + "Screensaver" Exec exec xlock -nolock -mode random & + "Lock screen" Exec exec xlock -mode random & + "" Nop + "Refresh" Refresh + "Restart" Restart fvwm2 + "" Nop + "Exit fvwm" Exec /a/bin/fvwm-exit AddToMenu "Window" "Iconify" Iconify + "Maximize" Maximize + "Move" Move + "Resize" Resize + "Stick" Stick + "Raise" Raise + "Lower" Lower + "" Nop + "Kill" Destroy + "Delete" Delete AddToMenu "Applications" "Applications" Title + "xterm" Exec exec xterm -name "solaris" & + "" Nop + "Other Machines" Popup OtherMachines + "" Nop + "XEmacs" Exec exec /vol/mi/bin/xemacs & + "Netscape" Exec exec netscape & AddToMenu "OtherMachines" "Remote Logins" Title + "Pascal" Exec ssh -f pascal /usr/openwin/bin/xterm -name "solaris" -ls & + "Thales" Exec ssh -f thales /usr/openwin/bin/xterm -name "solaris" -ls & + "Euklid" Exec ssh -f euklid /usr/openwin/bin/xterm -name "solaris" -ls & + "Abel" Exec ssh -f abel /usr/openwin/bin/xterm -name "solaris" -ls & + "Taylor" Exec ssh -f taylor /usr/openwin/bin/xterm -name "solaris" -ls & + "Octopussy" Exec ssh -f octopussy /usr/openwin/bin/xterm -name "solaris" -ls & + "Poolserver" Exec ssh -f poolserver.informatik -l a2372622 /usr/local/bin/xterm -name "solaris" -ls & + "ElFi" Exec /usr/local/bin/ssh -f elfi /usr/X11R6/bin/xterm -name "linux" + "Grappa" Exec /usr/local/bin/ssh -f grappa /usr/X11R6/bin/xterm -name "linux" ############################################################################## # This defines the mouse bindings # First, for the mouse in the root window # Button 1 gives the Applications menu # Button 2 gives the Window Ops menu # Button 3 gives the WindowList (like TwmWindows) # I use the AnyModifier (A) 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 Menu "Applications" Nop Mouse 2 R A Menu "Fvwm" Nop 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 # Any button in the rightmost title-bar button maximizes # Note the use of "Mouse 0" for AnyButton. # Button Context Modifi Function Mouse 0 1 N Menu "Window" Nop Mouse 0 2 N Maximize Mouse 0 4 N Iconify # Mouse buttons with the Meta (alt) key down always apply, even _inside_ # the application's window. # (a) This is a little on the sneaky side: applications will never # get to see meta mouse clicks - but then I haven't yet found # one that does respond to them, other than emacs. # (b) Its a very fast way of working one you get used to it. Mouse 1 FSTW M Function "RaiseOrMove" Mouse 2 FSTWI M Iconify Mouse 3 FSTWI M Lower # Now the rest of the frame # Button 1 in the corner pieces, with any modifiers, gives resize # 2 in the corner pieces, with any modifiers, gives resize # 3 in the corner pieces, with any modifiers, will raise or lower it Mouse 1 F A Resize Mouse 2 F A Resize Mouse 3 F A RaiseLower # A click of button 1 on any of the sides will resize the window. # A click of button 2 on any of the sides will resize the window. # A click of button 3 on any of the sides will raise or lower it. Mouse 1 S N Resize Mouse 2 S N Resize Mouse 3 S N RaiseLower # A click of button 1 in the title bar will call "RaiseOrMove". # A click of button 2 in the title bar will call "LowerOrMove". # A click of button 3 in the title bar will raise or lower it. Mouse 1 T N Function "RaiseOrMove" Mouse 2 T N Function "LowerOrMove" Mouse 3 T N RaiseLower # A click of button 1 on an icon will call "IconifyOrMove". # A click of button 2 on an icon will call "IconifyOrMove". # A click of button 3 on an icon will raise or lower it. Mouse 1 I N Function "IconifyOrMove" Mouse 2 I N Function "IconifyOrMove" Mouse 3 I N RaiseLower ############################################################################ # Now some keyboard shortcuts. # Arrow Keys # press arrow + control anywhere, and scroll by 1 page Key Left A M Scroll -100 0 Key Right A M Scroll +100 +0 Key Up A M Scroll +0 -100 Key Down A M Scroll +0 +100 # Keyboard accelerators Key w A M Iconify Key F1 A M Maximize Key F2 A M Popup "Window" Key F3 A M Module "WindowList" FvwmWinList Key F4 A M Popup "Applications" #Key F5 A M Move #Key F6 A M Resize #Key F7 A M CirculateUp #Key F8 A M CirculateDown ############################################################################ #Definitions used by the modules ###################### button-bar ########################################## *FvwmButtonsFore Gold *FvwmButtonsBack paleturquoise4 *FvwmButtonsGeometry -1-1 *FvwmButtonsRows 2 *FvwmButtonsFont -adobe-helvetica-bold-r-*-*-12-*-*-*-*-*-*-* #*FvwmButtonsPadding 1 1 #*FvwmButtons(Title Resize,Icon resize.xpm ,Action Resize) #*FvwmButtons(Title Move ,Icon arrows2.xpm,Action Move ) #*FvwmButtons(Title Lower ,Icon Down ,Action Lower ) #*FvwmButtons(Title Raise ,Icon Up ,Action Raise ) #*FvwmButtons(Title Kill ,Icon bomb.xpm ,Action Destroy) *FvwmButtons XTerm xterm-sol.xpm Exec "" /usr/openwin/bin/xterm -name "solaris"& *FvwmButtons Thales xterm-sol.xpm Exec "" /usr/openwin/bin/xterm -name "solaris" -e ssh thales & *FvwmButtons Euklid xterm-sol.xpm Exec "" /usr/openwin/bin/xterm -name "solaris" -e ssh euklid & *FvwmButtons Grappa xterm-linux.xpm Exec "" ssh -f grappa /usr/X11R6/bin/xterm -ls -name "linux" & *FvwmButtons Pascal xterm-sol.xpm Exec "" /usr/openwin/bin/xterm -name "solaris" -e ssh pascal & *FvwmButtons Netscape netscape.xpm Exec "" netscape & *FvwmButtons Xemacs xemacs.xpm Action Exec "" /vol/mi/bin/xemacs & *FvwmButtons(1x1) - whatever Swallow "xbiff" Exec /usr/openwin/bin/xbiff -file $HOME/.mail -bg paleturquoise4 & *FvwmButtons(1x1) - whatever Swallow "xload" Exec /usr/openwin/bin/xload -bg paleturquoise4 -nolabel& *FvwmButtons(1x1) - whatever Swallow "xclock" Exec /usr/openwin/bin/xclock -update 1 -bg paleturquoise4 & *FvwmButtons(2x1) - whatever Swallow "FvwmPager" Module FvwmPager 0 0 ######################### No Clutter ######################################## # I only wrote NoClutter as a simple test case, but maybe some big sites like # universities really have usage problems (too many open windows).... # Time delays are in seconds. #*FvwmNoClutter 3600 Iconify 1 #*FvwmNoClutter 86400 Delete #*FvwmNoClutter 172800 Destroy ########################## Window-Identifier ############################### # Just choose colors and a fonts *FvwmIdentBack SeaGreen *FvwmIdentFore Yellow *FvwmIdentFont -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-*-* ########################### Pager ######################################### *FvwmPagerBack #5f9ea0 *FvwmPagerFore Black *FvwmPagerFont none *FvwmPagerHilight Black *FvwmPagerGeometry +5+5 *FvwmPagerSmallFont -*-times-medium-r-*-*-*-80-*-*-*-*-*-* *FvwmPagerDeskTopScale 60 #Module FvwmPager 0 0 ########################## Backer ##################################### # Set Up Backgrounds for different desktops. *FvwmBackerDesk 0 -solid grey40 *FvwmBackerDesk 1 -solid midnightblue *FvwmBackerDesk 2 -solid DarkOrchid4 *FvwmBackerDesk 3 xpmroot /usr/include/X11/pixmaps/world.xpm ##########################FvwmWinList################################## *FvwmWinListBack #908090 *FvwmWinListFore Black *FvwmWinListFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* *FvwmWinListAction Click1 Iconify -1,Focus *FvwmWinListAction Click2 Iconify *FvwmWinListAction Click3 Module "FvwmIdent" FvwmIdent *FvwmWinListUseSkipList *FvwmWinListGeometry +0-1