############################################################################ # Tenebrae's FVWM config file. # tenebrae@niceboots.com ############################################################################ # Fonts - one for window titles, another for icons, and another for the menus WindowFont -adobe-helvetica-bold-r-*-*-14-*-*-*-*-*-*-* IconFont fixed # Text and background color for the title bar of the active (selected) window HilightColor #ffe22d #011463 # Instead of colours, one might be able to set pixmaps?? Just have to # have something in my pixmap folder. # - MDM borderstyle inactive tiledpixmap darkbluebar.xpm borderstyle active tiledpixmap bluebar.xpm ButtonStyle 1 MiniIcon # You can also use the Style command to set the colors of individual # title bars of some non-selected windows Style "*" Title, Color Black/MidnightBlue # Set up the major operating modes Style "*" MouseFocus # If we use the FvwmTaskBar we don't need the icons :-) # Style "..." Icon are also commented below. Style "*" NoIcon Style "*" MWMFunctions Style "*" HintOverride Style "*" MWMDecor Style "*" DecorateTransient 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 # Set the decoration styles and window options # 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 "*" MiniIcon mini-x2.xpm Style "ETerm" MiniIcon mini-x.xpm Style "rxvt" MiniIcon mini-term.xpm Style "xcalc" MiniIcon mini-calc.xpm Style "xsession" MiniIcon mini-bx2.xpm Style "xv" MiniIcon mini-xv.xpm Style "Netscape" MiniIcon mini-netscape.xpm Style "xmag" MiniIcon mini-zoom.xpm Style "textedit" MiniIcon mini-edit.xpm Style "tkps" MiniIcon mini-run.xpm Style "Ghostview" MiniIcon mini-gv.xpm Style "Xcolorsel" MiniIcon mini-colors.xpm Style "IDL*" MiniIcon mini-zoom.xpm Style "xeyes" MiniIcon mini-eyes.xpm Style "*fm*" MiniIcon mini-filemgr.xpm Style "licq" MiniIcon mini-licq.xpm Style "Gimp" MiniIcon mini.gimp.xpm Style "xmcd" MiniIcon mini-cd.xpm Style "opera" MiniIcon opera_16x16.xpm # xman resource names Style "topBox" MiniIcon mini-book1.xpm Style "help" MiniIcon mini-book2.xpm Style "manualBrowser" MiniIcon mini-book2.xpm # xpaint resource names Style "xpaint" MiniIcon mini-paint.xpm Style "Canvas" MiniIcon mini-paint.xpm Style "fatbits" MiniIcon mini-paint.xpm Style "filebrowser" MiniIcon mini-ofolder.xpm Style "FvwmFile" MiniIcon mini-ofolder.xpm Style "XDbx" MiniIcon mini-bug2.xpm # Stuff to do at start-up AddToFunc "InitFunction" "I" Exec xv -quit -root -max /home/tenebrae/images/vpmback.jpg & + "I" Module FvwmButtons + "I" Module FvwmTaskBar AddToFunc "RestartFunction" "I" Module FvwmButtons + "I" Module FvwmTaskBar # 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 "Slut" + "New shell %mini-x.xpm%" Exec Eterm -g 80x35+2+3 -l -F 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 + "Eterm (7x14 font)%mini-x.xpm%" Exec Eterm -g 80x35+2+3 -L 500 -l -F 7x14 & + "MUD Eterm (8x13 font)%mini-x.xpm%" Exec Eterm -g 80x45+182+19 -L 5000 -l -P none -F 8x13 & + "Kterm (7x14 font)%mini-x.xpm%" Exec kterm -font 7x14 -ls & + "Color Rxvt (VT100)%mini-x.xpm%" Exec rxvt -font 7x14 -ls & + "Color Xterm (7x14 font)%mini-x.xpm%" Exec nxterm -sb -sl 500 -j -ls -fn 7x14 -fb 7x14bold -title "Color xterm" & + "Color Xterm (8x13 font)%mini-x.xpm%" Exec nxterm -sb -sl 500 -j -ls -fn 8x13 -title "Color xterm" & + "" Nop + "Large Xterm (10x20 font)%mini-term.xpm%" Exec nxterm -sb -sl 500 -j -ls -fn 10x20 & + "Large Rxvt (10x20 font)%mini-term.xpm%" Exec rxvt -font 10x20 -ls & + "Large Color Xterm (10x20 font)%mini-term.xpm%" Exec nxterm -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 + "Nethack" Exec nethack & + "Xboard%mini-slon.xpm%" Exec xboard & + "Xeyes%mini-eyes.xpm%" Exec xeyes & + "Xlander" Exec exec xlander & + "Xlogo%mini-bx2.xpm%" Exec xlogo & + "Xmahjongg%mini-xmahjongg.xpm%" Exec exec xmahjongg & AddToMenu "Applications" "Applications" Title + "IglooFTP" Exec exec IglooFTP & + "Tkirc%mini-zircon.xpm" Exec tkirc Tenebrae irc.prison.net & + "Star Office" Exec soffice & + "Opera%opera_16x16.xpm" Exec opera & + "MpegTV" Exec mtv & + "xmcd%mini-cd.xpm" Exec xmcd & + "Licq%mini-licq.xpm%" Exec licq & + "Ghostview%mini-gv.xpm%" Exec ghostview & + "Xview%mini-xv.xpm%" Exec xv & + "Xedit%mini-edit.xpm%" Exec xedit & + "Xfm%mini-filemgr.xpm%" Exec xfm & + "The Gimp%mini.gimp.xpm%" Exec gimp & + "Xpaint%mini-paint.xpm%" Exec xpaint & # 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 + "" Nop + "Start olvwm%mini-olwm.xpm%" Restart /usr/openwin/bin/olvwm + "Start olwm%mini-olwm.xpm%" Restart /usr/openwin/bin/olwm + "" Nop + "Yes, I'm outta here%mini-exclam.xpm%" Quit + "No; I XXXXed up%mini-cross.xpm%" Nop # Provides a list of modules to fire off AddToMenu "Module-Popup" "Modules" Title + "Buttons" Module FvwmButtons + "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 + "Top%mini-run.xpm%" Exec rxvt -font 7x14 -T Top -n Top -e top & + "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 (No longer true for recent versions of FVWM) # # 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 # 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 Tab A M Prev Focus Key Tab A MS Next Focus Key Escape A C WindowList # Definitions used by the modules #------------------ Pager (Desktops) *FvwmPagerBack grey60 *FvwmPagerFore black *FvwmPagerFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* *FvwmPagerHilight #c0c0c0 *FvwmPagerGeometry -1-1 *FvwmPagerLabel 0 Desktop *FvwmPagerSmallFont 5x8 #------------------ FvwmButtons (from 2.0.42) *FvwmButtonsFore Black *FvwmButtonsBack #c0c0c0 *FvwmButtonsFont -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* # Geometry - really likes to pick its own size, but giving a position is OK *FvwmButtonsGeometry -5-34 # Layout: specify rows or columns, not both *FvwmButtonsRows 1 *FvwmButtonsPixmap marble.xpm # Define the buttons to use..... *FvwmButtons(Title xclock, Icon clock.xpm, \ Swallow(UseOld) "xclock" 'Exec xclock -hl purple -padding 0 -geometry -1500-1500 &') *FvwmButtons(2x1, Title load, \ Swallow(UseOld) "xload" 'Exec xload \ -nolabel -bg grey60 -update 5 -geometry -1500-1500 &') *FvwmButtons(Title Eterm, Icon gnome-eterm.xpm, \ Action 'Exec "" Eterm -g 80x35+2+3 -l -L 5000 -F 8x13 &') *FvwmButtons(Title IRC, Icon xchat.xpm, \ Action 'Exec "Xchat" xchat &') *FvwmButtons(Title xmms, Icon xmms.xpm, \ Action 'Exec "Xmms" xmms &') *FvwmButtons(Title xcalc, Icon rcalc.xpm, \ Action 'Exec "Calculator" xcalc &') *FvwmButtons(Title licq, Icon licq-icon-sun.xpm, \ Action 'Exec "licq" licq &') *FvwmButtons(Title Gimp, Icon wilber.xpm, \ Action 'Exec "Gimp" gimp &') *FvwmButtons(Title xview, Icon xfish.xpm, \ Action 'Exec "xv" xv &') *FvwmButtons(Title netscape, Icon ns.xpm, \ Action 'Exec "Netscape" netscape -geometry 747x510+14+2 &') *FvwmButtons(Title kill, Icon larvasmall.xpm, Action Destroy) *FvwmButtons(2x1, Swallow(UseOld) "Desktop" 'FvwmPager 0 0') #------------------ Identify *FvwmIdentBack #000080 *FvwmIdentFore Yellow *FvwmIdentFont -adobe-helvetica-medium-r-*-*-12-*-*-*-*-*-*-* #------------------ FvwmWinList *FvwmWinListBack #c0c0c0 *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 *FvwmWinListShowCurrentDesk #------------------ FvwmTaskBar Style "FvwmTaskBar" NoTitle,BorderWidth 4,HandleWidth 4,Sticky,StaysOnTop,WindowListSkip,CirculateSkip *FvwmTaskBarGeometry +0-0 *FvwmTaskBarFore Black *FvwmTaskBarBack #c0c0c0 *FvwmTaskBarTipsFore black *FvwmTaskBarTipsBack bisque *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 Slut *FvwmTaskBarStartMenu Slut *FvwmTaskBarStartIcon mini.penguin.xpm *FvwmTaskBarShowTips *FvwmTaskBarMailCommand Exec nxterm -T Mail -ls -fn 8x13 -e pine -i