If you want an adaptable window manager that doesn't drain your resources, try Openbox. Its latest version, 3.4.2, released this month, has several visual improvements and dozens of new usable features.
A window manager handles the placement and appearance of windows in a desktop environment. A desktop environment not only includes a window manager but also applications to place icons on the desktop, automount devices, manage sessions, add panels, and so on. The GNOME desktop environment bundles the Metacity window manager, KDE has Kwin, and Xfce runs Xfwm.
Since it's easy to customize, many people replace their stock window managers with Openbox. It can run inside both GNOME and KDE (but not Xfce), replacing their native window managers. It can also be used as a lightweight desktop environment on its own.
Easier to get started
Openbox is distributed as a single package, but users should also download ObConf, the Openbox configurator. The configurator can tweak several aspects of Openbox, including themes. Openbox binary packages are available for Ubuntu Feisty, Debian Etch, Arch Linux, and Slackware. If you run another distribution, you can download the source tarballs (720KB for Openbox and 208KB for ObConf) and follow the instructions on the installation page.
There have been numerous changes in Openbox since we looked at it last year. Now when you install Openbox, it automatically adds login options to run it with KDE or GNOME (instead of their native window manager) or as a standalone environment in your display manager. The ability to run inside other desktop environments or on its own was available in earlier versions, but the login options were missing.
Openbox's new Autostart feature runs a script to set up the Openbox environment by launching the applications you want to run at startup. By default the script colors the ugly default X background. For GNOME users the script runs the gnome-settings-daemon so that GNOME apps look and work the way they would under GNOME. For KDE users the script runs kdeinit to speed up application launches in KDE by running important KDE libraries and other processes in the background.
You can modify the script, or make your own to display wallpapers, launch panel, or add SCIM (Smart Common Input Method) support for typing non-English characters.
Easier to use and extend
During the development cycle for Openbox 3.4, the developers fixed all known bugs from previous releases. This, along with improvements to the code, makes Openbox 3.4 faster and more stable, the developers claim. When running under a desktop environment, Openbox 3.4 takes no more time to start up than the environment running without it. The real speed advantage is when you're using Openbox as a desktop environment itself, since it launches almost instantly on all my machines, the oldest of which has 256MB of RAM.
Window manager users will be impressed by Openbox features that put it at par with more heavyweight window managers. Openbox has a new focus cycling (Alt-Tab) dialog, new window list menu, animated window iconify and raise, window resizing grips, and more. It's now easier to use Openbox on multi-monitor setups. Openbox 3.4 also behaves consistently. Unlike earlier versions, disabled items in OpenBox 3.4's new client menu do not disappear. Menus close to the edge of the screen don't jump away when you navigate through submenus, and if a submenu is vertically larger than your screen, it's automatically split into a "More..." submenu. For eye candy, Openbox 3.4 can display transparent windows with shadows if you have enabled the Composite extension in your X server and have a composite manager such as xcompmgr.
If you want to change the appearance of Openbox, right-click on the desktop and click the ObConf option from the menu to fire up the Openbox configuration manager, which allows you to change several aspects of Openbox, including the theme, fonts in windows and menus, and window behavior.
The developers have added many new options to the theme engine for added theming flexibility. Users can retain their fonts across themes. There's also a comprehensive theme specification available for theme writers that documents every option available.
In fact, Dana Jansens, the lead developer of Openbox, says that documentation is one of the features that make Openbox 3.4 more accessible to everyone. The project's Web site is now a wiki, to make creating and editing documentation easier. The Help page has links to all areas of Openbox, from installing and using the software to configuring mouse and key bindings, converting Blackbox and Fluxbox themes, setting up menus, and more.
The best aspect of Openbox is that it's fully customizable. People who run it as a desktop environment can add their own panels, file managers, and applets. Openbox 3.4 includes a default sample menu that helps users make their own menus. You can use tools such as menumaker, ObMenu, or just a plain text editor to customize the menu, which is written in XML. If you install a panel, such as fbpanel, it'll create a menu for you. When you're running Openbox inside a desktop environment, you can use the menus provided by the environment instead.
The project also maintains a list of programs (such as file managers, panels, pagers, and applets) that can be used with Openbox to extend its functionality.
More improvements in future versions
According to Jansens, the most exciting improvements in Openbox 3.4 lie under the hood. A lot of work went into cleaning up and improving existing subsystems, such as session saving and restoring, focus handling, and synchronized window resizing. The developers wanted everything in Openbox to "just work" as thoroughly as possible.
Openbox 3.4.0 was quickly followed by versions 3.4.1 and 3.4.2. Jansens says that the post-3.4.0 releases have fixed some minor bugs that cropped up, added some new translations, and included some new features, especially in regards to the theme format. Future Openbox releases will include still more theming options.
Jansens would also like future versions to utilize the Composite extension to add more advanced features, such as Mac OS X's ExposÃÂ©-like feature to display all open windows, or magnifying glasses.
The Openbox 3.4.x branch is quite an improvement over previous releases. Thanks to its customization options, Openbox is well-suited for users running systems for specialized purposes, such as system or network administration or developing and testing code. These users can launch custom-prepared environments thanks to the Autostart script. Once inside, they can modify keybindings to quickly launch frequently used apps.
The latest Openbox is also a better window manager now. I use both GNOME with Metacity and KDE with KWin regularly. Like me, most regular desktop users will hardly notice any difference feature-wise between Openbox and Metacity/KWin. This gives Openbox 3.4 the twin advantage of being a customizable window manager as well as a lightweight desktop environment. If you haven't tried Openbox earlier, now is the time.