Mar 2009
Note: A lot of people have asked why isn't window manager or desktop <insert name> mentioned? Because this is part 1 of what will probably many articles.
The X11 suite of graphical display capabilities sets policy but does not define application; this is to say it provides a vehicle to transport graphics using a protocol. There are advantages and disadvantages to such a method beyond the scope of this material excepting one particular advantage: the implementation of the X suite allows for the creation of a wide variety of graphical window managers. Although there is a great website that documents the wide array of window managers both large and small called xwinman lets take a look at window managers roughly in order of appearance.
NOTES: that the window managers shown here are mainstream ones. Most of the images are from xwinman's site which is definitely worth a visit. Last and not least there is no strict chronology - just a general ordering.
Although it cannot be installed and run today among the first
window managers was simply xwm and is noted at
xwinman.org as being the first:
xwm: Possibly the first... this dates back to 1985, before X11 itself. The version in the archive is from X10R4.
The closest wm that looks like xwm and similar ones
such as uwm is the Plan9 GUI repackaged as
9wm:
The older window managers did exactly what they were supposed to - provide windows. It must be noted that even the author started out using terminals (in my case HP terminals to old F and G class HP systems).
With the so called ancient/simple style of window managers done (note that simplicity will come back into play later) it is time to move on to the first window manager that has become a mainstay in the X world.
Xorg, Xfree and X11R all ship the tabbed window manager by
default. Twm does what earlier window managers could do with
enhancements such as a floating configurable menu and border colors
that can be modified in a twmrc file (typically kept locally per
user in $HOME/.twmrc). On many flavors of UNIX
twm is the graphics litmus test for getting X
configured correctly. Often the default detected
settings
won't work correctly causing the user pain if the default desktop
is a more modern one. A great way to subvert the issue is to
disable xdm or gdm and set
twm as the window manager in
$HOME/.xinitrc until the X configuration file is
fixed. Here is a sample twm default configuration:
Here is a heavily modified twm configuration:
TWM also had an extension called Virtual TWM or VTWM. VTWM could create a larger virtual desktop that could be scrolled to or navigated by hot keys. VTWM creates a large singular desktop and not actual separate desktops. Usually such a distinction is ambiguous (that is to say it is code dependent); the conceptual (and administrative) difference comes into play later.
Claude's Tabbed Window manager was a jump because not unlike
just plain twm it uses a central configuration file
but it is very extensible and inherently supported virtual desktops
and virtual paged desktops. The next two images are a default
ctwm page one and my own configuration that I used for
several years:
Motif Window Manager mwm is another window manager
generated by the core X11 development group. What is different
about mwm versus other managers is that aspects of
mwm are dictated directly using X instead of a layer
on top of it which means that a .Xdefaults file
dictates attributes versus a run control file. Here is a very
simple mwm screenshot from xwinman:
Here is a heavily modified mwm using background
images inside the title bars:
Believe it or not the FVWM window manager maintained by Rob
Nation has somewhat of a mystery factor about it - no one remembers
what the F means. There are theories of course but Rob and the crew
have pretty much given up on guessing what it means. That said,
fvwm is probably the most influential window manager
to date because it not only added a great deal of functionality but
started the idea of a window environment as well. The fvwm website has more details. Fvwm
development and maintenance is alive and well and is still a
popular window manager.
Some of the core features of fvwm are:
A slightly modified fvwm config:
With fvwm2 and advanced features within the X
suites comes the ability for a slightly more modern looking
fvwm configuration:
The power of FVWM is not the raw capabilities that it ships with but rather it was the first window manager to introduce the idea of allowing programmers to add to FVWM itself by adding modules. FVWM essentially did three things:
In other words FVWM was not just a window manager; it was also an X enabler and the work done by it set in motion the beginning of a radical change in the UNIX world, especially in the hacker realm.
In this text we took a look at the very first window managers and the window manager capabilities: in part two the material will branch out into the beginnings of the more full fledged desktop environments and how they related to window managers.