Window Managers in Linux

April 18, 2005
In Linux, the concept of a GUI is different from that of Microsoft Windows OSes. While in operating systems like Windows 98/XP, the GUI is permenantly embedded in the operating system, Linux follow a different philosophy. In Linux,the act of rendering a GUI on screen follows a client - server architecture. You have got a server called XFree86 (later versions of linux ships with X.org which is the breakaway group of XFree86 due to differences in licensing issues) which listens for connections from X client applications via a network or local loopback interface.
Linux comes with a base X Window System, which includes many cutting edge XFree86 technology enhancements such as 3D hardware acceleration support, the XRender extension for anti-aliased fonts, a modular driver based design, and support for modern video hardware and input devices.
Window managers are X client programs which are either part of a desktop environment or, in some cases, standalone. Their primary purpose is to control the way graphical windows are positioned, resized, or moved. Window managers also control title bars, window focus behavior, and user-specified key and mouse button bindings.
Having said that, there are a lot of window managers for linux. So the user has the flexiblity to modify the look and feel of his GUI environment according to his tastes.
Some of the popular window managers in linux are as follows:
  • kwin — The KWin window manager is the default window manager for the KDE desktop environment. It is an efficient window manager which supports custom themes.
  • metacity — The Metacity window manager is the default window manager for the GNOME desktop environment. It is a simple and efficient window manager which supports custom themes.
  • mwm — The Motif window manager, is a basic, standalone window manager. Since it is designed to be a standalone window manager, it should not be used in conjunction with the GNOME or KDE desktop environments.
  • sawfish — The Sawfish window manager is a full featured window manager. It can be used either standalone or with a desktop environment.
  • twm — The minimalist Tab Window Manager, which provides the most basic tool set of any of the window managers and can be used either standalone or with a desktop environment. It is installed as part of X.org.
  • fluxbox - A very popular light weight window manager.
  • fvwm - Fvwm was designed to minimize memory consumption, provide a 3-D look (similar to from Motif's mwm) and provide a simple virtual desktop. Functionality can be enhanced by the use of various modules.
  • Afterstep - This is a window manager based on fvwm but designed to emulate some of the look and feel of Apple's NeXtStep interface.
  • IceWM - Another light weight window manager with a windows 98 like interface....these are just a few that come to my mind.

There are a lot more.

So what is the difference between a window manager and a desktop ?
The difference is that Desktop environments have advanced features which allow X clients and other running processes to communicate with one another and allow all applications written to work in that environment to perform advanced tasks, such as drag and drop operations; Cut, copy and paste data between different applications to name a few and, they supply their own range of integrated utilities and applications. This convenience and ease of use makes them particularly attractive to new users, which has made them very popular. A Desktop environment displays a more polished front to the user. Some of the more popular desktop enviroments are Gnome, Kde, XFce and cde.
You can also run the window managers as standalone. For example, try running twm window manager as follows from the command line:

# startx -e

To start twm, try:

# startx -e twm

This will give you a fair idea about the differences between window managers and desktop environments.

1 comments:

  • Hi Ravi,

    I bellieve you'll find that X.org is *not* a break-away group from XFree86. There were some license issues starting with XF86 4.4. But the other change was in the license for X.org (which pre-dates XFree86 [witness the version numbers! 4.5 for the latest XFree86, and 6.8.2 for X.org]). X.org no releases there software under the original MIT license, but they're using the GPL.

    David Chipman (dchipman[at]ican[dot]net)