The fvwm window manager provides a virtual windows system that allows multiple desktops to be accessed via a simple pager window. When fvwm is executed it will search for a configuration file, specified in your home directory, called fvwmrc.
This file, if it exists, is used to set up a lot of details about the window manager's operation. It covers such things as the colors used for window backgrounds, and active and passive window borders. It specifies which windows will move with you when you switch desktops, and which will be left behind. It allows you to specify which applications are sufficiently important that their windows are not normally overlaid, and thus remain visible however cluttered the desktop gets. It also allows you to set up your own menus and actions to be bound to the mouse buttons (and some of the keys on the keyboard) when various parts of a window's border and background are selected.
Some typical .fvwmrc contents are given in the next example. Full details of all the options can be found in the manual page for the fvwm command:
# set up the colors StdForeColor Black StdBackColor SteelBlue HiForeColor Black HiBackColor red #set up the desk top and pager DeskTopSize 3x2 DeskTopScale 32 Pager 0 0 # list the windows that don't get a decorative border NoTitle xclock # list the windows that follow when changing desktop Sticky xclock # list windows that "stay on top" of the window stack StaysonTop xclock
The .fvwmrc file also specifies what happens when you press one of the mouse buttons, either around a window's border or in the desktop's background. The usual options are to allow you to move a window round the desktop, resize a window, alter the stacking order of any windows which overlap, and exit from fvwn (and therefore from X-windows as well). A typical specification for an fvwm menu might be:
Popup "Window Ops" Title "Window Ops" Move "Move Window" Resize "Resize Window" Raise "Raise Window" Lower "Lower Window" Iconify "(De)Iconify Window" Stick "(Un)Stick Window" Nop "" Destroy "Destroy Window" Delete "Delete Window" Nop "" Title "Exit" quit "Exit Fvwm" EndPopup
Where the first column specifies the action which should take place when a particular menu option is selected, and the second column gives the text which is to appear on screen, in the menu itself.
The mouse button bindings to the menus are specified later using lines like:
# Button Context Modifiers Function Mouse 1 R N Popup "Window Ops"
This example says that the Window Ops menu should Popup when the left mouse button is pressed anywhere in the desktop background (root) window.