# # .fvwm2rc95 example configuration file for fvwm95-2.0.41 # # localised by Matt Chapman (csuoq@csv.warwick.ac.uk) #========================================================================# # # Fonts - one for window titles, another for icons, and another for the menus # WindowFont -adobe-helvetica-bold-r-*-*-12-*-*-*-*-*-*-* IconFont fixed MenuFont -adobe-helvetica-medium-r-*-*-*-120-*-*-*-*-*-* # # Set the default window colors. The syntax is: # DefaultColors winforecolor winbackcolor titleforecolor titlebackcolor # where: # winbackcolor is the background (border) color of all windows, # including the menu windows # winforecolor is used for the menu text # titlebackcolor is the background color used for title bars of # non selected windows # titleforecolor is the color of the title text of non selected windows # DefaultColors Black #c3c3c3 #c3c3c3 grey51 # # Text and background color for the title bar of the active (selected) window # HilightColors White #000080 # # Text and background color for the title bar of sticky windows # StickyColors grey51 #60c080 # You can also use the Style command to set the colors of individual # title bars of some non-selected windows #Style "*" ForeColor #c3c3c3 #Style "*" BackColor grey51 #========================================================================# # # Set up the major operating modes # #Style "*" ClickToFocus # If we use the FvwmTaskBar we don't need the icons :-) # Style "..." Icon is also commented below. Style "*" NoIcon Style "*" MWMFunctions Style "*" HintOverride Style "*" MWMDecor OpaqueMoveSize 100 EdgeScroll 100 100 EdgeResistance 10000 0 # # RandomPlacement prevents user interaction while placing windows: # Style "*" RandomPlacement # # NoPPosition instructs fvwm to ignore the PPosition field in window # geometry hints. Emacs annoyingly sets PPosition to (0,0)! # Style "*" NoPPosition #========================================================================# # # Set the desk top size in units of physical screen size # DeskTopSize 3x2 #========================================================================# # # Module path and paths to the icons # ModulePath is a colon-separated list, just like regular unix PATH # ModulePath /home/csuoq/bin/Fvwm2 PixmapPath /home/csuoq/xpm:/home/csuoq/xpm/mini:/usr/local/include/X11/pixmaps IconPath /usr/local/include/X11/bitmaps #========================================================================# # 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. # # Default border and handle widths # Style "*" BorderWidth 5, HandleWidth 5 Style "Fvwm*" NoTitle, Sticky, WindowListSkip Style "Fvwm Pager" StaysOnTop, NoHandles Style "FvwmBanner" StaysOnTop Style "FvwmButtons" NoTitle, NoHandles, Sticky, WindowListSkip,BorderWidth 5 Style "*lock" NoTitle, NoHandles, Sticky, WindowListSkip Style "xbiff" NoTitle, Sticky, WindowListSkip # # Some mini-icons for the title bar # Style "*" TitleIcon mini-x2.xpm Style "*xterm*" TitleIcon mini-term.xpm Style "rxvt" TitleIcon mini-term.xpm Style "xcalc" TitleIcon mini-calc.xpm Style "xsession" TitleIcon mini-bx2.xpm Style "xv" TitleIcon mini-xv.xpm Style "Netscape" TitleIcon mini-nscape.xpm Style "xmag" TitleIcon mini-zoom.xpm Style "textedit" TitleIcon mini-edit.xpm Style "tkps" TitleIcon mini-run.xpm Style "Ghostview" TitleIcon mini-gv.xpm Style "Xcolorsel" TitleIcon mini-colors.xpm Style "IDL*" TitleIcon mini-zoom.xpm Style "xeyes" TitleIcon mini-eyes.xpm Style "*fm*" TitleIcon mini-filemgr.xpm # xman resource names Style "topBox" TitleIcon mini-book1.xpm Style "help" TitleIcon mini-book2.xpm Style "manualBrowser" TitleIcon mini-book2.xpm # xpaint resource names Style "xpaint" TitleIcon mini-paint.xpm Style "Canvas" TitleIcon mini-paint.xpm Style "fatbits" TitleIcon mini-paint.xpm Style "filebrowser" TitleIcon mini-paint.xpm # # Stuff to do at start-up # AddToFunc "InitFunction" "I" Exec xsetroot -solid cyan4 & #+ "I" Module FvwmBanner + "I" Module FvwmButtons + "I" Module FvwmTaskBar + "I" Module FvwmAuto 500 #+ "I" Module FvwmPager 0 3 AddToFunc "RestartFunction" "I" Module FvwmButtons + "I" Module FvwmTaskBar + "I" Module FvwmAuto 500 #+ "I" Module FvwmPager 0 3 #========================================================================# # 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 full maximize if # you double click # AddToFunc "Move-or-Raise" "M" Move + "M" Raise + "C" Raise + "D" Maximize 100 100 # # 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 # AddToFunc "Move-or-Lower" "M" Move + "M" Lower + "C" Lower + "D" RaiseLower # # This one moves or (de)iconifies: # AddToFunc "Move-or-Iconify" "M" Move + "D" Iconify # # 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 # AddToFunc "Resize-or-Raise" "M" Resize + "M" Raise + "C" Raise + "D" RaiseLower #========================================================================# # # Now define the menus - defer bindings until later # # This is for the Start menu of the FvwmTaskBar AddToMenu "StartMenu" + "New shell %mini-sh1.xpm%" Exec mxterm -ls -sb -fn 8x13 & + "Manual pages %mini-book1.xpm%" Exec xman & + "Magnifying glass %mini-zoom.xpm%" Exec xmag & + "Applications %mini-x2.xpm%" Popup Applications + "Games %mini-happy.xpm%" Popup Games + "" Nop + "Lock Screen %mini-lock.xpm%" Exec xlock & + "Refresh Screen %mini-ray.xpm%" Refresh + "" Nop + "Exit Fvwm %mini-stop.xpm%" Popup Quit-Verify AddToMenu "Shells" "Shells" Title + "Xterm (7x14 font)%mini-term.xpm%" Exec xterm -sb -sl 500 -j -ls -fn 7x14 + "Color Xterm (7x14 font)%mini-term.xpm%" Exec mxterm -sb -sl 500 -j -ls -fn 7x14 -fb 7x14bold -title "Color xterm" + "Color Xterm (8x13 font)%mini-term.xpm%" Exec mxterm -sb -sl 500 -j -ls -fn 8x13 -title "Color xterm" + "" Nop + "Large Xterm (10x20 font)%mini-term.xpm%" Exec xterm -sb -sl 500 -j -ls -fn 10x20 + "Large Color Xterm (10x20 font)%mini-term.xpm%" Exec mxterm -sb -sl 500 -j -ls -fn 10x20 AddToMenu "Screensaver" "Screensaver" Title + "Bat%mini-bball.xpm%" Exec xlock -nolock -nice 0 -mode bat + "Blank%mini-bball.xpm%" Exec xlock -nolock -nice 0 -mode blank + "Blot%mini-bball.xpm%" Exec xlock -nolock -nice 0 -mode blot + "Bounce%mini-bball.xpm%" Exec xlock -nolock -nice 0 -mode bounce + "Flame%mini-bball.xpm%" Exec xlock -nolock -nice 0 -mode flame + "Galaxy%mini-bball.xpm%" Exec xlock -nolock -nice 0 -mode galaxy + "Grav%mini-bball.xpm%" Exec xlock -nolock -nice 0 -mode grav + "Helix%mini-bball.xpm%" Exec xlock -nolock -nice 0 -mode helix + "Hop%mini-bball.xpm%" Exec xlock -nolock -nice 0 -mode hop + "Hyper%mini-bball.xpm%" Exec xlock -nolock -nice 0 -mode hyper + "Kaleid%mini-bball.xpm%" Exec xlock -nolock -nice 0 -mode kaleid + "Life%mini-bball.xpm%" Exec xlock -nolock -nice 0 -mode life + "Life3d%mini-bball.xpm%" Exec xlock -nolock -nice 0 -mode life3d + "Maze%mini-bball.xpm%" Exec xlock -nolock -nice 0 -mode maze + "Pyro%mini-bball.xpm%" Exec xlock -nolock -nice 0 -mode pyro + "Qix%mini-bball.xpm%" Exec xlock -nolock -nice 0 -mode qix + "Random%mini-bball.xpm%" Exec xlock -nolock -nice 0 -mode random + "Rect%mini-bball.xpm%" Exec xlock -nolock -nice 0 -mode rect + "Rock%mini-bball.xpm%" Exec xlock -nolock -nice 0 -mode rock + "Rotor%mini-bball.xpm%" Exec xlock -nolock -nice 0 -mode rotor + "Sphere%mini-bball.xpm%" Exec xlock -nolock -nice 0 -mode sphere + "Spline%mini-bball.xpm%" Exec xlock -nolock -nice 0 -mode spline + "Swarm%mini-bball.xpm%" Exec xlock -nolock -nice 0 -mode swarm + "Wator%mini-bball.xpm%" Exec xlock -nolock -nice 0 -mode wator + "Worm%mini-bball.xpm%" Exec xlock -nolock -nice 0 -mode worm + "World%mini-bball.xpm%" Exec xlock -nolock -nice 0 -mode world AddToMenu "Screenlock" "Lock Screen" Title + "Bat%mini-rball.xpm%" Exec xlock -nice 0 -mode bat + "Blank%mini-rball.xpm%" Exec xlock -nice 0 -mode blank + "Blot%mini-rball.xpm%" Exec xlock -nice 0 -mode blot + "Bounce%mini-rball.xpm%" Exec xlock -nice 0 -mode bounce + "Flame%mini-rball.xpm%" Exec xlock -nice 0 -mode flame + "Galaxy%mini-rball.xpm%" Exec xlock -nice 0 -mode galaxy + "Grav%mini-rball.xpm%" Exec xlock -nice 0 -mode grav + "Helix%mini-rball.xpm%" Exec xlock -nice 0 -mode helix + "Hop%mini-rball.xpm%" Exec xlock -nice 0 -mode hop + "Hyper%mini-rball.xpm%" Exec xlock -nice 0 -mode hyper + "Kaleid%mini-rball.xpm%" Exec xlock -nice 0 -mode kaleid + "Life%mini-rball.xpm%" Exec xlock -nice 0 -mode life + "Life3d%mini-rball.xpm%" Exec xlock -nice 0 -mode life3d + "Maze%mini-rball.xpm%" Exec xlock -nice 0 -mode maze + "Pyro%mini-rball.xpm%" Exec xlock -nice 0 -mode pyro + "Qix%mini-rball.xpm%" Exec xlock -nice 0 -mode qix + "Random%mini-rball.xpm%" Exec xlock -nice 0 -mode random + "Rect%mini-rball.xpm%" Exec xlock -nice 0 -mode rect + "Rock%mini-rball.xpm%" Exec xlock -nice 0 -mode rock + "Rotor%mini-rball.xpm%" Exec xlock -nice 0 -mode rotor + "Sphere%mini-rball.xpm%" Exec xlock -nice 0 -mode sphere + "Spline%mini-rball.xpm%" Exec xlock -nice 0 -mode spline + "Swarm%mini-rball.xpm%" Exec xlock -nice 0 -mode swarm + "Wator%mini-rball.xpm%" Exec xlock -nice 0 -mode wator + "Worm%mini-rball.xpm%" Exec xlock -nice 0 -mode worm + "World%mini-rball.xpm%" Exec xlock -nice 0 -mode world AddToMenu "Games" "Games" Title + "Maze%mini-maze.xpm%" Exec maze & + "Spider" Exec exec spider & + "Xboard%mini-slon.xpm%" Exec xboard & + "Xeyes%mini-eyes.xpm%" Exec xeyes & + "Xlogo%mini-bx2.xpm%" Exec xlogo & + "Xroach" Exec exec xroach & + "Xtetris%mini-tetris.xpm%" Exec xtetris & + "Xvier" Exec exec xvier & AddToMenu "Applications" "Applications" Title + "Ghostview%mini-gv.xpm%" Exec ghostview & + "Xview%mini-xv.xpm%" Exec xv & + "Textedit%mini-edit.xpm%" Exec textedit -geometry 630x490+95+5 & + "Xedit%mini-edit.xpm%" Exec xedit & + "Xpaint%mini-paint.xpm%" Exec xpaint & + "Xgrab%mini-camera.xpm%" Exec xgrab & + "Xcolormap%mini-colors.xpm%" Exec colormap & + "Xxgdb%mini-bug2.xpm%" Exec xxgdb & # # This menu is invoked as a sub-menu - it allows you to quit, # restart, or switch to another WM. # AddToMenu "Quit-Verify" "Really Quit Fvwm?" Title + "Restart%mini-turn.xpm%" Restart fvwm95-2 + "" Nop + "Start fvwm%mini-olwm.xpm%" Restart fvwm + "Start fvwm2%mini-olwm.xpm%" Restart fvwm2 + "" Nop + "Yes, Really Quit%mini-exclam.xpm%" Quit + "No, Don't Quit%mini-cross.xpm%" Nop # # Provides a list of modules to fire off # AddToMenu "Module-Popup" "Modules" Title + "Buttons" Module FvwmButtons + "Clean-Up%mini-pencil.xpm%" Module FvwmClean + "Task bar" Module FvwmTaskBar + "Identify%mini-question.xpm%" Module FvwmIdent + "Save Desktop" Module FvwmSave + "Debug%mini-bug2.xpm%" Module FvwmDebug + "Pager" Module FvwmPager 0 3 + "Window List%mini-windows.xpm%" Module FvwmWinList + "Talk" Module FvwmTalk + "Configure%mini-hammer.xpm%" Module FvwmConfig # # This menu will fire up some very common utilities # AddToMenu "Utilities" "Utilities" Title + "Calculator%mini-calc.xpm%" Exec xcalc & + "Manual pages%mini-book1.xpm%" Exec xman & + "Magnifying glass%mini-zoom.xpm%" Exec xmag & + "Oclock%mini-clock.xpm%" Exec oclock & + "" Nop + "Applications%mini-x2.xpm%" Popup Applications + "Shells%mini-term.xpm" Popup Shells + "Games%mini-happy.xpm%" Popup Games + "" Nop + "Screensaver%mini-display.xpm%" Popup Screensaver + "Lock Screen%mini-lock.xpm%" Popup Screenlock + "" Nop + "Modules%mini-modules.xpm%" Popup Module-Popup + "" Nop + "Refresh Screen%mini-ray.xpm%" Refresh + "" Nop + "Exit Fvwm%mini-stop.xpm%" Popup Quit-Verify # # This defines the most common window operations # AddToMenu "Window" "Window Ops" Title + "&Move" Function Move-or-Raise + "&Resize" Function Resize-or-Raise + "R&aise%mini-raise.xpm%" Raise + "&Lower%mini-lower.xpm%" Lower + "(De)Iconify" Iconify + "(Un)Stick" Stick + "(Un)Maximize" Maximize 100 100 + "" Nop + "Kill" Destroy + "&Close" Delete + "" Nop + "Switch to..." WindowList + "Refresh Screen%mini-ray.xpm%" Refresh # # A trimmed down version of "Window Ops", good for binding to decorations # AddToMenu "Window-Ops2" "&Restore" Iconify -1 + "&Move" Move-or-Raise + "&Size" Resize-or-Raise + "Mi&nimize" Iconify 1 + "Ma&ximize" Maximize 100 100 + "" Nop + "&Kill" Destroy + "&Close Alt+F4" Delete #========================================================================# # # One more complex function - couldn't be defined earlier because it used # pop-up menus # # This creates the "system" menu for the title-bar window-ops # pop-up # AddToFunc "window_ops_func" "C" PopUp Window-Ops2 + "M" PopUp Window-Ops2 + "D" Delete #========================================================================# # # 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 (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 "Utilities" Nop Mouse 2 R A Menu "Window Ops" Nop Mouse 3 R A WindowList #Mouse 3 R A Module "winlist" FvwmWinList transient # Now the title bar buttons # Any button in the left title-bar button gives the window ops menu # Any button in the first right title-bar button Iconifies the window # Any button in the second title-bar button full-maximizes # Any button in the third (rightmost) title-bar button closes # Note the use of "Mouse 0" for AnyButton. # Button Context Modif Function Mouse 0 1 A Function "window_ops_func" Mouse 1 2 A Delete Mouse 0 4 A Maximize 100 100 Mouse 0 6 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 F A Function "Resize-or-Raise" # Button 1 in the title, sides, or icon, w/ any modifiers, gives move or raise Mouse 1 TS 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 #========================================================================# # 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 "Utilities" 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 Key Tab A M Prev Focus Key Tab A MS Next Focus Key Escape A C WindowList #========================================================================# # Definitions used by the modules #------------------ Pager *FvwmPagerBack grey60 *FvwmPagerFore black *FvwmPagerFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* *FvwmPagerHilight #c3c3c3 *FvwmPagerGeometry -1-1 *FvwmPagerLabel 0 Desktop *FvwmPagerSmallFont 5x8 #------------------ FvwmButtons *FvwmButtonsFore Black *FvwmButtonsBack #c3c3c3 *FvwmButtonsFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* # Geometry - really likes to pick its own size, but giving a position is OK *FvwmButtonsGeometry -1-34 # Layout: specify rows or columns, not both *FvwmButtonsRows 1 # Define the buttons to use..... *FvwmButtons xclock clock.xpm Swallow "xclock" Exec xclock -bg \#c3c3c3 -geometry -1500-1500 -padding 0 & *GoodStuff xcmap NULL Swallow "xcmap" xcmap -geometry -1500-1500 *FvwmButtons (2x1) load NULL Swallow "xload" Exec nice -16 xload -nolabel -bg grey60 -update 5 -geometry -1500-1500 *FvwmButtons xterm rterm.xpm Exec "xterm" mxterm -ls -sb -fn 8x13 -title "xterm" *FvwmButtons nedit xedit.xpm Exec "nedit" nedit *FvwmButtons xcalc rcalc.xpm Exec "Calculator" xcalc *FvwmButtons netscape N2.xpm Exec "Netscape" netscape -geometry 920x650+90+5 *FvwmButtons kill rbomb.xpm Destroy *FvwmButtons (2x1,Swallow "FvwmPager" `FvwmPager 0 0`) #------------------ NoClutter *FvwmNoClutter 3600 Iconify 1 *FvwmNoClutter 86400 Delete *FvwmNoCLutter 172800 Destroy #------------------ Identify *FvwmIdentBack #000080 *FvwmIdentFore Yellow *FvwmIdentFont -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-*-* #------------------ FvwmWinList *FvwmWinListBack #c3c3c3 *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 #------------------ FvwmTaskBar Style "FvwmTaskBar" NoTitle,BorderWidth 4,HandleWidth 4,Sticky,StaysOnTop,WindowListSkip,CirculateSkip *FvwmTaskBarGeometry +0-0 *FvwmTaskBarFore Black *FvwmTaskBarBack #c3c3c3 *FvwmTaskBarFont -adobe-helvetica-medium-r-*-*-*-120-*-*-*-*-*-* *FvwmTaskBarSelFont -adobe-helvetica-bold-r-*-*-*-120-*-*-*-*-*-* *FvwmTaskBarAction Click1 Iconify -1,Raise,Focus *FvwmTaskBarAction Click2 Iconify *FvwmTaskBarAction Click3 Module "FvwmIdent" FvwmIdent *FvwmTaskBarUseSkipList *FvwmTaskBarAutoStick *FvwmTaskBarStartName Start *FvwmTaskBarStartMenu StartMenu *FvwmTaskBarStartIcon mini-exp.xpm