Installing Window Maker

by Michael J. Hammel

The source for Window Maker can be retrieved from the primary web site at You'll need two packages from this site: the source distribution and the libPropList source package. The latter package is a library used by Window Maker, which you must build and install before attempting to build Window Maker. End users probably won't refer to it much after building Window Maker, so we'll just look at getting it installed. At the time of this writing, the latest version of libPropList is 0.91 and the latest version of Window Maker is 0.61.

In order to make use of fancy graphics, you'll need the standard set of graphics libraries: libpng, libtiff, libjpeg, libgif and libXPM. All of these are fairly standard on newer Linux distributions. If you have an older version (more than two years old), you may want to check if these libraries are installed. If not, check Freshmeat ( for where to find the latest versions.

One other optional library is GNU xgettext. This library is needed only if you plan to use a language other then English, and then only if you want the messages displayed by Window Maker to be in that language. You won't need it, for example, if your root menu is in French. Internationalization is a topic all to itself, and since I have enough problems with English, I will leave it to someone better suited to its discussion.

If you're installing from source and you use Red Hat, there are a few rules to follow:

  1. Uninstall any existing Window Maker installation. Execute these commands:

        rpm -qa | grep -i window
        rpm -e package
  • package is the package name returned by the first command. If no package name is returned, then skip the second command.

    1. Make sure the LANG and LINGUAS environment variables are not set to en_RN:

        set | grep LANG
  • If this returns anything, then type:

        unset LANG
  • Similarly,

        set | grep LINGUAS
        unset LINGUAS
  1. Make sure there is a link from /usr/include/X11 to /usr/X11R6/include/X11:

        ls -ol /usr/include/X11
  • If this returns “No such file or directory”, then type:

        ln -s /usr/X11R6/include/X11 /usr/include/X11

Building is a breeze if all the prerequisites are installed. I installed under /usr/local/WindowMaker (both the libProplist and Window Maker packages), which required updating the /etc/ file and running ldconfig afterwards.

We'll skip installing the graphics libraries, since most users will probably already have these. Once you've downloaded them, unpack the libPropList and Window Maker source packages into their own directories using the following commands:

tar xvzf libPropList.tar.gz
tar xvzf WindowMaker-0.61.tar.gz

This will create directories called libPropList-0.91 and WindowMaker-0.61. Note that the file name is dependent on whatever the current versions are.

In the libPropList directory, there is an editable configuration file (plconf.h), but this probably isn't necessary. Just run the following commands:

 ./configure --prefix=/usr/local/WindowMaker

The first command configures the source to be installed under /usr/local/WindowMaker. If you've read any of my other articles, you'll know I install new packages in their own directories under /usr/local. Since so many Linux applications are evolving entities, this sort of product management makes upgrading from source code much simpler. In this case, since I don't expect to use libPropList for anything other than Window Maker, I'll just stuff it into the same place I'm going to install the Window Maker files.

Once the source has been compiled (via the make command), you need to change to the root user via su or sudo and run the following command:

make install

At this point, libPropList is installed, and you will most likely not have to deal with it any further. Be sure to exit from the root user account.

Building the Window Maker source is just as simple. The configure script has many options. Although you probably won't need to use any of these options, you should still read the INSTALL file to be certain. Options that might be useful include --enable-kde to run Window Maker with KDE, --enable-gnome to run Window Maker with GNOME, and --enable-sound if you like annoying sounds associated with certain actions on the desktop.

I'm not going to be using Window Maker with GNOME or KDE, so my configure command looks like this:

./configure --prefix=/usr/local/WindowMaker \
   --with-incs-from=-I/usr/local/WindowMaker \

Note: the “\” is a continuation character which allows you to spread a command over multiple lines.

Now, we just need to build and install the package:


Change to the root user and run:

make install
The last step for installation of the Window Maker source package is to make sure the Window Maker and libPropList libraries can be found when you run the window manager. To do this, run the following commands:
echo "/usr/local/WindowMaker/lib" >> \
The first command appends the directory name to the end of the configuration file. The second command tells the operating system to reload that configuration because a change was made.

The last three commands were all run as root, so now you can exit from the root user back to your normal user account.

The next step is to install the Window Maker data package, which includes a set of pixmaps for use with Window Maker. This package requires manual installation by copying the pixmaps to the proper directory. Change to the WindowMaker-data directory (after unpacking it). If you installed Window Maker in the default directory, /usr/local, then you can use the following command:

cp -r pixmaps /usr/local/share

In our case, we installed under /usr/local/WindowMaker, so we'd use a command like this instead:

cp -r pixmaps /usr/local/WindowMaker/share
Finally, make sure the Window Maker binaries and scripts can be found by adding them to your PATH environment variable:
export PATH=$PATH:/usr/local/WindowMaker/bin
The First Time

Now that you have Window Maker installed, it's time to see what you're getting. Before starting the window manager for the first time, you need to run wmaker.inst, a script that should be in the bin directory of the installation (/usr/local/WindowMaker/bin in my case) to set up your user ID to use WindowMaker. This script will check for the presence of “wmaker” in your .xinitrc, .Xsession and .Xclients files using a simple grep command. If the script finds such an entry, it assumes WindowMaker is your default window manager. This isn't necessarily the case (my .Xclients, for example, includes a reference to wmaker that won't actually launch the window manager), so you may need to configure it manually in order to use wmaker.

There are many ways to configure your login to use a particular window manager or X application at startup. In the previous article in this series, I discussed the use of the .Xclients file. Let's review this process very briefly (if you need a more detailed description, see the previous article on Enlightenment).

All Linux distributions use some script interface to a program called xinit to start your X session. These scripts will, if they are the standard scripts that have been used for years, eventually run your .Xclients file to launch applications and your window manager. Therefore, the simplest method of getting Window Maker to be your default window manager is to create a file called .Xclients in your $HOME directory. Chances are this file doesn't exist yet (unless you created it once before). Add a single line to it:


Note that you do not want to place this command in the background. For example, wmaker& would be incorrect; this would cause your X session to start up and then immediately exit. You also do not need to specify which shell to use when this script is run. Many scripts begin with something like

but .Xclients does not need to have such a line.

Once you've created (or modified) your .Xclients file, you're ready to start up Window Maker for the first time. How you do this depends on your distribution, but I log in using an ordinary text console, then type startx to get things running. If you use a graphical login, you may need to log out and then log back in.

The first time you start Window Maker, it will create a set of directories for you under $HOME/GNUstep. These directories are where you manage menus and themes. The sidebar describes what you'll find in these directories. Unless otherwise specified, you shouldn't edit these files by hand. Most have graphical interfaces, such as using an application's “Title Bar Attributes” menu option or the “Settings” menu option for a docked applications icon.

GNUstep Directories

If you are running Window Maker using a language other than English, you can switch to language-specific menu files. The INSTALL file in the source distribution describes how to set it up for using alternate languages.

Now you are ready to run. More about Window Maker can be found in my article “Artist's Guide to the Desktop, Part 3” in this month's print magazine.


Michael J. Hammel ( is a graphic artist wanna-be, a writer and a software developer. He wanders the planet aimlessly in search of adventure, quiet beaches and an escape from the computers that dominate his life.

Load Disqus comments