The F Virtual Window Manager is a virtual window manager for the X Window System. Originally a twm derivative, FVWM has evolved into a powerful and highly configurable environment for Unix-like systems.
Customized FVWM desktop
|Written in||C, Perl, Unix Shell|
|License||GNU GPL v2,|
FVWM included in OpenBSD: BSD License
In 1993, during his work analyzing acoustic signatures for the United States Department of Defense, Robert Nation began hacking twm with the intent of simultaneously reducing memory usage and adding support for virtual desktops.
Already known for his rxvt terminal emulator, Nation worked on reducing the memory consumption of his new window manager. Deciding to test FVWM's reception, on June 1, 1993, he bundled it with a rxvt release.
In 1994 Rob Nation stopped developing FVWM and made Charles Hines the maintainer. Rob Nation's last release of FVWM was fvwm-1.24r. The post-Rob Nation version of FVWM uses a different configuration file format and has a significantly different architecture. Many Linux distributions, as a result, distributed both fvwm-1.24r and later releases of FVWM as separate programs. As of 2009, fvwm-1.24r still compiles and runs on a modern Linux system without any problems. A small number of users continue to use the older FVWM release. In late 1998 the office of FVWM maintainer was abolished and further development has been conducted by a group of volunteers.
Many developers have based 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, Metisse and many more.
Originally, FVWM was the Feeble Virtual Window Manager, which was clearly stated by Robert Nation in a 1997 Linux Journal interview with him, whom also claimed the name had been chosen because original releases had almost no user selectable features, so it really was feeble. However, 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, when Chuck Hine was maintaining the official FVWM Frequently Asked Questions, Chuck had never agreed with the 'feeble' explanation, and added alternate possible meanings of F to the FAQ, with many entries coming from mailing list messages.
This is a partial list based on the documentation 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, FVWM does not dictate how the user's desktop should work or look like but provides the mechanisms to configure the desktop to work, look and behave the way the user wants it to.
- Supports any number of virtual desktops, each divided into multiple pages.
- The viewport (the physical screen) can be moved smoothly (in configurable steps) in the virtual desktop area, independent of pages
- The viewport can move automatically when the mouse hits the border of the screen
- Full EWMH, ICCCM-2 and GNOME Hints support.
- Full internationalisation support, including multi-byte characters and bidirectional text.
- Xft2 font support with anti-aliasing, drop shadows of any size, at any offset and at any direction, text rotation.
- Any behaviour, action or event is fully configurable.
- Support of user defined Window Decoration Styles.
- Titlebars can be disabled, or rendered on any window edge. This can be done individually for each window type.
- Titlebars may have up to ten icons including minimize, maximize and close buttons.
- Animated Window Shading in all directions.
- Full PNG Support, including alpha blending.
- Perl programming library for extending FVWM using Perl, scripting and pre-processing of configuration files.
- Can be extended via scripting. Preprocessing allows dynamic configurations.
- Toolkit to build dialogs, menus and applications at runtime.
- Configurable desktop panels.
- Mouse Gestures allow to draw shapes with the mouse, and bind them to commands.
- Dynamic menus; utilities to browse the filesystem, fetch headlines from the internet from menus included.
- Session management support.
- Xinerama extension support to use more than one monitor.
- Dynamically extensible using modules.
- Supports focus stealing
- "fvwm: Official FVWM repository". 24 November 2019. Retrieved 24 November 2019 – via GitHub.
- "xenocara/app/fvwm/COPYING - view - 184.108.40.206". Cvsweb.openbsd.org. Retrieved 7 October 2017.
- "Linux Journal Interviews Robert Nation". Linuxjournal.com. Retrieved 7 October 2017.
- FVWM - History Archived 2011-05-16 at the Wayback Machine
- Knuth, Donald E.; Binstock, Andrew (25 April 2008). Interview with Donald Knuth. Informit.com. Retrieved 7 October 2017.