############################## # Sample .fvwm2rc file # Configured by Jay Kuri # 2/9/99 ############################## # Paths # Paths are given as a list of directories, seperated by colons # # ImagePath A list of directories where images (bitmaps, pixmaps, # etc) can be found. # # ModulePath A list of directories where fvwm modules are stored. # The compiled-in setting will contain all modules # distributed with fvwm, so you only set this if you # add your own modules in another directory. # ImagePath /usr/X11R6/include/X11/pixmaps/:$HOME/xpms:$HOME/pixmaps #ModulePath $FVWM_MODULEDIR:$HOME/fvwm-modules # set XORvalue to something visible. This sets the coloration of the # 'rubber-band' window-borders when moving and resizing windows. XORvalue 208 # Make our windows snap-up against other windows and make icons snap # up against other icons SnapAttraction 20 SameType # Font configuration # # WindowFont style Sets the font to be used in window title-bars # # IconFont style Sets the font that will be used for icon labels. # Style * Font -adobe-helvetica-bold-r-*-*-14-*-*-*-*-*-*-* Style * IconFont -adobe-helvetica-bold-r-*-*-14-*-*-*-*-*-*-* # Highlight color # # This sets the textcolor and background color for the active window Style * HilightFore #ffffff, HilightBack #1ea819 # BorderStyle # # This sets how the border of windows will be displayed. # Format: BorderStyle [state] [style] [ -- [!flag] ... ] # State is either Active or Inactive # The commands below set the borders to solid colors # BorderStyle Active -- NoInset HiddenHandles BorderStyle Inactive -- NoInset HiddenHandles # TitleStyle # # This option sets the style of the window title-bar # We set the Active style to a Green vertical gradient, # the Active (pushed down) style to the reverse of the green gradient # and the Inactive style to a blue vertical gradient # # Format: TitleStyle [state] [style] [ -- [!flag] ... ] # TitleStyle ActiveUp Vgradient 16 #1ea819 #065414 -- flat TitleStyle ActiveDown Vgradient 16 #065414 #1ea819 -- flat TitleStyle Inactive Vgradient 16 #11236b #03092b -- flat # The Second Variation of TitleStyle: # # Format: TitleStyle [ justification ] [ height num ] # TitleStyle LeftJustified height 18 # Button Styles # # Now we are going to set up the buttons # # The two commands we use are: # # ButtonStyle button [ state ] [ style ] [ -- [!]flag ... ] # # AddButtonStyle button [ state ] [ style ] [-- [!]flag ...] # # the 'button' is the number of the button you are defining, it can be # a number from 0-9 or the word 'all' which means apply the style to all # buttons. # Even button numbers are on the right, while odd button numbers are on the # left. The lower numbers are on the outside: 13579 title 86420 # # First, we set all buttons to start with the same style we are using for # the title. Then we define the pixmaps we use as our buttons using # AddButtonStyle. ButtonStyle All -- UseTitleStyle flat AddButtonStyle 1 Pixmap button.xpm AddButtonStyle 2 Pixmap button-max.xpm AddButtonStyle 4 Pixmap button-vert.xpm AddButtonStyle 6 Pixmap button-horiz.xpm AddButtonStyle 8 Pixmap button-close.xpm # MenuStyle # # MenuStyle is perhaps the most complicated configuration option. For this # reason we suggest you read the fvwm man page. However, using the # MenuStyle definition below, we will attempt to give you an idea of how to # use it. # # Format: MenuStyle stylename options # # The StyleName is a name to indicate which menustyle you are defining. All # of the menus get the '*' by default. (you can change the menu style a menu # uses with the 'changemenustyle' option) # # Here we set the default menu-style: # # Background sets the default menu background color # # ActiveFore sets the foreground color of the currently selected menu-item # # ForeGround sets the foreground color of non-selected menu-items # # Popupoffset sets the offset of child-menus. # Format: Popupoffset pixels percent # We set the percent to 100, making the child-menus pop-up to the right # of the existing menus. # # MenuFace sets the background of the menu using the 'fancy' options. # Menuface is another complicated one so again, check the man-page, # but I'll explain the one here: # This menuface command sets the background of the menus to a # Horizontal gradient using 64 colors, with one pair of colors, # from the color #758591 to the color #102030. # # Animation turns menu animations on. If you pop-up a submenu on the right # edge of the screen, the menu will move over so it is fully visible. # MenuStyle * background #455561, ActiveFore #ccfcf0, ForeGround black MenuStyle * popupoffset 0 100 MenuStyle * MenuFace HGradient 64 1 #758591 100 #102030, Animation # Set up some desktop options # # Desktop [Horizontal]x[vertical] Defines the virtual desktop size, # 1x1 = one physical screen size (no virtual desktop DesktopSize 1x1 # EdgeResistance scrolling moving # Sets how hard it is to change the desktop viewport # scrolling is in milliseconds # moving is in pixels (how far a window's edge must move to move off-screen # # These values don't much matter in this configuration as our viewport # is only as big as our screen anyway. EdgeResistance 750 75 # EdgeScroll horizontal vertical # Sets the percentage of a page to scroll when the cursor is on the edge # of the screen. Again, not useful in this configuration since we only # have a viewport as big as our screen. EdgeScroll 100 100 # OpaqueMoveSize percentage # This option tells fvwm the maximum size window that it should move # with contents intact (ie, not 'rubber-banding') You should keep this # low if you don't have good video hardware. OpaqueMoveSize 50 # Style related options # # Styles are used to set-up how windows are treated by the window manager. # They allow you to change the way windows are placed, decorated and treated # in general. You can give different options to different windows, so that # your xterms may be decorated differently than, say, your netscape window. # # The format of the style commands are: # Style windowname options # # The windowname is the window's name class or resource string that you want # this option to affect. You can use wildcards (such as * or ?), thus # "*" specifies options for all windows. # The options that you can specify with the Style command are many and varied # and really warrant a look at the fvwm man page. # # We set up some global defaults here for all windows. Style "*" ForeColor grey40 Style "*" BackColor #11236b Style "*" TileCascadePlacement Style "*" StickyIcon Style "*" IconBox 5 -50 -134 -5 Style "*" BorderWidth 5, HandleWidth 5 Style "*" !UsePPosition Style "*" NakedTransient # Some Fvwm-Related Styles Style "Fvwm*" !Title, !Handles, Sticky, WindowListSkip Style "FvwmWinList" !Title Style "FvwmPager" BorderWidth 0 # My own settings style "XTerm" BorderWidth 4, Handlewidth 4, Icon Monitor.xpm style "Netscape" BorderWidth 3, Handlewidth 3 Style "*clock" BorderWidth 0,!Title,!Handles,WindowListSkip,Sticky Style "XMcd" !Title Style "*Dialog_popup" WindowListSkip Style "*Download" WindowListSkip,!Title # Resources for Modules # # Resources are usually of the form # *Modulename: Option value # # Resources are used to configure fvwm modules. See the man page for each # module to find out what resources you can set # # FvwmPager *FvwmPager: Back #150525 *FvwmPager: Fore #484058 *FvwmPager: Font -adobe-helvetica-bold-r-*-*-10-*-*-*-*-*-*-* *FvwmPager: Hilight #908090 *FvwmPager: DeskTopScale 64 *FvwmPager: Geometry -0-0 *FvwmPager: Label 0 Pager *FvwmPager: SmallFont 5x8 *FvwmPager: Columns 1 *FvwmPager: Label 0 All *FvwmPager: Label 1 Work *FvwmPager: Label 2 No *FvwmPager: Label 3 Play *FvwmPager: Balloons Pager *FvwmPager: Balloonfore white # FvwmForm # options for the FvwmForm module which we specify as 'Ssh' later on *Ssh: Fore #dfdfdf *Ssh: Back #303030 *Ssh: ItemBack black *Ssh: ItemFore #ffffff *Ssh: Font -*-lucidatypewriter-medium-r-*-*-14-*-*-*-m-*-*-* *Ssh: ButtonFont -*-lucidatypewriter-medium-r-*-*-14-*-*-*-m-*-*-* *Ssh: InputFont -*-lucidatypewriter-medium-r-*-*-14-*-*-*-m-*-*-* *Ssh: Line Left *Ssh: Text "Host" *Ssh: Input Host 30 *Ssh: Line Left *Ssh: Text "User" *Ssh: Input User 30 *Ssh: Line Center *Ssh: Button quit "OK" ^M *Ssh: Command Exec exec xterm -sl 1024 -cr white -fg white -bg black -T "\"$(Host)\"" -e ssh $(Host) -l $(User) & *Ssh: Button quit "Cancel" ^[ *Ssh: Command Nop # Function definitions # # Functions let you define more complex events than fvwm provides # in it's default configuration. It allows you to do multiple things # when something happens... for example. The following function # can be used on the titlebar of a window, and will allow you to move, # raise or windowshade a window when you move, click, or doubleclick # the titlebar, respectively. AddToFunc "Move-or-Raise" "M" Move + "M" Raise + "C" Raise + "D" WindowShade AddToFunc "Move-or-Iconify" "M" Move + "D" Iconify + "C" RaiseLower AddToFunc "Resize-or-Raise" "M" Resize + "M" Raise + "C" Raise + "D" RaiseLower AddToFunc "StartFunction" + "Immediate" Module FvwmPager 0 3 + "Immediate" Module FvwmAudio + "Immediate" Module FvwmAuto 750 + "Immediate" Module FvwmAnimate AddToFunc "InitFunction" + "Immediate" Exec xsetroot -solid \#050530 + "Immediate" Desk 0 2 + "Immediate" Desk 0 0 AddToFunc "RestartFunction" + "Immediate" Exec xsetroot -solid \#004020 AddToFunc "Maximize_func" "M" Maximize 0 100 + "C" Maximize 0 80 + "D" Maximize 100 100 # Popup menus # # Now we start defining menus. The Window-popups are used for # window-operations. # # Application and root-menu definitions come later AddToMenu "Window-Popup" "Window Ops" Title + "Move" Function Move-or-Raise + "Resize" Function Resize-or-Raise + "Raise" Raise + "Lower" Lower + "(De)Iconify" Iconify + "(Un)Stick" Stick + "(Un)Maximize" Function maximize_func + "Identify" Module FvwmIdent + "" Nop + "Destroy" Destroy + "Close" Close + "" Nop + "Refresh Screen" Refresh AddToMenu "Window-ops-Popup" "Move" Function Move-or-Raise + "Resize" Function Resize-or-Raise + "Raise" Raise + "Lower" Lower + "Iconify" Iconify + "(Un)Stick" Stick + "Identify" Module FvwmIdent + "" Nop + "Destroy" Destroy + "Close" Close + "" Nop + "Scrollbar" Module FvwmScroll 2 2 # Key bindings # # Now we set-up some hot-keys. # The format for Key-bindings is: # # Key keyname context modifier function # # context describes where the binding applies, W for an application window, # R for root window, A for anywhere, T for title, etc. # modifier is keyboard meta-keys which should be pressed, N for none, # S for Shift, M for Meta, C for Control, or A for any. You can combine # these, so things like SM (shift-Meta) are valid. # Key F3 W M Iconify Key F3 I M Iconify Key F4 W M Close Key F11 A C Exec exec xlock -mode swarm & Key F9 A M Desk 0 0 Key F10 A M Desk 0 1 Key F11 A M Desk 0 2 Key F12 A M Desk 0 3 # These are some neat ones. They allow you to hit control- # to switch focus to the window next to your current window in that direction. # Some people don't like this, if you don't, comment out these lines # Key Right A C Direction East (AcceptsFocus CurrentDesk !Iconic) Focus Key Left A C Direction West (AcceptsFocus CurrentDesk !Iconic) Focus Key Up A C Direction North (AcceptsFocus CurrentDesk !Iconic) Focus Key Down A C Direction South (AcceptsFocus CurrentDesk !Iconic) Focus # Familiar alt-tabbing Key Tab A M Next (AcceptsFocus CurrentDesk !Iconic) Focus Key Tab A SM Prev (AcceptsFocus CurrentDesk !Iconic) Focus # Mouse bindings # # Mouse bindings work in very much the same way as key bindings # # Format: Mouse Button Context Modifiers function # Mouse 1 R N Menu "Utilities" Nop Mouse 2 R N Menu "Window-Popup" Nop Mouse 3 R N Module FvwmWinList transient Mouse 1 1 N Iconify Mouse 3 1 N Menu "Window-ops-Popup" Nop Mouse 1 2 N Maximize Mouse 3 2 N Function "Resize-or-Raise" Mouse 1 4 N Maximize 0 100 Mouse 1 6 N Maximize 100 0 Mouse 1 8 N Delete Mouse 1 T N Function "Move-or-Raise" Mouse 1 SF N Function "Resize-or-Raise" Mouse 3 T N RaiseLower Mouse 1 I N Function "Move-or-Iconify" Mouse 3 I N Function "Move-or-Iconify" Mouse 2 TSFI N Menu "Window-ops-Popup" Nop Mouse 3 S N Function "Move-or-Iconify" # # Some Example Menus # # AddToMenu "Remote-Popup" "somewhere" exec xterm -sl 1024 -cr white -fg white -bg \#114433 -T Oneway -e ssh -l me somewhere.com + "generic" FvwmForm Ssh AddToMenu "Applications-Popup" "Netscape" Exec /usr/local/bin/netscape + "Addressbook" Exec addressbook + "Xdir" Exec xdir + "Knews" Exec knews AddToMenu "Graphics-Popup" "The GIMP" Exec xterm -fg \#30d030 -bg black -T gimpit -geometry 80x5+602+787 -e /usr/local/bin/gimp + "Tgif" Exec tgif + "Xpaint" Exec xpaint + "Xmag" Exec xmag + "XView" Exec xv + "Image Magick" Exec display AddToMenu "Development-Popup" "X-gdb" Exec xxgdb + "ddd" Exec ddd + "X-man" Exec xman AddToMenu "Accessories-Popup" "Calculator" Exec xcalc + "Seyon" Exec seyon -modems /dev/cuaa1 + "Nedit" Exec nedit + "Lock" Exec xlock -mode swarm AddToMenu "Games-Popup" "X-kobo" Exec xkobo + "X-boing" Exec xboing + "Mahjong" Exec xmj + "Minesweeper" Exec xmine + "X-Emeraldia" Exec xemeraldia -noscore + "Solitaire" Exec tksol AddToMenu "Sound-Popup" "X-Mixer" Exec xmmix + "Xm-CD Player" Exec xmcd AddToMenu "Module-Popup" "FvwmTalk" Module FvwmTalk + "Clean-Up" Module FvwmClean + "Identify" Module FvwmIdent + "IconManager" Module FvwmIconMan + "Control Animation" Popup MenuFvwmAnimate AddToMenu "Utilities" "Utilities" Title + "Xterm" Exec xterm -sl 1024 +ut -fg white -bg black -e tcsh + "" Nop + "Remotes" Popup Remote-Popup + "Applications" Popup Applications-Popup + "Graphics Apps" Popup Graphics-Popup + "Development" Popup Development-Popup + "Accessories" Popup Accessories-Popup + "Entertainment" Popup Games-Popup + "Sound Stuff" Popup Sound-Popup + "Modules" Popup Module-Popup + "" Nop + "Refresh" Refresh + "Quit X" Popup Quit-Verify AddToMenu "Quit-Verify" "Restart WM" Restart + "Yes, Really Quit" Quit + "" Nop + "No, Don't Quit" Nop