Ubuntu Linux comes with a variety of desktops, including GNOME, KDE, and XFCE – all supported in their own distributions. You can install any of these by selecting the appropriate packages: either
xubutnu-desktop respectively. There are, however, other desktops not as well supported such as Window Maker (I’ve just got to discuss 9wm sometime…).
Before discussing too much, note that Window Maker is currently not in active development, and a fork called wmaker-crm has taken on active development for Window Maker. However, there are no packages for wmaker-crm in the Ubuntu repositories; to actually use wmaker-crm you’ll have to build it from source.
Creating a complete and working Window Maker desktop is not hard, but it is not straight-forward, nor documented well. There are a number of things to do which will enhance the desktop.
First, make sure that the
menu package is installed. If it isn’t, most of the applications you have installed will be missing from the Window Maker application menus. Install it from your choice of package installers, or from the command line:
apt-get install menu
there are no applets running when you first start out. There are a number of good applets in the repositories; I selected these:
Install these with synaptic or with this terminal command:
apt-get install wmforkplop wmhdplop wmbattery wmdiskmon wmclockmon wmcpuload wmmemload mixer.app wmwave
Get the applets started by starting them at the command line with the appropriate options:
wmforkplop & wmhdplop & wmbattery & wmdiskmon -p /dev/sda7 -p /dev/sda1 -p /dev/sda6 & wmclockmon & wmcpuload & wmmemload -b -c & Mixer.app & wmwave &
Be sure to adapt the options to your liking; most likely the only change will be the partitions listed in the wmdiskmon options – for me, these partitions are /, /boot, and /home respectively.
Note that Mixer.app (nor almost any other mixer) will not work in Ubuntu 10.04 and above as the sound daemons it depends on have been removed. That sound system is called OSS, and it has been removed from the Ubuntu kernels entirely. To fix this, you have to compile your own kernel. If you are technically savvy, this will not be too difficult. If you follow some good instructions, you’ll be alright.
The Ubuntu repositories have many more dock apps. If that isn’t enough, there are even more at dockapps.org – including, for instance, a Mixer.app that works with ALSA sound drivers instead of OSS.
You’ll probably want to add multiple desktops. Right-click on the desktop, then select from the menu the option WorkSpace, then Workspaces, then New – and create as many as you like.
The Clip – found at the top left of the screen – is quite handy, but doesn’t provide much without some configuration. To have the Clip automatically consume any running application icons, right-click on the Clip and select Clip Options, then Autoattract Icons. You may also like to have the icons disappear automatically, only to reappear when the mouse hovers over the Clip: select Autocollapse in the Clip options menu.
To tweak even more options, use the Window Maker Preferences application – this is found in the panel with a screwdriver on it. Double-click and prepare to spend a lot of time – though not many options need to be changed.
The desktop appearance and theme can be changed; right-click on the desktop, then select WorkSpace, then Appearance. If you are going to try out a lot of themes and backgrounds, click on the Appearances menu title bar or drag the menu using the title bar to a place of your choosing – then right-click on the desktop. The Appearances menu will stay on the desktop as long as you like; close it like any other window by clicking on its close button.
Backgrounds are normally stored in ~/GNUstep/Library/WindowMaker/Backgrounds or in /usr/share/WindowMaker/Backgrounds. You can quickly set a background from the command line by using this command:
wmsetbg -u myfile.jpg
There are many more options for
wmsetbg in its man page.
GNOME applications will have a generic GTK display; most likely, you’ll want to change this. This can be fixed by using the gnome-settings-daemon. However, the gnome-settings-daemon will want to manage your background as well; use the gconf-editor program to fix this; go into /apps/gnomesettingsdaemon/plugins/background and change the active key to false by clicking on (and clearing) the checkbox. You can also use gconftool-2 at the command line:
gconftool-2 --set /apps/gnome_settings_daemon/plugins/background/active --type bool False
To use the gnome-settings-daemon, put it into the ~/GNUstep/Library/WindowMaker/autostart file. This file will handle automatic startup of programs that either don’t recognize an X session or that are daemons. Here is the one that I use:
#!/bin/sh xset mouse 20/10 4 gnome-settings-daemon & dropbox start &
Window Maker will not finish starting until this script is complete, so long running applications should be backgrounded.
If you like shadows, you might want to use the package xcompmgr. Run it from your autostart file with a command like:
xcompmgr -C -c -r 8 -t -12 -l -12 &
A problem with xcompmgr is that it hasn’t been updated in quite a long time – and there is talk that it has memory leaks and other bugs. An alternative is the Cairo Composite Manager, although it is not in the Ubuntu repositories. One benefit of the Cairo Composite Manager is that it will use the 3D capabilities of your video card if it has them.
If you want transparency, then load the transset-df package. This package will set transparency of specific windows, but may have bugs and other problems – it hasn’t been updated in many years. Use it like this:
This will set a transparency of 0.7 (70%) on the window that is clicked. You can select windows by using the
-n option which will set transparency of windows with an associated name – for instance,
-n Terminal will make all Terminal windows transparent by the specified amount. However, in my experience, using
transset resulted in some windows not displaying correctly – the colored terminal window became gray and was not transparent; your experience may differ. There may also be bugs in
transset; caveat emptor.
One thing missing from the Window Maker desktop is the ability to control networking interfaces. To fix this, you’ll have to stop the
network-manager service as it doesn’t work with Window Manager, and replace it with the wicd package:
sudo service network-manager stop sudo mv /etc/init/network-manager.conf /etc/init/network-manager.conf.noboot sudo apt-get install wicd wicd-daemon wicd-gtk python-wicd sudo service start wicd wicd-client -n
Configure the network options as you desire. You’ll most likely want to keep the icon for this application around for easy access; if it is under the Clip, then right-click on the icon and select Keep Icon.
Unfortunately, there is no decent front-end for VPNs such as OpenVPN. The way to start a VPN remains the command line, at least until wicd supports VPNs.
Now having gone through this, you’ll have yourself a much nicer Window Maker desktop to work with. Have fun!
Update: I forgot to mention how to set up good icons. Window Maker will automatically choose an icon, and often its not a good choice: either the icon is low resolution and jaggy, or too big and only part of it can be seen.
Cached icons are stored in
~/GNUstep/Library/WindowMaker/CachedPixmaps/. You can find better icons by search with the
locate utility – in Ubuntu, many icons can be found in
/usr/share/icons/hicolor/ – and if there is a 48×48 or 64×64 icon conversion will not be necessary; just copy the file to the
CachedPixmaps directory and change the icons location to the new file: right-click on the icon in the Clip (or wherever), select Settings… and change the location listed for the icon.
If you can’t find a 48×48 or a 64×64 you’ll have to convert the image: use the
convert utility to do this:
convert orig-icon.png -resize 48x48 new-icon.png
You can also convert formats with
convert; check its man page for details.
One more thing: here is my current desktop:
Just in case anyone asks… Wikipedia describes R.O.D the TV well.
10 thoughts on “Configuring a WindowMaker desktop in Ubuntu”
i use wmdock which gives things like nm-applet somewhere to go so you can still use network-manager
meh. its actually docker not wmdock.
According to the docker home page it acts as a system tray, holding system tray icons – not applets.
David, I would love to see a screenshot of your Window Maker desktop, you started this “urge” of mine after your first WindowMaker article.
Used WM for a while around Red Hat 7.3, I was totally hooked to the Dockapps.
And so it is: see my update. First time I can remember using WindowMaker for any length of time was when I compiled it on a Quadra 900 under OpenBSD – worked nicely. However, that machine never saw much use at all.
Thanks, it looks nice, more polished than the last time I’ve used it, now it has drop shadows, that is, composite.
If I might ask, what machine is that screenshot from? Its getting hard to find a 1024×768 screenshot these days…
I use wmsystemtray (from dockapps.org) together with nm-applet to manage network connections. You simply click on the nm-applet icon in wmsystemtray to connect.
It works perfectly (cable, wireless, usbstick etc).
Great article! I used WindowMaker for the first time I boot up linux (almost 15 years ago) and then it was the default window menager for several distros.
I just sorry that dockapps.org apears to not exist anymore. After reading your text I just followed the link to see that the dockapps.org domain is now for sale.
Does anyone know if the site is running on another place?
Looks like it became http://dockapps.windowmaker.org …
Great! That’s there! 🙂