Presenting Window Maker

Courting the Daemon, part 3

amanda

Compared to some of the x-window clients out there, Window Maker is a lightweight. Some have even called it antiquated. But just because something has been around for a while doesn’t mean it’s no longer useful. Granted, in the world of computers, software doesn’t age well. But there are exceptions to this rule, and Window Maker is one of them.

Unlike one of the desktop environment clients, like KDE or GNOME, Window Maker doesn’t create a virtual “desk” for the user. Window Maker is basically just a GUI for the Unix environment. A better comparison may be with Microsoft Windows 3.11. That old version of Windows was a GUI for the DOS (or DOS-based) system underneath, and it wasn’t trying to be anything else. Windows 95 and later, by comparison, created and managed a virtual desk, in much the same way the Macintosh GUI does. (The success of Microsoft Windows in this area is a topic of constant debate.)

You may ask why I chose to go with such an “old school” GUI client when there are more powerful ones available. Truth be told, I like Window Maker’s simple interface and design, and that simplicity is one of its greatest strengths. Unix, FreeBSD and Linux have all changed considerably over the last two decades. Window Maker has changed very little, and it still runs beautifully. The core design is versatile enough that with only minor updates it can still run with the best of them. The same can’t be said for many other x-window clients.

As for power, I didn’t give up a single kilobyte, because Window Maker gets along very well with KDE and it’s brethren. If you are using one of the environment clients, and still want or need the features it provides, then I have good news: you probably won’t have to give up anything! There is a good chance that Window Maker can manage them. For example, KDE’s file manager, Dolphin, is the backbone of KDE’s desktop environment. Most of KDE’s core file management functions are integrated within Dolphin, and I have found that this is where most of KDE’s power lies. I frequently run Dolphin as a client application from Window Maker, and it runs perfectly. So even when the KDE window manager isn’t running, most of KDE’s best features are easily available as options within the Dolphin file manager. I haven’t done extensive testing, but I have found that GNOME Files, the file manager for GNOME, and Thunar from XFCE, all run well as client programs within Window Maker.

Onward.

Most official sources for Window Maker include either a Linux instillation package (*rpm or *deb), or a tarball. I first used Window Maker back in my Linux days, and remembered the instillation being fairly straightforward. Users of the BSD series have the option of shaking the port tree, which is what I did:

/usr/ports/x11-wm/windowmaker/
/usr/ports/x11-wm/wmakerconf/

The first port is the only one you really need. Wmakerconf is a newer tool that adds and refines some configuration options. It isn’t essential, but it has some good uses, and it can’t hurt to have it available. Use the regular “make install clean” routine to install both programs.

One could also use the package instillation route:

pkg install x11-wm/windowmaker
pkg install x11-wm/wmakerconf

Personally, I would recommend going with the port tree “make install clean” method. Package installations usually provide a pre-compiled binary executable. For many application this is fine, but window managers tend to draw on a wide variety of system resources, and a packaged binary may not be the best for your system. By using the port method, you are more likely to get an executable that is tailored to your particular system. It takes a little longer than using a package, but it’s worth the extra effort.

When I first launched Window Maker, it looked something like this:

wm1

Note how Spartan the work space is when compared to one of the environment clients. This may be a bit intimidating at first, especially for someone who is used to seeing task bars and icons all over the place. But don’t worry. The configuration tool, called the preferences utility, can make things look better in a hurry.

I’ll talk about this utility in more detail further down, but the ability to change icon sizes is one of the many options it provides. The first thing I did was expand the size of the dock icons (the guys along the bottom and right margins) so that I could actually see them without squinting. Size can be set to something very small, like 8 pixels across, to something ridiculously large like 256 pixels. I just tried different sizes until I found one that my eyes agreed with.

In the upper left corner is the pager. As with most window managers, Window Maker can support multiple work spaces. The means of cycling through your work spaces, often called the pager app, is the paper clip icon. Clicking on this icon will allow you to add, remove, and name work spaces however you want. I usually keep my system between four and eight work spaces, but I understand that one can go as high as 64.

