Window Managers Explained

By: Steve Singer
Thursday, September 16, 1999 06:44:21 PM EST
URL: http://www.linuxplanet.com/linuxplanet/tutorials/981/1/

Introduction

Introduction

Many users who are new to Linux are unfamiliar with the term Window Manager. The concept of a window manager does not exist in the Microsoft Windows world but plays an important role in managing the look and feel of your Linux environment. This article will explain the role of a window manager and briefly talk about some popular window managers available.

What is a Window Manager

A window manager is the piece of software responsible for managing the different windows that appear on your screen. The window manager controls the placement of windows, draws the borders and scrollbars, and is responsible for ensuring that your X-Windows programs get along. A window manager is usually started after the X server finishes loading, which is the application responsible for drawing everything onto your screen. It is the window manager, however, that controls much of the look and feel of your X-Windows desktop. Usually window managers also allow you to launch applications. The attached diagram shows how the pieces fit together. Window managers sit between the X-Server and X-Windows applications, controlling the placements and look and feel of windows. It is possible to run X-Windows applications without a window manager, but it is rather crude and limiting.

Choosing a Window Manager

Choosing a Window Manager

In the Linux world the name of the game is choice. You can choose your distribution, applications and even your window manager. The graphical interface on your Linux system can be completely different from your friends'. Your choice of window manager will set the graphical tone of your system. Different window managers are suited to different types of setups. The next few sections will briefly describe some popular window managers; which one you choose is entirely a matter of your tastes and needs.

Fvwm

Fvwm is a bare bones window manager without many of the thrills of newer window managers. Fvwm was originally based on the classic window manager twm. Fvwm, like all of the other window managers discussed here, allows programs to be launched from a menu which pops up when you click a blank spot on the desktop. Programs can also be launched from Fvwm by clicking on a customizable button bar called GoodStuff. Fvwm is an ideal choice for systems lacking much CPU power or memory. It trades off the fancier features in exchange for speed, and is the window manager I use at both home and work.

Fvmw95

Fvwm95 or Fvwm2 is an updated version of Fvwm configured to look like Microsoft Windows 95 complete with a Start menu. When talking about Fvwm95 many people have been known to say "If I wanted my computer to look like Windows 95 I would run Windows 95." However, Fvwm95 can provide a familiar look and feel to people switching over to Linux from Microsoft's operating systems. Fvwm95 is the default window manager on RedHat 4.x and 5.x systems. The contents of the Start menu can be changed by editing the fvwm95 configuration file, but dragging and dropping files on the desktop is not supported. Fvwm95, like Fvwm, has the GoodStuff button bar for launching application.

More Window Managers

AfterStep

Afterstep's look and feel is based on the Nextstep desktop from the NEXT operating system. Afterstep has many bells and whistles not traditionally found in the X-Windows world. For example, clicking on a mouse button will generate a beeping sound. Another eye catching visual cue is the way windows flip down in an animated fashion when you click on the minimize button. Much of the behaviour of Aftersteps can be customized through Afterstep's popup menu. Basic properties of the look and feel can be changed through the menus, but adding new programs to the popup menus still requires editing a configuration file. Afterstep is a good window manager for people who like flashy graphics or sound. It is also a lot easier to configure than some of the other window managers mentioned. I especially liked the ability to control the mouse speed through menus.

Enlightenment

Enlightenmnet is a window manager with the goal of being as configurable as possible. Enlightenment allows you to not only select between different border and window styles, but also to design your own. Enlightenment like Afterstep has many visual bells and whistles such as audio support and fancy borders. A graphical configuration program allows you to select between different Enlightenment themes (configurations) and control many aspects of the look and feel. However, there is still no easy way to add items to the program menu. The Enlightenment configuration files are cryptic when compared to the configuration files of other window managers. I also could not figure out what happened to windows once I minimized them. They disappeared from the desktop but I was unable to find an iconified version, nor was I able to bring up a window list. I played around with all of the themes included with RedHat 6.0 and found features lacking in all of them. The missing functionality can probably be added by changing the configuration files but the changes required where not obvious. I would recommend Enlightenment to experienced users who want fancy graphics in a highly customizable environment. Enlightenment might also be suitable for users with less experience if a desktop environment such as GNOME is running on top of it, but otherwise Afterstep might be a better choice for those seeking pretty graphics.

Changing your Window Manager

Changing your Window Manager

Once your X-Server starts, it runs the commands in the XClients script to start the window manager. Other programs that should run on startup can also be placed in the Xclients script.

To change your window manager you can edit the Xclients script. The system-wide version of the Xclients script is /usr/X11R6/lib/X11/xinit/Xclients. Unless you want your changes to affect the default settings for all users on your system, it is a good idea to leave this file alone. The file $HOME/.Xclients (where $HOME is your home directory) can contain a user-specific version of the Xclients file. Each user on the system is able to choose a personal window manager by customizing the Xclients file. This file is a shell script, and can be changed with any text editor. Using the system default version as a starting point is a good idea. Often you can change the default window manager by editing one line in the file, and some Linux distributions will allow you to change your window manager through a GUI interface. Each window manager has its own configuration file, or configuration directory tree. See the documentation for your window manager to learn more about customizing your environment.

Copyright Jupitermedia Corp. All Rights Reserved.