FVWM or the Feeble Virtual Window Manager is an extremely versatile desktop/window manager for the X Window System. The name is a bit misleading, but originally FVWM was a fork of the original TWM window manager and made as a feeble replacement. Here is a nice chart to give you a glimps of the FVWM family tree. FVMW has since grown from its humble beginnings and is now one of the most configurable window mangers out there. Think of anything that you would want a desktop/window manager to do, and FVWM will probably be able to achieve that and more. Since the name 'Feeble' no longer applies to this window manager, many attempts at changing the name, or even creating urban legends about how the original meaning of the 'F' was lost have circulated around. Most commonly it's just referred the F? Virtual Window Manager, or FVWM for short.
Though FVWM is extremely versatile and programmable, many shy away from it due to the lack of GUI configuration tools for it. Though there have been some attempts at making such tools, fvwm-themes for example, the amount of options involved cannot be easily summed up into a GUI, so the best way to configure fvwm is to write a personalized config file. This guide is to help you get familiar with how the syntax for configuring FVWM is used. The first part of the guide will lead you step by step in creating a simple config file. I have set the info to go into the config file aside so one could simply copy and paste as they work though the guide. My attention is to have you work though this guide copying and pasting some parts, but also taking some steps in modifying what I have put there so you can get use to the syntax and add your own flavor to the config. After you are done creating the basic config in this guide, I then have an appendix full of more advanced topics and configurations that you can play with to implement into your desktop. By the end of this guide its my hope that you are familiar with FVWM and can then create your own config to turn it into your window manager.
The guide tries to explain most of the options I present, but all of this information is clearly explained in the FVWM MAN PAGES. The man page is quite long, but once one has key words, it should be easy to search for how that is used in the configuration. Some of the configurations I present I will skim or skip over and expect you to use the man page to fill any any details I miss. Again just in case you didn't hear me the FVWM MAN PAGES are a valuable resource.
This guide is written for the configuration syntax of the unstable release, current at this time is fvwm-2.5.10. I have not tested the configuration on the stable release, 2.4.18, so I am unsure on how well it will work. My suggestion is to use the 2.5.10 version. Though its dubbed unstable, the basic functionality is stable and I have yet to notice any grave bugs from its operation. I also use bits of the Translucency patch in this config (though I only present it as an alternative). If your interested in using the translucency patch to add a more realistic transparency effect to your menus, instructions on how to install it can be found here.
All of FVWM is configured by a single config file which is normally located at $HOME/.fvwm2rc or $HOME/.fvwm/.fvwm2rc. Though by the use of the 'Read' command, one could split the config file up into smaller config files. For this guide we will just put everything into one config file. For sake of argument lets put everything in the $HOME/.fvwm directory, so for the first step create the $HOME/.fvwm directory and create an empty .fvwm2rc file. If you run fvwm, Don't be surprised if you think the default setup is quite ugly, cause many will agree with you, but that is a good place to start.
The images I use in this guide can all be downloaded here. If you want to work though this guide and use my images, download that file, then untar it in your $HOME directory. It will create a .fvwm folder with all the icons and decors I use in this guide. There is also a copy of the fvwm2rc that can be generated by copying and pasting though the first part of this guide.
Next open the file $HOME/.fvwm/.fvwm2rc file in your favorite text editor. This file is parsed by FVWM when it starts up (or is restarted) and fvwm uses the info in here to set up the look and feel of your desktop. To comment out a line a '#' is used. Lets put some comments at the top of the file as a starter. For example you could put the following at the top of your fresh fvwm2rc file.
########### # ____________________________ # ( _________________________) # ) (__ _ _ _ _ # ( __)( \/ )( \/\/ )/\/\ # ) ( \ / \ // \ # (___) \/ \/\/(_/\/\_) 2.5.10 # # My personal fvwm2rc file # #######################