The Linux Guide Online

Chapter 06 - Window Managers

This chapter covers a variety of window managers that are available for the XFree86 server. As you have learnt in the Chapter 5, that the X11 system provides the base for the various window managers that run to provide the user interface.

6.1 Introduction to X11 Window Managers

Using Linux and the XFree86 distribution of X11 means the freedom of choice. The choices of not only how the GUI looks like, but also the very interface itself if totally changeable. This look and feel of any Linux GUI depends entirely on the Window Manager, with the X server only providing the functionality. The Windows manager is nothing but a simple X client that executes first and provides "windows" for the other, later, tasks to execute. Since the window manager itself is a client it must be possible to run the X server without a Window Manager. Do the following as an exercise to see how invaluable the Window Managers really are.

Make a copy of the .xinitrc file. Then edit the file to delete all the lines and include just one line as shown below

$ exec xterm

Run the 'startx' and see the X server based terminal that is created. Note that this terminal is different from a normal terminal, as it is graphical in nature. Quit the server using either the "exit" command or the Ctrl+Alt+bkspace key combination. It will be pretty obvious to you that without the movable multiple windows, there is not much you can do. There come in the Window Managers. Remember to restore your .xinitrc file.

XFree86 server comes with a number of window managers and you can also install others. Most will be in the form of rpm files that can be directly installed. Following is a quick overview of the various Window Managers. But the real experience comes when you actually change to the manager and explore its various options.

6.2 tvm and fvwm

The tvm or the Tab Window Manager comes with the XFree86 distribution. It provides the basics of Windows such as customizable keyboard and mouse, Icons, Resizable windows and Window Titles.

The fvwm or the F Virtual Window Manager is a descendant of the tvm and has many advantages like using lesser memory and supporting fancier decorations. It may not be the wackiest of Managers but provides the pager and Virtual Screens.

Left clicking anywhere on the desktop brings up the system menu. The many options can be experimented with. For example through the Preference you can change the colors, backgrounds and the mouse speed. You can also save you settings by selecting the save desktop. Window options include resize, move, hide, close, tile among others.

You can also create a number of virtual desktops that can have different clients running on them, and the desktops can be changed with a mouse click from the desktop panel. You can also customize each of these virtual windows in any way you want. That is the power of Linux.

There is a newer version of FVWM called the FVWM2 that has an interface very similar to that of Windows and even goes as far as having a "Start" button. The fvwm startup file, like that of the tvm, is located in the /etc/X11/fvwm directory. Copy the file called system.fvwm to you home directory as .fvwm file and edit it to change your settings.

6.3 AfterStep

Afterstep is one of the more elegant looking Window Managers, yet another descendant of the fvwm Window Manager. It was designed to have the look and feel of NextStep, a popular GUI for UNIX. It goes beyond Next interface and adds some useful features. The Manager incorporates a wharf (a floating window) for applications, a root menu, and distinctive icons. If you right click on the AfterStep icon or any where on the wharf, it minimizes into an AfterStep icon. The wharf looks like a table with drawers coming out. It can contain running applications and folders of programs. It also has a work panel that allows you to switch between different Virtual Windows. The Open Windows appear on top. If you move the mouse to another window it becomes active, without having to click on it, and the window color changer correspondingly. On the active window there is an option to minimize it. When you do that it folds like a curtain on a bar. You may also iconify it whereby it turns into an icon after showing a nice animation. The top bar has options to resize, maximize, minimize, quit, kill, take a screen or window shot. One small icon on the top left switches to the next open window.

The default system wide configurations are found under the /usr/share/afterstep directory. "afterstep" is the name to specify in the .xinitrc to use this particular Window Manager. When run for the first time it creates default configurations under the GNUstep directory of your home directory. You can control many features through these files such as the look of the desktop, the color scheme and the window handling. More information can be obtained from www.afterstep.org.

6.4 KDE

One of the most popular Window Managers in the recent times has been the K Desktop Environment or the KDE. Its similarity to the interface of Windows is the reason for its fame as the first WM to have brought Desktop ease of use to the Linux OS. It has a browser kind of interface, with limited functionality too. Similar to GNOME, KDE has a panel that can be hidden, that contains navigation to the Virtual Desktops and also has short cuts to the various programs. The K icon resembles the familiar "Start" windows menu. It also has icons to easily and quickly access the floppy, CD-ROM and the printer as well. There is an exhaustive help on KDE that has a browser feel to it. There are also options available to unclutter the desktop, arrange the windows and lock the screen as well.

KDE provides a taskbar at the top where all the running applications appear. The taskbar or the familiar Alt+tab combination can switch between the running applications. The Ctrl+tab keys or the Ctrl+Function key can be used to select the various virtual desktops.

One additional feature of this Manager is that it provides tooltips or balloons that have hints about the object that is currently under the cursor. Anybody who is familiar with windows will find this option very useful, in fact reassuring. Internet users too have a number of useful clients under the Internet menu, a PPP dialer, news and email clients and more. The Kppp is a powerful PPP dialer, similar to the Windows dialer but very much more powerful and can generate logs too, statistics and even calculate the cost of your Internet connection.

Installation of KDE can be done by compiling the source or by installing pre-compiled binaries. The pre-compiled binaries can be installed as rpm files that are available as a set of about six different files that can all be installed using the command

$ rpm -ivh kde*.rpm

KDE components are installed in the /opt/kde directory. To launch and use KDE clients, you'll need to add the /opt/kde/bin/ directory to the PATH variable in your system. You should also define the $QTDIR to point to /usr/local/qt directory and add the /usr/local/qt/lib and /opt/kde/lib to the $LD_LIBRARY_PATH variable.

6.5 Enlightenment

Any discussion about Window Managers is incomplete without mentioning Enlightenment. This Manager dazzles by its sheer looks and power. It provides tremendous flexibility and customization options. It has been designed for complete freedom - in everything, from background to borders. It was written from scratch, not once but twice leaving it with very few limitations. It offers themes to change everything in the window and also gives the option of associating sounds with the various actions and is fully GNOME compliant.

6.6 GNOME

So far we have discussed only Window Managers. GNOME (GNU Network Object Model Environment) is a desktop environment and not a Window Manager. GNOME is part of the future of graphical X desktop for Linux for a variety of reasons. The software is Open Source and may be built upon without any restrictions. The software supports multiple Operating Systems and external programming languages, and works with any GNOME aware Window Manager like the Enlightenment. It also uses the latest CORBA (Common Object Request Broker Architecture) that allow applications to talk to each other seamlessly.

GNOME has an interface that is similar not only to the Windows Environment but also to the KDE. GNOME is extremely easy and powerful. Its help features are friendly and useful. The File Manager has several advance functionalities that other FMs can only dream of.

GNOME consists of a number of software components (about 15 rpm files). Installation can be done using the glint tool or the rpm command.

One useful tool here is the 'switchdesk' command that automates the process of changing the next Window Manager. If you have a number of managers installed use this program to select the one of your choice.

In conclusion it can be said that, with the current, status enjoyed by GNOME it will be the preferred Manager of the future.