FVWM is an extremely customizable window manager, many would say it is pathologically customizable. It is also very extensible, lightweight, and fast. It is not for the non-technical. It is for those who know what they want and want the freedom to implement it. It can be as ugly and functional or as beautiful and full of gee-whiz embellishments as you like. The limits are your imagination and your skill. There are 3rd party projects to provide automatic configuration and themes (fvwm-themes and fvwm-crystal). FVWM itself provides a default configuration file generator, in which certain options can be chosen. The expectation, however, is that you want a configuration of your very own, and you can use these tools and others' configs as a starting point (further explanation).
FVWM是一种高度可配置的窗口管理器，我们甚至可说它是“病态”的可配置。它也是可扩展的，轻量级的，快速的窗口管理器。它不适合非技术人士，只适合于那些知道他们想要什么并希望能自由的实现的那些人。它可以是很丑陋但功能强大，或者是充满了很多奇特的装饰，只要你喜欢。唯一的限制是你的想像力和技巧。有一些第三方项目提供了自动化的配置和主题（fvwm-themes和fvwm-crystal）。FVWM也提供一些配置文件产生器，它给你提供了一些特定的选项。如果你希望创建你自己的配置文件，你可以使用这些工具和别人的配置做为一个起点。 (further explanation).
FVWM is easily installed into Ubuntu, as there is an fvwm package in the repositories. There are additional packages like fvwm-themes, which is a collection of canned FVWM configurations for those who want something that works right away.
FVWM is an active project. Updates with bug fixes and new features are fairly frequent. Currently, FVWM maintains two states: a stable release (versions 2.4.X) and an unstable release (2.5.X). The unstable branch is the one that will eventually form the new stable set (and hence will evolve to 2.6.X as stable, and 2.7.X as being unstable). Given that the FVWM stable branch is quite old, a lot of the more "established" actions one would expect from a window manager is really only in the unstable branch at the moment. Not that "unstable" really means that it crashes every five minutes; it's just an indication that the branch is subject to development and change. Unless there's a very good reason (unlikely) then the 2.5.X branch is the one that should be used, as many people tailor their configs to use it, and usually give no consideration to FVWM 2.4.X. Prerequisite packages are
fakeroot (for making the .deb), and
debhelper (also for making the .deb). Some other small packages that generally everyone will want are
libpng-dev (so .png images can be used for icons) and
libreadline-dev (which makes
FvwmConsole more pleasant). Download the tarball, extract it, and configure as usual. Instead of a simple
make deb-inplace to create a .deb, and then install it with
If you install from apt, then FVWM is already in GDM's list of sessions. If you install from source, you will have to choose "Default X session". You will also have to make a .xsession file. The simplest .xsession file simply contains the line "fvwm". .xsession is simply a shell script that is run when you log in from GDM. If there are any programs that you need to start before fvwm, put them in .xsession before "fvwm". It is also wise to make a .xinitrc that is a symlink to .xsession, so that fvwm starts up when you log in from the console. As an example, your ~/.xsesssion file might look like the following:
#!/bin/sh # Various other commands here, ensuring that they're backgrounded where necessary # i.e.: # # foo & # Start FVWM exec fvwm
Symlinking the above to ~/.xinitrc can be done as follows:
ln -s ~/.xsession ~/.xinitrc
You can have a menu of most installed applications with Debian's menu system. Install the menu package
sudo apt-get install menu
Then, to your ~/.fvwm/config add
Now you have access to a menu of installed programs, automatically categorized and updated. You can access this menu with the FVWM commands
There are reports of FVWM not working well under Xgl. This will be corrected when the users complain loudly enough, or someone submits a patch. FVWM works reasonably well with xcompmgr and the composite extension. If you use xcompmgr: Do not give icons titles:
Style * !IconTitle
Restart FVWM after starting or stopping xcompmgr:
# xcompmgr is finally pretty stable, but occasionally it gets screwy or dies # FVWM must be restarted after xcompmgr, otherwise edges don't work DestroyFunc RestartXCompMgr AddToFunc RestartXCompMgr + I PipeRead 'killall xcompmgr && exec xcompmgr -n & ; echo Restart'