In Unix computing, the F(?) Virtual Window Manager, a virtual window manager for the X Window system. Originally a twm derivative, fvwm has evolved into a powerful and infinitely configurable environment for UNIX systems.
History
In July 1993, irritated with the then ubiquitous twm after experiencing many of its limitations during his work analysing acoustic signatures for the DoD, Rob Nation began hacking twm to find out why it used so much memory, and to add support for virtual desktops.
Already well known for his popular rxvt terminal emulator, Rob worked on reducing the memory consumption of his new window manager. Deciding to test fvwm's reception, on June 1, 1993 Rob bundled it with an rxvt release, it was a success, many people were tired of the awkward and limited twm and were hungry for a capable replacement.
Fvwm is renowned for its high quality code base, many developers base their own projects on fvwm in order to benefit from the years of refinement and development. Many of the popular window managers in use today are related to fvwm, Afterstep, XFce, enlightenment, and many more.
Originally, fvwm was the Feeble Virtual Window Manager, but at some point the meaning of the F was lost. When Google published the old news group archives acquired from DejaNews, the original meaning was re-discovered, however the fvwm developers decided they prefer the "Mysterious F" interpretation and it has stuck to this day.
Features
An extensive list of Fvwm features would require a very large document, this is a partial list based on the version distributed with Fvwm.
Many of these features can be disabled at runtime or compile time, or dynamically for specific windows or loaded and unloaded as modules, or many other possibilities. These are not rigid features, the fvwm developers do not propose to know how your desktop should work or look like, these can be configured to work, look and behave the way you want them to.
- Full EWMH, ICCM2 and Gnome Hints support.
- These standards allow fvwm to interact with desktop environments such as Gnome and KDE.
- Full internationalisation support, including multi-byte characters and bidirectional text.
- Fvwm has been translated into many languages using gettext, supports Asian characters, and bidirectional languages, e.g. Hebrew. Fvwm can be used to make a very accessible environment, for example mouse-less operation.
- Xft2 font support.
- Anti-aliasing, drop shadows of any size, at any offset and at any direction, text rotation, and many other features.
- Titlebars can be disabled, or rendered on any window edge.
- Animated Window Shading in all directions, including diagonal.
- Shading windows allow you to hide windows while you work on something else.
- Full PNG Support, including alpha blending.
- You can create png images for use in your titlebars and menus, alpha blending allows you to create some very attractive effects.
- Perl library for extending Fvwm using Perl, scripting and pre-processing of Configuration files using m4, Perl or CPP.
- Fvwm can easily be extended, scripting and pre-processing allows you to make dynamic Fvwm configurations.
- Build dialogs, menus and applications with FvwmForm, FvwmGtk and FvwmScript Fvwm provides the tools you need to make user interaction work the way you want.
- Powerful and dynamic Interfaces can be created with FvwmButtons.
- FvwmButtons is a powerful module for creating panels on your desktop, it can swallow other applications, change dynamically, and has many other features.
- Support for Mouse Gestures.
- Mouse gestures allow you to draw shapes with your mouse, and bind them to commands.
- Create dynamic menus, several utilities for making use of this feature are included with Fvwm.
- Fvwm includes utilities for browsing your filesystem, fetch headlines from the internet, and much more all from your menus.
- Session management support.
- Use a session manager to create desktop states, save your fvwm session exactly as you left it and recreate it when you return.
- Xinerama extension support.
- Use fvwm with two or more monitors, fvwm will allow you to work with the monitors seamlessly and efficiently.
- Dynamically extensible using modules.
- Use only the features you require, load and unload modules as you require them.
Quotations
"fvwm is the way to go. [...] Looks nice, works fine, has all the important features and is small to boot. I like much of the twm stuff, but twm is rather ugly and has some problems. fvwm looks much nicer and does it all and is very configurable."
- Linus Torvalds, Project coordinator and original developer of Linux, in <2ephop$rr1@klaava.Helsinki.FI>
"Question: What is your favourite window manager?
Alan: Are you trying to start a fight with someone! I don't know. Mostly I used fvwm."
- Alan Cox, Renowned Linux kernel Hacker, an Interview in 2000.
"An uncluttered desktop design for some serious hacking"
"I've been a confirmed fan of fvwm ever since I started using this layout; it increases my efficiency fantastically. Every other Linux window system has bad ideas about the focussing --- every option of KDE and GNOME is broken in some important way!"
"The name FVWM used to stand for something, but I forgot what. (Feeble, famous, foobar? It doesn't really matter, this is an acronym based society anyway.)"
- Rob Nation, in an early fvwm man page. See also: fvwm faq (http://www.fvwm.org/documentation/faq/#1.1).
Examples
Fvwm can be made to resemble and behave any other window manager or environment, or be used to form totally original creations. These are some screenshots from fvwm users.
This screenshot demonstrates the internationalistaion of fvwm, and shows some fvwm modules. (asvaboy)
Another fvwm screenshot, showing FvwmButtons, FvwmIconMan and translucent, dynamic menu's (taviso)
Family Tree
Fvwm Family Tree, displaying some of the many fvwm derivatives.
Resources
|