# FVWM

The F Virtual Window Manager (FVWM) is a virtual window manager for the X Window System. Originally a twm derivative, FVWM is now a window manager for Unix-like systems.

## History

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 an 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 a group of volunteers conducted further development.
Many window managers in use today have been influenced by FVWM, notably Afterstep, Xfce, Enlightenment, and Metisse.

### Name origin

Originally, FVWM was named the Feeble Virtual Window Manager, as stated by Robert Nation in a 1997 Linux Journal interview with, who claimed the name had been chosen because original releases had almost no user-selectable features. When Google published the old newsgroup archives acquired from DejaNews, the original origin of the name was re-discovered. However, when Chuck Hine was answering questions for the official FVWM Frequently Asked Questions, Chuck had never agreed with the 'feeble' explanation and added alternate possible meanings of F (as in the name of the window manager) to the FAQ, with many entries coming from mailing list messages.

## Features

Many of these features can be disabled at runtime or compile time, or dynamically for specific windows, among many other options. FVWM provides the ability 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 internationalization 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 behavior, 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.
* Iconification
* Full PNG Support, including alpha blending.
* Perl programming library for extending FVWM using Perl, scripting and preprocessing 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