Installing Window Maker
The source for Window Maker can be retrieved from the primary web site at http://windowmaker.org/. 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 (http://freshmeat.net/) 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:
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.
Make sure the LANG and LINGUAS environment variables are not set to en_RN:
set | grep LANG
If this returns anything, then type:
set | grep LINGUAS unset LINGUAS
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/ld.so.conf 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 make
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:
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 \ --with-libs-from=-L/usr/local/WindowMaker/lib
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 installThe 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" >> \ /etc/ld.so.conf ldconfigThe first command appends the directory name to the end of the ld.so.conf 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/shareFinally, make sure the Window Maker binaries and scripts can be found by adding them to your PATH environment variable:
Special Reports: DevOps
Have projects in development that need help? Have a great development operation in place that can ALWAYS be better? Regardless of where you are in your DevOps process, Linux Journal can help!
With deep focus on Collaborative Development, Continuous Testing and Release & Deployment, we offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, advice & help from the experts, plus a host of other books, videos, podcasts and more. All free with a quick, one-time registration. Start browsing now...