From the archives: the best window managers of 2000
A lot people read and enjoyed our previous article, "From the archives: the best distros of 2000", so we had a hunt around in the dark, damp cellar where old copies of Linux Format magazine live, and dug up another gem, this time from issue 2: a group test of the best window managers, complete with screenshots. Read on!
Almost nine years have passed since this article was written, and we think it's amazing to see how KDE has blossomed from a fairly simple desktop environment into one of the most important free software projects around with thousands of applications written for it. Some of the others, most notably TWM and IceWM, haven't changed that much, yet still attract users because of their speed and simplicity.
And then, of course, there's Enlightenment. You either love its "stunning desktop designs" or you think it just looks dated, but we think everyone has to admit that it was the first window manager for Linux that looked good, and the project continued to lead the way in a number of areas for years to come.
If anything reflects on a Linux user's personality, it's their choice of window manager. From sparse, minimalist desktops to intensely flashy working environments with as many bells-and-whistles as you can imagine, everyone has their favourite choice on their Linux machine.
Window managers are playing an increasingly important role in Linux's assault on the desktop. While the operating system is highly regarded for its speed, stability and flexibility, in recent years more attention has been paid to the graphical interface and front-end that users are confronted with. Window managers are therefore some of the most important software packages in any Linux distribution.
Firstly, though, some background. Unlike other operating systems such as Windows, Linux (and other UNIX variants) split the graphical user interface into several layers. The X Window System (commonly referred to as 'X' or 'X11') is the most crucial part of all this, and was originally developed by the Massachusetts Institute of Technology (MIT).
The X Window System uses 'X servers' to communicate with graphics cards, and in this sense they're similar to graphics drivers under Windows. By talking to an X server, applications can draw images and print text on the screen, without needing to be aware of the specific model of graphics hardware. Then, on top of this, the window manager runs, adding titlebars, icons and menus - all the typical things you would expect on a modern graphical desktop.
At first sight, this can appear to be over-complicated. However, by separating the graphical user interface from the operating system itself, users can run a text-mode Linux on servers and older hardware. Essentially, the X Window System acts like any other application. Also, programs can be run on one machine with their output being displayed on another.
The KDE menu editor in action. Items can be dragged and dropped into other menus.
KDE's theme manager at work. Various themes are supplied for imitating the look of other OSes.
Typical X servers with modern Linux distributions are provided by the XFree86 project, and the number of supported graphics cards is increasing all the time. Coupled with a modern window manager, Linux users can have fast, attractive and very powerful graphical desktops.
So, what makes a good window manager? A huge amount of personal preference undoubtedly comes into it, as one user's idea of the perfect working environment might be an ugly nightmare to another. You might crave for a clean and empty desktop with few distractions, or on the other hand, you could feel totally lost without your gimmicks scattered all over the place.
Most window managers provide the essentials that the average user needs, including titlebars (with buttons for sizing and closing windows etc.), menus for launching applications, and various ways for switching between programs that are running on the desktop. Often a number of 'keybindings' are included too, which allows operation of the window manager from the keyboard. More experienced users will value the notable speed boost from working in such a way. The 'focus policy' defines how windows are focused - either by clicking on the or when the pointer enters the window area.
Another important feature of modern window managers is the concept of virtual workspaces. Instead of just having one desktop with all your windows spread about on it, you can switch to a new, clean desktop and start launching programs from there. Workspaces can be switched between with the click of a mouse, or as before, with keypresses. With this system, you can have one workspace for your mail client and newsreader, another for games, and so on.
Recently, many window manager developers have been hacking their programs to cooperate with GNOME. Unlike KDE, the GNOME desktop environment doesn't feature a native window manager as standard and relies on a 'compliant' one to function properly. A plethora of small window managers have sprung up that attempt to fit GNOME perfectly, but the more established ones can fit nicely into the desktop suite as well. Currently many are classed as 'partially compliant', which means that some features of GNOME can't be used or don't work quite as intended.
IceWM is a great window manager to use with GNOME - it's small, fast and fully compliant.
If you like the ability to change your desktop's appearance while keeping the same method of operation, the idea of 'themes' becomes significant. Instead of fiddling with configuration files until you find the perfect colour scheme, themes package-up all the hard work and let you simply plug-in a brand-new design. Usually a theme will include new colour styles for titlebars, icons and menus, and sometimes new backgrounds and images. You can often find themes that make your window manager emulate other desktops and operating systems - a popular one being MacOS.
Here we review eight of the most popular window managers, taking into account the matters detailed above and looking at issues like ease-of-use and speed. We'll also examine how difficult they are to install and configure, and rate any supplied configuration tools.
KDE 1.1.2 - http://www.kde.org
KDE's default appearance. A KFM file manager window is open, and the KPanel is across the bottom of the screen.
Strictly speaking, KDE is a full desktop environment, with a file manager, utilities and games. However, it still includes a window manager, KWM, along with the KPanel and various other related tools.
The K Desktop Environment project was started in late 1996 by German LyX developer Matthias Ettrich. The aim was to create a powerful, attractive and user-friendly windowing environment for users of Linux and other flavours of UNIX. The developers had recognised that while UNIX had gained acceptance among academics and other technical users in the computing community, newcomers were being avoiding it because of its complex nature.
The KDE project's man goal is to bring the power of UNIX to the "average computer user", and is built around the Qt toolkit. Qt, used for building the graphical front-end of applications, has come under fire in the past few years because it isn't licensed under the GPL. Troll Tech, the Norwegian company that owns Qt, have made the source code available under their own QPL license.
GNOME, KDE's chief rival in the desktop environment contest, uses the Gtk+ toolkit which is licensed under the GPL. Consequently, many heated debates have arisen over which should be the 'standard' GUI for Linux. Red Hat have adopted GNOME as their default desktop, and the arguments look set to continue.
Installing KDE is made simple thanks to well-planned packaging. Standard KDE distributions contain the kdebase, kdelibs and kdeutils packages, while extras like games and administration tools can be added with kdegames and kdeadmin respectively. Other packages exist for multimedia and networking. Even when installing single programs or building new applications from source, they're usually added to the main KDE program menu, which makes life considerably easier for new users.
The menu editor in action. Items can be dragged and dropped into other menus.
When first started, KDE has a similar appearance to Windows 9x, with a button for displaying the program menu in the bottom-left corner, and a taskbar that shows the currently-running applications. Icons on the desktop are present for starting programs and mounting disks, while the panel along the bottom of the screen can contain extra program-launchers and small applets that run in the background.
While all this takes up a fair amount of screen space, the panel can be 'rolled-up' leaving a small tab for retrieving it. Also, it can auto-hide and the taskbar can be removed completely, providing more room for icons and windows. KDE's panel holds the buttons for switching between the virtual desktops, which can number up to eight, and each can be renamed.
The window manager, KWM, adds a 'sticky' button to the tops of windows, making them visible in all virtual desktops. KWM fits in well with the panel, and maximised windows automatically resize themselves when the panel is rolled-up. Keys for basic operations such as closing windows and launching the program menu are ready-to-go, and can be redefined through the comprehensive Control Center.
General configuration of KDE is a breeze with the Control Center. Everything from the desktop background through to system sounds can be tweaked and tuned through its straightforward interface. There's also a detailed section on system information, including memory usage and X server setup, which is more elegant than searching through /proc and could prove to be invaluable when installing new hardware.
With the KDE 1.x series, themes mainly alter the appearance of KWM. The Qt toolkit widgets can switch between a Motif or Windows-style look, while a number of colour schemes are available to bring a change from the plain, default grey design. Adding themes is a relatively simple process, and they can be applied through the excellent KDE Theme Manager.
KDE's theme manager at work. Various themes are supplied for imitating the look of other OSes.
Modifying the main program menu is achieved through KMenuEdit, which provides drag-and-drop and uncomplicated dialogs for adding new menu entries. In order to maintain ease-of-use for all users on the system, only root can change the entire menu structure. Normal users have their own personal menu, and links to the GNOME menu (if present) are included too which is a nice touch.
We found KDE to be a powerful and user-friendly working environment, with generally good documentation well thought-out configuration tools. In our tests, the system demonstrated competent reliability, and although the KFM file manager crashed a few times on us, it could be restarted without hassle. Obviously, running a whole desktop environment eats up system resources far more that a single window manager, but for the extra functions it provides, you may find it worth it.
Ease of use: 10/10
Overall: 8/10 - A complete, well-featured desktop environment with excellent configuration utilities.
AfterStep 1.8.1 - http://www.afterstep.org
The default AfterStep layout, with the Wharf along the right-hand side and pager in the top-right corner.
Many window managers get their inspiration and ideas from other styles of desktops that have gone before. One particular favourite of many developers is the NeXTSTEP desktop developed by NeXT Inc. (and taken over by Apple). NeXT was a complete computing platform and more than just a GUI, and an open source project called GNUstep is working on a creating a full NeXT-like system for UNIX.
AfterStep aims to recreate the cosmetic side of NeXT, while providing any extra features users may need. The code actually started with BowMan, a window manager based on FVWM (which in turn was based on TWM!), and after it started to become a fully-fledged window manager in its own right, the project changed its name to AfterStep.
Excellent transparency effects with one of the supplied themes. The terminal window is an ATerm.
Installation by RPM format is straightforward and shouldn't pose any problems. Usual package sizes are just over 1.1 MB, depending on the included extras, which makes it a feasible download for most users. AfterStep will run with just the plain XPM graphics file library, but extras like libpng are recommended to make the most of it.
When first started, AfterStep creates a ~/GNUstep/library/AfterStep directory in your home directory for storing its configuration files. Different setups are supplied for varying colour depths, which enables you to get the most from your display.
If you're not familiar with the NeXT interface, AfterStep's default setup can be daunting. The layout is rather unusual at first and takes time to get to grips with. The most visible component is the 'Wharf', which acts as a place to store icons. Running applications can be 'swallowed' into it, and extra program shortcuts can be added too. By right-clicking on the Wharf, you can roll it out of the way (leaving just one icon to bring it back again). Up along the top of the screen lies the WinList, which allows you to shade (roll-up into the titlebar) and close windows from one place.
AfterStep also features a pager for working within multiple virtual desktops. The pager shows open windows on each of the desktops, and by dragging the titlebars of windows to the screen's edge, you can move them onto another desktop. With the right mouse button you can also move to any point between desktops, so you're looking at half of one and half of another.
The main menu is brought up by clicking on the desktop background with the left mouse button. Submenus for different categories of application start from here, and the menus can be pinned to the desktop and moved about. The titlebar includes buttons for maximizing and shading windows.
Actually, this is just with the default 'Feel'. Like themes, AfterStep has a number of Feel settings which define the actions that keypresses and mouse actions perform. If you're a totally devoted NeXT fan, you can opt for the PureNeXT feel. Others might prefer their desktop to behave more like MacOS or Window Maker.
Along with the abundance of Feel settings, there are plenty of graphic themes as well, ranging from the plain style of the original NeXT design to transparent themes which display the backdrop through the menus. Colour gradients can be applied to the titlebars and menus, creating some superb desktop schemes.
A very important feature which improves the functionality of the window manager is the idea of 'modules'. Instead of cramming everything under the sun into one big executable file, you can use smaller program modules as and when you need to. So, if you don't want the Wharf and want to save some memory, you can get rid of it without having to quit using AfterStep altogether.
In terms of altering AfterStep, the configuration files are plain text and fairly easy to get around. The menu structure corresponds to the directory structure in /start (in your personal AfterStep configuration directory), which makes it simple to navigate around. For altering the configuration of the pager and Wharf, you might need to consult the well-written documentation for more information, although many of the options are self-explanatory.
A configuration tool, ASCP, is available for graphically tweaking AfterStep to suit your needs.
AfterStep comes with an excellent and up-to-date FAQ, which should sort out most problems you're likely to face. It's split into sections for installation and usage, with extra bits on modules and themes. A small part is set aside for GNOME integration, and while AfterStep is not 100% compliant as yet, it works fairly well in the desktop environment.
In all, the NeXT-style of this window manager may not suit everyone and some may find it too fiddly. On the other hand, you may fall in love with the design and layout and never want to use anything else again. Whatever the case, without a doubt AfterStep is fast and reliable, with a huge range of configuration options and the ability to create some spectacular themes. Give it a try.
Ease of use: 6/10
Overall: 8/10 - Fast, with loads to tweak and modify. Not so easy to get started with, but worth it in the long run.
Enlightenment 0.16.4 - http://www.enlightenment.org
Enlightenment in all its glory with the Aliens theme. The Eterm on the right can be themed as well.
Philosophies vary greatly when it comes to the design of window managers. Some programmers set out to create a consistent desktop which keeps the same layout and functionality regardless of the theme in use, while others go for a no-limits approach where absolutely anything can be changed beyond recognition.
This is the goal of Enlightenment - to be as configurable as possible. The coders have crafted the window manager so that no programming is required, and all cosmetic features can be changed using graphics packages and editing configuration files. They also aim for the behaviour of Enlightenment to be equally tweakable, so that you can alter the way windows respond to mouse buttons, how virtual desktops are used and much more.
The e-Conf tool, showing the various settings for window moving and resizing.
Eventually, Enlightenment will be a complete desktop shell, providing a small file manager and support for miniature applet programs. Much of this is still on the drawing-board, and the majority of effort is being put into the main window manager itself. The developers say they will include any patch as long as it's clean and reliable, and doesn't restrict users in any way.
Typical packages are quite large, and the one we grabbed was about 3 MB. Extra themes and configuration tools can be downloaded in other packages. You may need extra libraries and software installed before you can run it, such as ImageMagick and the esound daemon (for using sound effects in the window manager).
Right from the word go, Enlightenment is keen to show-off in every way possible. A quick progress bar zips past, before the window splits into two, revealing the desktop underneath. Depending on the package you're using, the default desktop might not be as impressive as that opening sequence. If it has been set up for GNOME, you might have a very plain Windows 9x-style theme running. Enlightenment is fully compliant with GNOME, and on powerful hardware it works well with it.
Basic usage is simple - left-clicking on the desktop brings up an application menu (with handy links to the GNOME and KDE menus too), while right-clicking displays a list of configuration options. Windows can be iconified or shaded, moved about between the virtual desktops, and made 'sticky' so that they appear on all desktops. Aside from these basic operations, how Enlightenment behaves will depend greatly on the theme you're using.
Enlightenment is perhaps the most themeable window manager in existence. You can get the usual theme packages to mimic another operating system, but unlike most window managers, Enlightenment can also clone their behaviour as well. For example, normal MacOS and BeOS themes would play with the titlebars and create a general resemblance of the system they're trying to imitate, while Enlightenment can add new menus, icons and widget-styles to make far more convincing desktops.
The ApplePlatinum theme does a good job of impersonating the MacOS desktop.
Still, there are also a number of themes where artists have been let-loose to concoct the desktop of their dreams. From alien landscapes to video games, the sheer configurability of Enlightenment paves the way for some of the most magnificent desktops you'll ever see. Other notable features include the smart graphical pager which shows mini versions of your desktops, translucent moving of windows, and 'Dragbar' which lets you slide desktops down the screen (in the same fashion as Amiga Workbench) and move programs between them.
Despite this huge amount of flexibility, configuring Enlightenment is fairly simple with the built-in configuration panels. You can change almost everything from tooltip settings to KDE support directly from the desktop, which is a great help for less experienced users. Even themes can be changed with a few mouse clicks. A separate configuration program, e-Conf, can do most of the work too, and sports a pleasant keyboard-shortcut editor.
One point that deserves a mention is the online help system. Brought up from the menu, Enlightenment's documentation is concise, well-written and informative, with sections on working with the pager and managing themes. Enlightenment is undeniably aimed at power-users, but these help files are a very welcome addition.
It has to be said that Enlightenment needs some powerful hardware to support its graphically-intense themes and vast range of features. If you're running a low colour depth on a slow processor, you'll probably find it too sluggish and resource-hungry. For users with more powerful machines, though, it's an incredible window manager that can do just about anything you need. If you like a change of theme every day, you can't go wrong here. We experienced a couple of crashes, but problems weren't too common and, in general, we found Enlightenment to be well-designed and friendly to use.
Ease of use: 9/10
Overall: 9/10 - Pure hedonism, with a gigantic amount of features. A superb range of themes too.
Window Maker 0.62.1 - http://www.windowmaker.org
The Newday theme, with gradients over the icons. You can see the configuration windows for docked programs.
Like AfterStep, Window Maker is designed to recreate the NeXTSTEP desktop on the X Window System. The main programmer, Alfredo K. Kojima, was a developer on AfterStep before starting work on the Window Maker project. Kojima wanted to write a new NeXT-like window manager from scratch, rather than work with the old AfterStep code base.
While Window Maker is a standalone window manager, it's also part of the larger GNUstep project which aims to create a cross-platform application development framework, based on the OPENSTEP specification that NeXT used. This is still very much in development, but Window Maker is approaching a version 1.0 release and is one of the post popular window managers available.
The main RPM package is about 2 MB, and it's important to note that the libPropList library is needed to run Window Maker. It's a very small download and you should be able to get it from the same place you grabbed the window manager package. Graphical libraries for PNG and JPEG images are useful too.
Window Maker, like AfterStep, stores its configuration files in the ~/GNUstep directory tree. This is where you can add your own menus, backdrops, themes and even sounds. You can also modify the 'autostart' and 'exitscript' scripts and add commands you want to run when the window manager is started and shut-down respectively.
The standard desktop on first use is clear and uncluttered. On the right-hand side of the screen is the Dock, which holds icons for starting programs along with small 'DockApps'. These can range from usual programs like clocks and memory indicators, to even games of chess and the star of Doom groaning as system resources become scarce! With the initial setup, the titlebars don't resemble NeXT quite as faithfully as with AfterStep. However, Window Maker has a neater appearance and the old-style title buttons can be used if you prefer.
Menus can be pinned to the desktop as shown. Over on the right is the Dock, with AppIcons along the top-left.
Windows can be shaded with a double-click, and form small 'mini-window' icons when minimized. A very useful little feature is the Clip, which can switch between workspaces and hold extra AppIcons - small icons which resemble the running instance of a program. Right-clicking on the desktop brings up the main menu, from which you can launch programs, switch workspaces and log out.
Window Maker can create and remove workspaces on the fly, and you can freely move windows between them. Different workspaces can have individual keys and names assigned to them, and when you switch between them their names appear on the screen before fading away. There's a lot of careful attention to detail, and clearly considerable effort has been put in to create a clean yet still flexible working environment.
This point is highlighted further with the fantastic configuration tool. The 'Preferences' utility fits-in perfectly with the rest of the window manager, and can change almost anything you could want to. All the usual options for focus policy and window positioning are present, along with a keyboard shortcut editor that interactively 'captures' your keypresses, and a screen for fine-tuning your mouse settings.
But the best part of the configuration tool has to be the menu editor. Traditionally a window manager's menus would simply be edited by hand as configuration tools usually gave too much trouble. With Window Maker's, though, adding entries to the main menu just takes a few mouse clicks and keypresses. Changes are activated instantly, making the tool a joy to use.
The fabulous Preferences program lets you alter almost anything possible.
On the issue of themes, Window Maker performs very well. Almost everything drawn by the window manager can have gradients and images applied to it. These include horizontal, vertical and diagonal gradients, and pictures can be placed behind icons or titlebars. Of course, this starts to eat at the memory, but it lets theme engineers generate some dazzling results. You can even add sounds to match the events on-screen.
Support for some GNOME hints are included, although it's not fully compliant. Window Maker can even be used as a replacement to KWM in the KDE desktop suite. The documentation discusses the usage of Window Maker in other desktops like CDE, and the FAQ is comprehensive and well-written.
In our tests, we found very little to fault Window Maker. Despite it being a development version, we had no troubles with stability and it wasn't too heavy on memory usage. The carefully-crafted design and remarkable configuration tool, along with the powerful themeing options and general running speed, all add up to a fantastic choice on the desktop.
Ease of use: 9/10
Overall: 9/10 - Attractive, easy to use and a pleasure to work with. A first-class all-rounder.
FVWM 2.2.4 - http://www.fvwm.org
A typical FVWM desktop, with the button-bar, pager and clock in the bottom-right.
One of the oldest window managers in our roundup, the original F Virtual Window Manager was derived from TWM and intended to have a smaller memory footprint while retaining a rich feature set. FVWM also had support for virtual desktops and was mostly compatible with the Motif 'MWM' window manager. Nobody can remember what the 'F' stood for, but suggestions range from 'Fantastic' to 'Feeble'!
Initially, FVWM2 doesn't look very impressive when compared to some of the modern heavyweights like Enlightenment and Window Maker. However, it's very fast to start up and doesn't eat-up too much memory. Like AfterStep, FVWM uses modules to keep the program small. You can add individual modules like a pager and iconbox later.
In use, FVWM2 shows its TWM origin, although there are a number of enhancements. The main application menu appears when left-clicking on the desktop, while right-clicking shows a list of running programs (and which desktop they're on). FVWM2's design resembles that of MWM, and buttons can be added to the titlebar. You can drag windows to the edge of the screen and drop them on other desktops, while the pager shows a small representation of the open windows on all of the desktops.
One of the more useful modules is FvwmGoodStuff, which acts as a kind-of dock on the desktop, where you can add new program launchers, clocks and other useful bits 'n bobs. Setting it up isn't so easy though - the configuration file is complex in places and new users might find it tricky. Fortunately, most of the FVMW2 modules are well-documented and have separate manual pages. A couple of options can be modified from the main menu, including focus policy and the ability to switch desktops when the mouse hits the screen edge.
A small amount of themeing can be performed on FVWM2, although nowhere near as extensive as with some of the larger window managers. Images can be placed on titlebars and buttons, and you can get new iconsets for more attractive minimized windows.
More FVWM action, with gEdit being used to change the main fvwm2rc config file.
FVWM2 really can't offer much feature-wise when compared to some of the more prominent window managers in this roundup, but it has the huge benefits of speed and reliability. We didn't suffer a single glitch or crash throughout our use of FVWM2, and it certainly feels fast and responsive.
Ease of use: 6/10
Overall: 7/10 - Not as feature-packed as others, but still very speedy with rock-solid stability.
The basic TWM desktop. It doesn't get much more fancy than this.
TWM is the classic MIT window manager, and stands for either Tab Window Manager or Tom's Window Manager (after the main author, Tom LaStrange). TWM has been important in the development of X window managers, originally being the code base for FVWM (which led on to BowMan and AfterStep). Also, other variants of TWM have appeared, including CTWM and VTWM.
When running TWM for the first time, it's not hard to think that it isn't a window manager. TWM adds no backdrops, taskbars or anything along those lines. Simplicity is the key with TWM - things like desktop backgrounds can be left to other programs. By default, you are presented with a small main menu, reachable by clicking on the desktop, and a couple of titlebar buttons for resizing and iconifying.
And that's about it. There's an icon manager to work with minimized programs, and you can edit the reasonably simple configuration file to add new titlebar buttons, colours and menu entries. For many, this type of desktop would be unbearably desolate, but for others it's completely undistracting and could be an ideal working environment.
Because of TWM's lack of features, other developers have taken the code and added new functionality to the window manager. VTWM is a version that incorporates virtual desktops (probably the most popular feature that TWM was missing) along with 3D window borders in the style of FVWM, and more. Essentially, though, it's the same to use and configure.
An important thing to note about TWM is that it's included in most distributions of XFree86. If your favourite window manager is having difficulties and you need a quick alternative, TWM will usually be available.
VTWM is an extension to TWM which includes virtual desktops and a pager.
In the end, whether you like TWM or not will depend on your needs and whether such a featureless environment will help or hinder you. It's definitely lightning-fast to use and we had no problems with reliability, which are often the benefits of petite window managers like this. Still, it's probably on your machine somewhere, so you can give it a spin straight away!
Ease of use: 5/10
Overall: 5/10 - Small, fast and severely lacking in features. This might be your ideal desktop...
Blackbox 0.51.3.1 - http://blackbox.alug.org
One of Blackbox's included themes. The bar along the bottom cycles through windows and workspaces.
Blackbox was written from scratch to have a small and easily-maintainable code base, and this latest stable version was built from just over 14 thousand lines of code (including comments and headers). Blackbox heads for sheer speed and a no-nonsense interface for the user. Consequently, there's no support for any image formats - everything is drawn on the fly which saves time and memory.
We compiled and installed Blackbox from source, and the process went smoothly without any hiccups. Initially, the window manager looks like a cross-breed of Window Maker and IceWM. A small panel lies along the bottom of the screen, which displays the current workspace name, the time, and the title of the currently-focused window.
The main menu is displayed using a right-click on the desktop. This menu can be dragged around the screen, as with Window Maker and AfterStep, and windows can be shaded with a double click on the titlebar. The toolbar has switches for cycling through the workspaces and focused windows. It's quite unique and strange at first, but it takes up less room than a conventional taskbar and looks more attractive.
Even though no images can be used, Blackbox compensates by using gradients wherever possible. As demonstrated by some of the supplied themes, this is excellent for developing metallic-style effects and is put to good use. Themes are stored in single, small text files so altering them by hand isn't too difficult.
Configuring the rest of Blackbox is fairly easy too as all options are, by default, stored in a single .blackboxrc in the user's home directory. Most of the options are self-explanatory and the menu format is pretty clear to work your way around.
Editing the configuration file, with the main program menu to the right.
Blackbox definitely achieves its aim of being ultra-fast, and it was quite reliable in our tests too. The whole style of the window manager is rather individual and it might put you off, but we found the efficiency and speed of use to be a major plus-point. The supplied themes are pleasant too, and everything keeps to a minimum, making it ideal for laptops or machines running X at a low resolution.
Ease of use: 7/10
Overall: 7/10 - A minimalist appearance that may not suit everyone, but still worth investigating.
IceWM 1.0.3 - http://icewm.sourceforge.net
IceWM in action, with the default Warp3 theme. The text editor shows the simple format of the menu file.
The Ice window manager was named by its principal author, Marko Macek, because he started writing it "on a very hot day". IceWM has been in development for a few years, and the main idea behind it was to create a small and fast window manager that had a good 'feel' as well as appearance.
IceWM is written entirely in C++ and the RPM package weighs in at less than 300 kilobytes, making it a quick download. The default builds only include XPM graphics support, but if you rebuild from the source code you can add other image formats as well. IceWM isn't over-reliant on extra libraries, so installation is usually goes without any troubles.
When first launched, IceWM clearly shows influence from Windows 9x. The screen layout is similar, with a bar along the bottom containing a program launcher and taskbar. The default theme is based on OS/2, and produces a clean and uncluttered desktop.
Basic operation of IceWM is second-nature to anyone familiar with Windows. The taskbar squeezes-in icons of running programs, while the main menu is supplemented by small launcher icons to the side. A window list can be brought up if the taskbar gets overcrowded, while a clock and CPU monitor lie to the right. A mail indicator and power-management monitor can also be added. The taskbar holds buttons for switching workspaces, which can bind to specific keypresses.
The configuration files for IceWM are all in plain text format and very simple to understand, in particular the menu file. Still, there are a few graphical configuration programs available such as IcePref and IceConf, which permit the changing of focus policy and fonts etc.
The IcePref configuration tool can alter most IceWM settings and sports nice colour-picker dialogs for the titlebars.
IceWM comes ready-supplied with themes for imitating Windows, along with the Motif and Gtk+ toolkits. The Gtk+ one is especially useful as IceWM is fully GNOME-compliant and makes a speedy alternative to Enlightenment on older hardware.
For its size, IceWM packs in an impressive range of features. While it's bound to be limiting in comparison with some of the heavyweights like Enlightenment, the swiftness and small memory footprint make up for it. Being GNOME-compliant is a great bonus, and the variety of themes available ensure variety on your desktop.
Ease of use: 7/10
Overall: 9/10 - Fast and reliable, and works well in lower resolutions. Excellent with GNOME.
Looking at the eight window managers on test here, it's becoming increasingly apparent that design philosophies vary greatly between developers. Some are aiming to create lightweight yet functional programs which don't munch through valuable system resources, while others are trying to include every possible feature and create rich, complex environments which are capable of anything.
Of course, none of those attitudes are wrong. What you want depends on your needs and personal preference - you might find anything more than a titlebar a distraction. On the other hand, many users want all their toys instantly reachable, and enjoy managing a busy desktop.
The real issues, then, are those of speed and stability. On a production machine the latter is going to be of prime importance - a plain but stable window manager will be less stressful in the long run than a pretty but problematic working environment. From the window managers we've looked at, the older programs like FVWM and AfterStep lead the pack in terms of reliability, simply because their code has been examined and tuned for over longer periods of time. Window Maker and IceWM proved to be very solid as well, but we still spotted the odd glitch here and there.
Another important issue is that of configurability versus standards. Many window managers, like Blackbox and the KWM+KPanel combination in KDE, permit a small amount of themeing but keep the same style of operation. This means that a new user can approach the machine and start working without having to learn the behaviour of the theme itself. This makes life considerably easier in the workplace or when other family members want to use the machine and don't have their own accounts.
On the subject of themes, we were particularly impressed with the extent to which AfterStep and Enlightenment in particular could be changed. The transparent menus of AfterStep and complete flexibility of Enlightenment have lead to some awesome effects and stunning desktop designs.
If you work with a highly cluttered desktop and run a lot of applications simultaneously, you'll want to take note of the virtual desktop handling. The basic click-to-switch methods of Blackbox and IceWM work well enough, but having a graphical pager to drag windows around may be a massive help. Enlightenment's pager is one of the best examples we saw, with its mini snapshots of the current desktop state.
We've seen a variety of configuration methods and tools in this test, and excellent progress is being made all-round. Window Maker has its brilliant Preferences tool, while Enlightenment has configuration panels built-in and work extremely well. This is important for new users; those familiar with their window manager may prefer hacking the configuration files by hand. Even so, having well-structured files helps a great deal, and in this respect we were impressed with the clarity of IceWM's files and the directory-based organisation of AfterStep's menus.
Finally, we should give a mention to some of the less-popular window managers that weren't on test here. Aewm, Lwm and Wm2 are hugely minimalist desktops (more so than TWM!) which provide hardly any features whatsoever. Before you start one of these, read the docs and make sure you know how to exit it...
There are a number of window managers that go all-out in emulating the desktops of other operating systems. AmiWM provides a simple clone of the Amiga Workbench, while Mlvwm (Mac-like virtual window manager) attempts to recreate the Apple Macintosh on your Linux box. An unusually impressive imposter is Qvwm, which acts very much like the Windows 9x desktop, with a taskbar, Start menu and multitude of themes. It even has virtual desktops - something the real Microsoft Windows doesn't have!
AmiWM recreates the Amiga Workbench on your Linux box.
Is it Windows, or is it Linux? Qvwm does a smart job of imitating the Windows 9x desktop.
Sapphire aims to be small and fast, and looks similar to Blackbox. Sawfish (previously known as Sawmill) is extensible through the Lisp language, and works well with GNOME, while FVWM95 is a variant of FVWM2 that looks a bit like Windows 9x. GtkWM and wmG head for GNOME compliance, and OLWM is Sun's window manager for OPENLOOK.
Sapphire is a small and fast window manager, with an appearance similar to Blackbox.
The Internet is full to the brim of window manager-related information. For a very comprehensive guide to the main WMs around today, see www.xwinman.org.
Breakdown of features
We tested the window managers on a 32 MB 233 MHz PC running Linux-Mandrake 6.1, with a 14" monitor and 4 MB S3 Virge graphics card. Note: the package sizes and memory usage statistics below should only be used as a rough guide. Memory usage varies from system to system, and is affected by themes etc.
KDE - KWM+KPanel
Package size: Included in kdebase package
Approx. memory usage: 4700k
Pager: Yes (kpager)
Config tool: KDE Control Centre
GNOME compliant: N/A
Package size: 1.1 MB
Approx. memory usage: 2200k
Config tool: ASCP
GNOME compliant: Partial
Package size: 3.0 MB
Approx. memory usage: 3000k
Config tool: built-in/e-Conf
Themeability: Very High
GNOME compliant: Yes
Package size: 1.9 MB
Approx. memory usage: 2200k
Config tool: WPrefs.app
GNOME compliant: Partial
Package size: 677k
Approx. memory usage: 1300k
Config tool: FvwmConf
GNOME compliant: No
Package size: Included with XFree86
Approx. memory usage: 1600k
Config tool: No
GNOME compliant: No
Package size: 163k
Approx. memory usage: 2100k
Config tool: None
GNOME compliant: No
Package size: 295k
Approx memory usage: 1000k
Config tool: IcePref/IceConf
GNOME compliant: Yes
First published in Linux Format magazine