Window Maker -- the Small, Fast, and Easy to Configure Window Manager
If you're tired of wading through the muck of a heavy-duty Linux desktop
like KDE or Gnome, you may well want to consider the much lighter
Window Maker. Window Maker isn't a full desktop manager, it's
classified as a window manager. None-the-less, it sports many of the features
of a full desktop manager in a footprint that is only a fraction of that
used by the heavy weights.
Some good background information about Window Maker is available at
Wikipedia. You can
read more about how to install it, configure it, and use it at
windowmaker.org. Almost as
soon as you begin to use Window Maker you'll want to review the
Window Maker FAQs.
This review and tutorial is not meant to be exhaustive, but will cover
my experiences in my endeavor to adjust Window Maker to my liking. Hopefully,
my efforts will point you in the right direction if you decide to try
Briefly, Window Maker is a lightweight, efficient, and amazingly
full featured window manager for Linux. Unlike most lightweight
window managers, it also has a docking station to park icons that
launch applications. It also has a device called a clip that
has several possible uses, including the ability to also park icons
that launch applications.
In Debian Linux, the version I use, installing Window Maker is done be
installing the wmaker package.
At left you see a typical Window Maker layout. It's basically the
default layout with a few clip icons and a background file. Clicking
on the image will bring up a full size version.
Notice the icons along the right side of the screen. This is the default
location of the dock for icons. When you run most any application,
either from the menus (brought up with a right-mouse click) or by hand, an
icon will appear at the lower left (location is adjustable) of the screen.
By simply dragging that icon to the dock, you can later
run the application by double clicking on the dock icon. To remove an
icon from the dock, just drag it out to the root window. Icons on the dock
are available on all workspaces.
By left-mouse clicking on the icons, you can rearrange them. Note, however,
that the dock bar can only be a vertical bar, though it can be moved
to either the left edge or right edge of the screen. Also, the dock can be
only one column, restricting the number of icons it can hold.
By right-mouse clicking on an icon, a pop up menu appears giving you
some options about your icon. If you select settings, this menu appears.
This menu lets you select whether or not to auto start this application
upon logging on. You can select to lock the icon so you don't accidentally
delete it. You can also tune exactly what arguments are used when a task is
ran (in the Application path block).
You can also do that in the Command for middle-click launch block.
The middle-click feature allows you to drag a file name onto an icon, and the
application will be loaded on the passed file name (drag and drop).
At the bottom of the menu is an option that lets you select a different
icon if you wish.
In the above screen shot illustration, the icons at the bottom of the
desktop are on the clip. A section of the clip is shown here full sized.
You can see that the leftmost icon is the clip itself. The small arrows on the
opposite corners let you move from workspace to workspace. You can also select
a workspace from the menus, or create shortcut keys (more about this
Icons placed on the clip default to being available only on the workspace
where docked. Each workspace has it's own clip, and thus it's own icons. This
feature allows on to set up a system where workspaces can be specialized in
function. It allows for many more icons to be used, yet in a manageable
The clip is much more flexible than the dock. For one thing, the clip can
be placed anywhere. It can be vertical, horizontal, even in the middle of
the screen if you wish. When you move a clip to a new position, all clips
on all workspaces will be in that new position.
Whereas the vertical dock can only hold one column of icons, the clip
can have as many icons as you wish, with 2, 3, or more columns or rows.
This image shows the options available for the clip and specific clip
icons. It's brought up by right-mouse clicking on the clip icon are any icon
in the clip. As you can see, many options are available for the clip that
are not for the vertical dock.
The leftmost menu in the illustration is what comes up first. It's specific
for the icon selected. The Omnipresent selection causes the specific
icon to be visible on the clip of each workspace.
The rightmost menu is obtained by clicking on the first menu's Clip
Options. These options apply to the clip as a whole (for this workspace).
The Autocollapse, for example, will cause all the icons to disappear
leaving only the clip icon. But when the mouse is moved over the clip icon, all
the other icons will again become visible (and click-able).
The Autoattract Icons option will cause the clip to automatically
attach any icon that comes up because you ran an otherwise un-clipped or
un-docked task. It acts much like a task panel that many other window managers
have. However, these auto-collected icons will drop from the clip when the task is
One feature that makes the Linux Window Maker window manager very desirable
is how easy it is to adjust to your liking. That's because it has a
window-driven preference utility, allowing you to avoid having to learn to edit
arcane parameter files.
At left is a section of the default vertical dock. Notice the icon
with the screwdriver. Clicking that will bring up a utility called
WPrefs in window. That utility lets you modify many features of Window
Maker. Everything from how it looks to how it manages windows, workspaces,
menus, mouse controls, and keystrokes can be adjusted through this icon.
This is the preference management utility (WPrefs) that comes up when
clicking on the screwdriver icon. The icons across its top let you select which
feature of Window Maker that you wish to alter. I won't cover them all here
because once you know how to get to the window, the options are pretty self
Once you find your way around this handy window utility, you'll have
complete control over you Window Maker install. All that in a window manager
with a very small footprint.
Here's an example of some of the flexibility of the Window Maker controls.
This is a screen show of my most recent use of Window Maker. As you can see,
I'm a fan of a horizontal icon bar rather than a vertical one. This is
achievable with a few clicks in the WPrefs utility and the clip.
Clicking on the image will bring up a full sized view.
First, I removed all my clip icons from all workspaces. Then I moved the
WPrefs icon and any others I wanted from the dock down to the
clip. Next I used the WPrefs utility to turn off the vertical
dock. Finally, I added whatever other icons I wanted to the clip,
and made them all Omnipresent
The end result was an icon bar across the bottom of the screen that was
available on every workspace.
It all looks pretty easy, and mostly was. All I wanted in addition was a few
shortcut keys. All the window manager type shortcuts are easily set from the
WPrefs window utility. But I wanted to also be able to launch some tasks
with shortcut keys. That's when I hit a snag, at least in my Debian Linux
One is supposed to be able to do menu configuration from the WPrefs
utility. But when I selected that option in my Debian Linux distribution, I was
informed that the menus would have to be reconfigured to a newer form. If I
wanted to do that, I just had to click yes. When I did that, I got a message
that the WPrefs utility couldn't find a file named plmenu. So the
With a little hunting, I found a copy of the file in /usr/share/WindowMaker I copied this file to GNUstep/Library/WindowMaker in my home
directory and tried the menu upgrade command again. That fixed it.
With that done, I found that I could select any task listed on the menus
(xterm in the example above), and add a shortcut key to it. Then I could launch
the task either from the menu or with the shortcut key.
I almost had smooth sailing from there. Every feature I wanted could
easily be accomplished either with the WPrefs utility or the settings option
for a given icon -- except one.
I couldn't figure out how to have an icon that could launch multiple
copies of a task. I could only launch one copy.
I hunted down the secret in the Window Maker FAQs. You first have to
right-click on the top banner of the desired window, then select
Attributes, from there select Application Specific, as shown
Finally, click the No Application Icon selection and save. Next,
add an ampersand symbol to the end of the task launch command in the
task's docked icon settings. Finally, you have an icon that you can click as
many times as you wish and get another running copy of the task.
The only feature I had to modifiy by actually hand editing a Window
Maker parameter file was the feature that sets a background image. In the
GNUstep/Defaults directory is a file name WMRootMenu. This
file has a command named wmsetbg. By default, this command had a
-t option, causing it to tile files I chose for background. I didn't
want that, so I had to manually edit the WMRootMenu file and remove the -t
So what's missing? Mainly a task panel and a pager. Many other window
managers have a panel, usually across the bottom of the screen, that show all
running tasks. It provides quick movement to any given task. Also, many have
some kind of pager panel for quickly moving to any specific workspace.
As to the task panel, one can middle-click anywhere in the root window to
get a menu showing all running tasks, and what workspace they are in.
Selecting from this menu brings one to any specific task.
As to a pager, the creators of Window Maker don't seem to believe it
needs a pager. The corner arrows on the clip icons, as described above, let
one move through the workspaces. Also, the menu system lets one select
workspaces. In addition, rolling the mouse scroll button anywhere in the
root menu also moves through the workspaces. And if that isn't enough,
one can use the WPrefs utility to set up shortcut keys to move to any given