Now that I had the window manager working largely the way I wanted, I could start adding functionality to my custom system. The first thing I wanted was a good terminal program. FreeBSD is, at the end of the day, a variant Unix system, and that means it’s largely driven by a command line. I’m not going to get into the religious wars of command lines versus graphical interfaces. I’m just stating the facts as I see them: the best features of FreeBSD frequently require a command line interface. Fortunately, there are a number of choices in this area. KDE comes with one called Konsole, and Xterm is the “old reliable” of the X-Windows world. Both of these are fine, but I wanted one with some special options for customization. For this I chose RXVT. I had used this terminal program before, and there is even a variation for the Microsoft Windows world which I have in my Windows partition.

wm2

This is what a default RXVT terminal looks like. Like any terminal client, it provides a command prompt and very little else. Unix technology has it’s roots in the computer systems of the late 1950’s, where everything was done using a basic text screen. This echo is still apparent in most x-terminals. But again, the best features of Unix are usually tied to the command line. There are many users, especially Unix power users, who control their entire system through x-terminals, and rarely use the features of the GUI. Get to know the command line. It will become your trusted friend.

Getting back to RXVT, it offers a variety of options for screen geometry, colors, fonts, backgrounds images, and so on. It also has several variations, each with different features. The one I chose included unicode support, and is called “urxvt.” I wanted unicode support because sometimes I need to access my work computer from home, where I often deal with materials in non-Western languages in conjunction with on-line translation utilities. Unicode is a must for such work.

rxvt

URXVT in action, showing some of the options for colors, background images, and fonts. I’ve only scratched the surface of the various options this program has.

RXVT on the ports tree:

/usr/ports/x11/rxvt/

The version I use is:

/usr/ports/x11/rxvt-unicode/

Now that I had a good means of using the command line, I started to add some more features to my Window Maker install. One of the more useful features of Window Maker is what is called the “dock.” A lot of window managers feature a “dock,” which first appeared on the NextStep window manager (I think). It has been incorporated in many GUI systems since then. Even the Macintosh and Windows 10 GUI systems use a form of dock. Almost any application can be attached to the dock, but I prefer to restrict mine to system monitoring tools.

I shook the ports tree and installed these dock applications:

Window Maker network monitor

/usr/ports/net/wmnd/

Window Maker weather

/usr/ports/misc/wmweather+/

wmtime

/usr/ports/x11-clocks/wmtime/

wmmoonclock

/usr/ports/astro/wmmoonclock/

Some of my dock apps, like the clock and the network monitor, have obvious practical use. Others, like the weather reporter and the moon clock, are just for fun.

For other dock applications, visit the dock apps web site for ideas. Or, search “dock apps” in your favorite search engine. There are literally hundreds of dock-able apps out there, so if you know what you’re looking for, you’ll probably find something that will work.

One word of caution for FreeBSD users: before downloading a tarball or instillation package for a dock app, find out if it has been included in the ports tree. Over the years, many of them have been included. If the one you’re looking for is on the tree, then save yourself some trouble and install it from there. It eliminates a lot of guess work, especially when program library files and supporting utilities enter the mix.

Once I had my dock apps in place, I went back to the preferences utility. This utility provides a wide variety of options. It is usually built into the application menu by default (right click on the work space to see the menu), or it has an icon in the dock. This icon usually looks like the Window Maker logo with a wrench or screwdriver over it:

But in case it isn’t in either of these locations, it can usually be found at:

/usr/local/GNUstep/Applications/WPrefs.app/WPrefs

Failing that, the command line tool grep should find it in short order.

Explore the options within the preferences utility, and experiment. Just about every physical characteristic of the GUI can be customized in one way or another, so have fun with it. After such a session of experimentation, I managed to make my work space look exactly the way I wanted it. The result was something like this:

wm3

So now I had my own, personalized FreeBSD workstation. Now it was time to actually get to work. For that, I needed to start bringing in applications!


Some Window Maker links: