This page was last updated 9 November 1997. If you have things to add, remove, or correct, email me and let me know. You may also want to visit my home page.

Note as of 1999-02-26: I quit updating this page because things started changing too fast. KDE, Qt, GNOME, GTK+, GTK--, Fltk, GGUI, and about a dozen other things have happened in the last year and a half, and I just couldn't keep up. I should probably at least fix the broken links, but I haven't yet.

X is Pretty now

For years and years, X was the ugliest GUI I'd ever seen, hard to use, and generally used to just run multiple xterm windows. But in the last few years, there have been a number of projects to make X much prettier and useful.

Of course, there were the abortive corporate attempts -- Sun had their OpenLook stuff, which wasn't open, was poorly designed (Maybe it was just that it was designed when the state of the art in GUI API design was pretty low. But the API is pretty lame.) and was never supported by anyone else. There was Motif, from OSF (now part of the Open Group), which defined all sorts of nifty things, but it suffered from the same problems. (LessTif is a plug-compatible version of OSF/Motif that makes shipping free Motif programs more feasible.) And they were generally pretty ugly -- at least compared to the Mac's MacOS, the NeXT, or even MS-Windoze. They were a lot better than the Athena Widget set which came with X.

But in the last few years, things have changed a lot.

First, there was Robert Nation's (and later Chuck Hines's) reimplementation of the Motif window manager, called fvwm. This started around 1993. It was built on twm, and it was really built to conserve memory, more than anything else. But it looked just like mwm, only prettier, and could be configured to look like other things as well. Also, it supported virtual screens, and its default setup was nice-looking. (There are other people's web pages about fvwm: Eric Kahler, Liem Bahneman, the CFAN (you may have to use a real FTP client for this one), and Tim D. Gilman's .fvwmrc ftp site ).

John Ousterhout, first at Berkeley and later at Sun, built a Motif-looking toolkit called Tk, which could be programmed in a highly dynamic scripting language called Tcl. Tk was free, and the standard Motif library wasn't, so there are a lot more Tk applications than Motif ones. (This also has to do with the difference in the APIs; Tk is a dream, and OSF/Motif is a nightmare.) Recently, Sun has created a new business unit for Tcl and Tk, called SunScript. They have produced a plugin for Netscape that lets you run Tcl/Tk applets.

SGI implemented a very nice GUI on their machines on top of X, called Indigo Magic; they had a window manager called 4Dwm, and their machines were always very pretty. They used their own enhanced version of the Motif widgets. I finally have a screenshot, courtesy of Sam Varner.

Then, there was fvwm2, which added a number of features and looked even better. It wasn't as small as fvwm1, but it was still pretty small. It moved a lot of functionality into separate plug-in modules, running as separate processes.

Around this time, Kaleb KEITHLEY released a hacked version of the Athena Widget library (the one that came with X) called Xaw3d, which is easiest to learn about by downloading it. It gave a 3-D look to the Athena apps, which was kind of nice. Not surprisingly, there are two non-standard hacked versions of Xaw3d which aren't named something else: Gustaf Neumann's, and apparently Dimitrios Bouras(dimitri@ee.ubc.ca)'s.

Then, there was BowMan, by Bo Yang, is this URL right? the email address on it is wrong which was an attempt to build NeXTStep (which has become OpenStep) on X and give it away. It was built on fvwm1. BowMan evolved into AfterStep, by the hand of Frank S. Fejes. But, more importantly, other people (many former NeXT fans) started writing applets to fit the look and feel of AfterStep -- things like ascd, asmodem, and ascdc, all from Rob Malda, and asload I need a URL . Alfredo Kojima released a hacked version of Tk called TkStep, which had the same look and feel as AfterStep, so you could run your Tk applications unmodified and have them look like NeXTStep apps. He stopped maintaining TkSTEP when he got so busy with WindowMaker; now Oliver Graf and Steve Murray have taken the project along and have made a TkSTEP version that works with Tcl/Tk 8.0, called TkSTEP 8.0. (also available from the Australian site.) Kojima also made a modified version of Xaw3d called neXtaw.

Alfredo Kojima is also writing his own window manager, known as WindowMaker (not the same as the window and door manufacturing system of the same name). It's a lot like AfterStep, but it's more NeXTish. It has a lot of fan pages: Peter da Silva's official mirror, Frank S. Fejes's tutorial on writing applications that talk to it, Tannoy's, Zion Industries' , Oz0ne's, BuRN's, Rob Malda's, Gnosis's.

GNUStep is a project to produce a full OpenStep implementation as free software. It will likely use some adaptation of WindowMaker as its window manager.

Vladimir T. Romanovski modified Xaw to produce Xraw, also. Xraw derives ideas but not code from Xaw3d.

The Common Desktop Environment, or CDE, is out (originally from OSF, now from the Open Group), and is starting to become popular. It costs bucks, though. A similar, free project is the K Desktop Environment, or KDE, which includes similar facilities. It has just entered its first beta on 20 October 1997; it looks truly amazing. It looks like it will take about ten megs to install. There's also something called fvwm-CDE(mulator) which supposedly gives a CDE look and feel to fvwm. I can't find any web pages with much info on fvwm-CDE. Is it vaporware?

Ben Buxton released a hacked version of Xaw3d called XawXpm, which lets you have pictures in the backgrounds of your windows -- which means you can have all sorts of nice textures. It also adds sound capability. He cautions that you should be careful with background pixmaps and an 8-bit display. The RasterMan built a stunning window manager called Enlightenment, previously known as fvwm-xpm, because it was built from fvwm2. Some people consider Enlightenment rococo. (I just think it looks incredible.) The new version is written from the ground up, without any fvwm code, and is much faster; he says it's still a ``development release'', though.

Hector Peraza modified fvwm2 to look like Win95; the result is called fvwm95. Eddie Lau also modified Xaw3d to look like Win95; the result is called Xaw95. Unfortunately, the Xaw95 pages seem to be gone; I don't know where to find them anymore. Please let me know if you know!

Troll Tech has released a much-easier-to-program GUI toolkit called Qt. It is used from C++, and can be used in X (looks like Motif right? ) or MS-Windoze. It is free for X when you're using it in free software or shareware. KDE is written using Qt.

There's also a GUI toolkit called XForms, which includes a nifty visual interface builder, and is free for non-commercial use, and there's something called GTK, which the Mnemonic browser uses, and which was originally developed for the GIMP. There's a little GUI builder for GTK called GUBI.

On 17 September 1997, Vincenzo Morello announced his cross-platform GUI toolkit, called mgui. Applications built with it can be compiled on Linux with X11 (and presumably other Unices with X11), in MS-DOS, Windows 3.1, or in Win32.

Someone has put together a Mac-like window manager.

There are also a couple of projects aimed at producing more good free GUI software, such as the Linux Interface Project, the LessTif project, and the Free Widget Foundation.

A lot of this work -- for example, fvwm, which is where a lot of the window-manager stuff started -- comes from the Linux community. People started using a free Unix at home on their own machines, and started working on making it look and work better, I suppose. It seems there has been a great deal of interest in Linux and FreeBSD from the mainstream -- I got my shoe salesman interested in Linux!

FreeBSD and OpenBSD haven't made quite as big an impression, but that may be because they're a little newer than Linux.

This sort of thing could be severely threatened in the near future by the reckless expansion of industrial property ``rights''(known as ``intellectual property'' in the US). There are organizations working to combat this; for example, the Union for the Public Domain, the League for Programming Freedom, the Free Software Foundation, and Computer Professionals for Social Responsibility.

You might also want to try this other place for information about these projects:

I know of one site that links to this page: the Unix Reference Manual Page.