From the Desktop: W is for WindowMaker and West Coast
More than just NeXTStep
I have a confession to make, as I sit on this beach a couple of miles south of Half Moon Bay, California. I have never understood why anyone in their right minds would live in an earthquake zone. Never mind the fact a sizable percentage of the world's population does so. But after visiting San Francisco this week, I have to admit that in this particular instance, I have an inkling of why people would be willing to live here. This is a really beautiful spot on the planet Earth.
But the tales of a Midwestern boy wandering down the Pacific coast and meeting folks with blue hair are for another time, as I have been also in pursuit of knowledge concerning WindowMaker. I was using this desktop all last week, and I took the opportunity to contact its creator before I came out here. Through the magic of a wireless PDA connection, I have gotten the reply and can now write this week's column.
So if you catch the scent of brine as you read this, you'll know why.
Right from the start, WindowMaker is one fine looking graphical interface. You can see that a lot of care has been taken on the aesthetic properties of this X window manager. Aficionados of window managers will also note its similarity to NeXTSTEP's interface. The similarity is planned, of course, as there is no such thing as coincidence in an open source environment. But there's a lot more going on here than just another NeXTSTEP clone.
WindowMaker (or Wmaker for short) is a menu-driven interface, with pop-up menus rather than a Taskbar control. Menus are dynamically created, and can be configured to pick out any number of files and submenus. Submenus can be detached from the parent menu and pinned to the desktop, should you need to.
Two application controls exist in Wmaker: the Dock and the Clip.
The Dock lets the user drag often-used application icons over to it and lock the icon onto the Dock. This will keep the icon in place while Wmaker is running. The Dock is more than just a fancy taskbar, though. It can also serve as a drag-and-drop springboard to launch applications. By dropping a text of image file onto the appropriate viewing application's docked icon, that application will start and display the contents of that file. According to the Wmaker documentation, this will only work right now with the OffiX DnD protocol, but Wmaker's developers are working on others, like OpenLook and Motif. GnuStep is also going to add a lot more drag-and-drop functions when it is fully implemented.
The Clip also manages applications, but it does so from a workspace point of view. The Clip is Wmaker's interface to its multiple workspace support, for a start. You can tie applications to a specific workspace with the Clip and scroll through the workspaces using the arrow controls on the Clip.
The Clip is one of the most powerful weapons in the Wmaker arsenal, and I highly recommend you read all the documentation you can to take full advantage of its capabilities.
In fact, I have to make this one caveat about using this interface: its slick, its efficient, but its honestly is not the most intuitive thing to use in the world.
Perhaps it is because I never used NeXTSTEP, and only dabbled with AfterStep, but Wmaker's functionality did not leap out at me when I first started to use it. This does not mean that this is a poorly designed interface--far from it. It is so well put-together and integrated, it leaves new users feeling like they just stepped into a movie about 10 minutes after it started. The movie looks good, but clearly some catch up is needed to full enjoy the rest of the experience.
This is a job for documentation, and Wmaker's Web site provides enough of this to help new users (and more advanced users who have been away from it for a while) get caught up. Pay particular attention to the Clip's feature set, since a lot of functionality is poured into this nifty little tool.
Wmaker is highly configurable, as one might expect from such a robust interface, and most of its configuration is handled by WMConf, and easy to use control panel app. I loved playing around with WMConf, and tweaking the settings to my heart's content.
One thing users may want to do right off the bat with WMConf is to change Wmaker's default window cycling routines using Alt+Tab. The default settings are not what you'd expect, so use WMConf to eliminate the confusion.
By the way, you can configure Wmaker by hand, but I serious wonder why anyone would want to, given WMConf's ease of use.
Hand configuration of config files was a big part of the reason Alfredo Kojima began to create Wmaker in the first place. Kojima's journey to his own window manager began with a great love for FVWM, but a serious dislike for some particular aspects of the venerable window manager.
"I hated configuring everything in that .fvwmrc and having to learn its syntax (I was relatively new to Linux) just to change something as trivial as the color scheme (the default color scheme was too ugly)," Kojima explained. "So, I thought a window manager that allowed to customize such simple things in a simple way would be good."
As one might expect, Kojima had seen the NeXTSTEP interface and formed some strong opinions about it, as he relates:
"I thought the NeXTSTEP interface was really sleek and beautiful. I used to use and help developed AfterStep, which is also inspired by NeXTSTEP, but after a while it started becoming really difficult to maintain that code. AfterStep was based on another window manager called bowman, which was based on FVWM, which was based on TWM, which is based on etc, etc. So, starting a new window manager from scratch was the option I picked and hoped the other people that were on the development team of AfterStep, would do so, too."
Kojima realizes that a lot of people have pointed out how similar Wmaker is to NeXTSTEP.
"Some people think Wmaker is a complete copy of NeXTSTEP, nothing more, nothing less. But that's a misconception," Kojima said. "Wmaker lacks tons of things from NeXTSTEP and has other tons of things that have nothing to do with NeXTSTEP."
Working on Wmaker while working at Brazilian Linux company Conectiva is a lot of work, and sometimes this shows in the delays of Wmaker's releases, such as the recent release of 0.63.1.
"Basically I was busy with other things, was not as excited working on it as in the beginning (working on new things is always more fun), and the code base got so many changes that I was afraid to make a totally broken release," Kojima explained. "There were many unfixed bugs and probably many new ones. The more often you release, the less new bugs there will be since the previous release. But I got trapped in that dilemma: if I release now, there will be tons of bugs, but if I release later, I could get those fixed, or not."
Kojima's commitment to putting out a clean product shows in the overall work done on Wmaker, but he acknowledges there is still some ways to go. In the future, he hopes to address some of these issues, particularly stability.
If you can, I recommend a first look at another look at WindowMaker for your desktop. Let me know what you think, particularly if you see me at Linux World Expo in New York, which is where my sandy feet are about to take me next. Four days with my fellow geeks--my wife is so looking forward to my return...