Return to Window Maker (on Xubuntu 15.10)

I’ve been running Xubuntu 15.10 (Wily) for a while now, having converted from Ubuntu using the repositories. I converted to lower the memory usage, especially considering that my two most often used applications are Firestorm (a third-party viewer for Second Life) and Google Chrome (not Chromium). Using these two apps then lead me to further reduce memory usage by using Window Maker once again. (Note that the name is two words: the project’s original name was objected to by a maker of software for makers of windows and doors.)

I talked about this before in this blog (back in 2011). Several things have changed since then, beyond faster and bigger hardware. The wmaker-crm fork is now the source for Ubuntu Window Maker and is in active development. Free(code) has 145 projects tagged as “Window Maker” projects. Distrowatch lists a couple dozen active distributions that use a Window Maker desktop. Window Maker now has a entry in the Free Software Directory. There’s even a live CD called Window Maker Live.

Others have written about Window Maker as well. Barnaby has a nice write up on their Window Maker setup and resources. Duncan McGreggor has a fantastic description of their use of Window Maker (thought from 2009). Also from 2009, the information from Joshua Price remains useful, as does this information from Rowan Rodrick. A wonderful comparison (with Part 1 and Part 2) of the memory usage of desktops over at the Layer 3 Networking Blog, including a beautiful graph: Window Maker comes in at 7Mb, 9wm at 0.4Mb, XFCE at 70Mb, and Unity at 192Mb. (That means I went from 192Mb usage – to 70Mb – down now to 7Mb. Wow!)

The Arch Linux Wiki describes Window Maker installation and configuration extremely well. However, in current Ubuntu installations, there’s no need to build from source: one of the most recent Window Maker versions will be available (0.95.7 currently). There’s also no need to install the menu package, as it is automatically installed. So to start, just:

apt-get install wmaker

In configuring Window Maker, you’ll want some dockapplets. (I just searched through the apt repositories for apps that had a “wm” prefix or had a “.app” suffix.) Right now I am running these:

  • wmdrawer
  • wmsystemtray
  • wmclockmon
  • wmcpuload
  • wmmemload
  • wmdiskmon
  • wmtemp
  • wmnd
  • wmwave
  • wmstickynotes

All should be in the apt repositories, except wmdrawer which you can activate from right-clicking on the Window Maker prefs dockapp and selecting “Add Drawer.”

apt-get install wmsystemtray wmclockmon wmcpuload wmmemload wmdiskmon wmtemp wmnd wmwave wmstickynotes

Then start them up:

wmsystemtray &
wmclockmon &
wmcpuload &
wmmemload -b -c &
wmdiskmon -p /dev/sdb1 -p /dev/sdb5 &
wmtemp &
wmnd &
wmwave &
wmstickynotes &

Once they are started, you will have to move them from the minimized icon shelf at the bottom, over to the dock on the right. Press Alt and drag the icon over to the dock. If it triggers something in the applet, find a sliver of border and Alt-drag using that. You should see a white block in the dock when there is a place to drop the applet.

The Ubuntu Window Maker experience is much more polished now: the menu package is required (negating the need for a special installation), and it comes with 9 workspaces. I configured mine to use “focus follows mouse” and “autoraise selected window” – which can simplify things a bit, but is very different from the modern “click to focus” method.

As someone noted in the previous article, there is no need to run wicd if you don’t want to. The standard Network Manager works just fine, and you can manipulate it from the system tray (the dockapp wmsystemtray) just by running its system tray applet:

nm-applet &

My system tray also includes input language changer (using ibus), copyq (copy buffer manager), kupfer (program launcher), clementine (a music player), veromix (a mixer), solaar (for Logitech wireless devices), and the Google Chrome access icon (good for operating Chrome only for Chrome application purposes). Except for Chrome, all are included in the Ubuntu repositories. (If you want to type in Japanese as I did, add anthy as well – also in the repositories.) To install the complete set:

apt-get install ibus copyq kupfer clementine veromix solaar anthy

You can activate shadows and transparency and faded windows (on losing focus) with compton:

apt-get compton
compton -bcCGf -i 0.8 -e 0.8 --no-fading-openclose --sw-opti

You might wish to use different options – see the man page for more:

man compton

Many sources for Window Maker themes are dated: Tower’s Window Maker Themes (1999), WindowMaker Themes from LonelyMachines (2006), and Window Maker themes from (1999).

However, over at, they have numerous Window Maker themes that appear to be fairly recent.

To set the background, use the wmsetbg command as before:

wmsetbg mybackground.jpg

Note that this will set all monitors and all workspaces to the same background. You can specify which workspace in the wmsetbg command, as well as update the default. I haven’t found a way to set individual monitors to different backgrounds yet.

Here is my current workspace (it uses the Lumen_Blue theme):

Screenshot 2016-07-11 12:18:52

(The background picture is from Second Life – I’m on the left.)

As long as you exit cleanly, all of your clip icons and dock applets and system tray applets will all return the next time you log in.

There are YouTube videos about Window Maker including FreeBSD 10.2 with Window Maker and GNUStep Base and an overview of Installing and Using Window Maker Live. There is an extensive overview of Window Maker Live in Japanese, a short overview of Window Maker (running on Calculate Linux) in Russian, an overview of Window Maker on FreeBSD and an overview (from 2011) of Window Maker on Mageia Linux.

Try Window Maker and have fun with it today!

Putting Fedora 16 onto a Dell Optiplex 745

I purchased a Dell Optiplex 745 (ultra small form factor) from a used equipment sale at the local university. I had hoped that it would be low power as well, but that does not seem to be the case – although a more modern computer is always going to be more efficient (or at least you would think so).

First, I had to reset the BIOS as it had been password protected against changes. Resetting the BIOS was simple: remove the password jumper in the system, boot fully once, then replace the password jumper. The full description is available at eHow. The only sticking point was trying to find the jumper in the case; it turned out to be roughly in the center of the board underneath one of the airflow covers. If you are looking at the system from the top – with the front facing you – the relevant cover is in the back left corner, and the jumper (a tiny blue shiny plastic jumper with extended grasping handle) is towards the center of the board.

I’ve not yet found how to reset the “title” that comes up when the system is booted; this does not seem to be in the BIOS settings anywhere. I could fully reset the CMOS entirely (rather than just the password) but that always scares me – what else will be lost?

Trying to use the CDROM, I ran into some difficulties. It appears it may be easy to put the CDROM in incorrectly; be sure to put it in the right way and seat it fully.

I decided I would put Fedora 16 on this system – and went with Fedora 16 64bit. This went quite smoothly and the system runs well. Specifically, I went with the Fedora 16 XFCE spin – which means it runs fast and light. Running a lightweight desktop on a fast machine is even nicer than I would have expected. I did load WindowMaker but haven’t yet tried it. Who knows – I might try 9wm once.

I loaded up everything that one needs for a home desktop: DVD playback, MP3 playback, and so on. I couldn’t get Parole to work with DVDs, so I went with Totem instead. In the same manner, I installed RhythmBox to play MP3s. I also had no problems getting Flash or Java to work. On the web, an excellent resource for all of these steps is at LinuxForDummies. Video and sound were recognized without problem.

This is definitely a nice setup: both the hardware (the Optiplex 745) and the software (Fedora XFCE 64-bit spin) are recommended.

Window Manager and xcompmgr

In my current Window Maker configuration, I use xcompmgr to create some nice shadows for the windows. The problem is that xcompmgr sometimes doesn’t realize that a window has closed, and thus the shading remains while the window is actually no longer there. It is possible to “fix” this problem by reopening the window and closing it, but this is ot workable: the only workable work-around is to restart xcompmgr; since xcompmgr is small and fast, this is not a problem.

There are a number of ways to automate this…

Currently, xcompmgr is started in ~/GNUstep/Library/WindowMaker/autostart:

xcompmgr -c -C -r 8 -l -12 -t -12 &

To make it easy to restart xcompmgr, let’s put a program around it that automatically starts the program again if it dies. Since xcompmgr does not go into the background, we can just start it up and when it exits, restart (in a loop).

With Ruby, we can do this:

# xcompmgr2: run xcompmgr and keep it running:
#            permits autorestart of xcompmgr

# Get rid of any programs already running...
`pkill -x xcompmgr`

while (1==1) do

    # Main program: run it!
    `/usr/bin/xcompmgr -c -C -r 8 -l -12 -t -12`

    # Catch and log unusual exitstatus...
    if ($?.exitstatus != 15 && $?.exitstatus != 0) then
        # Not good

If xcompmgr exits for any reason, it loops again in the infinite loop. This sort of program could be done in almost any language: certainly Perl, ksh, and PHP are up to the task (as are many others).

Thus, when xcompmgr gets confused, do this command to fix it:

pkill -x xcompmgr

The -x option makes it so that xcompmgr is killed, and not xcompmgr2: -x matches a command name exactly.

The Current State of Window Maker

I’ve always liked the Window Maker window manager. However, the current state of Window Maker is in some turmoil.

Development on the original Window Maker window manager has ceased, and new development has been taken up by wmaker-crm (a fork). Nightly builds of wmaker-crm had been available for Debian from a user-created repository, but no new builds have been put up since 29 April 2011 – and the repository information hasn’t been rebuilt since 26 May 2011. Building a Debian package seems to be problematical in any case. According to this mailing list thread, Andreas Metzler and Martin Dietze are responsible for changes therein, but the changelog hasn’t reflected any changes in wmaker-crm.

It was recommended to the Debian Window Maker package maintainer, John H. Robinson IV, to use the wmaker-crm sources for the package; he was receptive but nothing has happened since. As of 6 July 2011, he stepped down as maintainer of the package, leaving the Debian package orphaned. This event did not go unnoticed; a thread was taken up on the wmaker-crm development list.

The person behind wmaker-crm, Carlos R. Mafra, also created a git repository for numerous Window Maker dockapps that are no longer maintained.

The standard Window Maker display manager, the WINGs Display Manager, apparently is much less desired than Window Maker itself: according to the popularity contest statistics, at a peak during January 2011, 2000+ people had Window Maker installed while less than 200 currently have WDM installed.

Statistics about the installed base (and user base) of Window Maker and other packages can be seen over at; these statistics come from people who have installed the popularity-contest package.

Over at ArchLinux, their wiki has an excellent write-up on Window Maker (including basic technical details and information on wmaker-crm) which certainly makes one think that Window Maker is vibrant in that community. Both Window Maker and wmaker-crm are packaged (as windowmaker and windowmaker-crm-git respectively) and available to ArchLinux users from the Extra Repository as well.

If you want to see Window Maker in action (more or less – it does show a lot of Tux Commander too…) you can check out this video showing Window Maker on a Duron 850MHz system with 256Mb.

I may post a short video of my own Window Maker desktop; having forced myself to run with Window Maker as my default desktop has made me a complete convert – and helped me to force myself to research and resolve problems with making Window Maker a default desktop. Recently, I wrote about just what it took to make Window Maker fully capable and up-to-date.

If GNOME or KDE are finally just too much – and XFCE isn’t quite what you want – try Window Maker instead.


Configuring a WindowMaker desktop in Ubuntu

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 ubuntu-desktop, kubuntu-desktop, or 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:

  • wmforkplop
  • wmhdplop
  • wmbattery
  • wmdiskmon
  • wmclockmon
  • wmcpuload
  • wmmemload
  • wmwave

Install these with synaptic or with this terminal command:

apt-get install wmforkplop wmhdplop wmbattery wmdiskmon wmclockmon wmcpuload wmmemload 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 & &
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 (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 – including, for instance, a 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:


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:

transset 0.7

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:

My Current WindowMaker Desktop
My Current WindowMaker Desktop

Just in case anyone asks… Wikipedia describes R.O.D the TV well.

Why I use Window Maker

I keep coming back to Window Maker as a desktop environment. Why? Sometimes I ask myself the same question. However, there are a number of reasons.

Simplicity. There’s not a ton of things happening on the Window Maker screen; basically, there is the Dock and the Clip and minimized application windows. That’s it. This simplicity also translates into lower memory usage.

Light-weight. This is a biggie for me. First time I truly used Window Maker in any depth was on OpenBSD installed onto a Macintosh Quadra 800. It took a while to build, but it built and was comfortable – and in that environment, GNOME or KDE was out of the question.

Unique. This doesn’t sound like a positive aspect – but to me, I love learning a new environment. After a while, the other environments can blend together. The dock is also much better than any that have followed it; others like the MacOS X dock are too small and don’t work well in a user interface. Window Maker is very clean and simple and easy to use.

Since it is included as an available package on almost every Linux installation, what does it take to make a good Window Maker desktop? With Ubuntu, KDE can be installed by installing the kubuntu-desktop; XFCE can be installed by installing the xubuntu-desktop. There is no equivalent Window Maker desktop unfortunately.

For Ubuntu, you might want to install the following packages using Synaptic or apt-get:

The menu application makes sure that all of your applications that are installed with Ubuntu are also available in the Window Maker menus.

There are other packages you may like; search for packages that end in “.app” or begin with “wm” for starters.

For wireless management, you’ll want to stop the network-manager and then install wicd instead. This is because network-manager requires a KDE/GNOME style desktop. Do this with the following:

sudo service network-manager stop
sudo apt-get install wicd wicd-gtk
sudo service wicd start
wicd-gtk &

When you do this, you should be able to configure the wireless connections as you see necessary. Note that there is no graphic controls for VPNs at this time, but you can control them from the command line.

So what do I have in my dock? Here is a list:

  • firefox (application)
  • wmbattery
  • wicd (application)
  • wmdiskmon
  • wmclockmon
  • wmcpuload
  • wmwave
  • wmmaiload
  • wmcalclock
  • wmdrawer

All of these are part of the standard Ubuntu repositories; unfortunately, wmbatteries is not. However, you can get that dock applet (or “dockapp”) and more from

There are a lot of resources for learning Window Maker, although some are dated; these are all good places to go:

Hopefully, this won’t be too many resources; most are quick overviews. Don’t be afraid to try out Window Maker today!

Life Without Mono: Removing Mono from Ubuntu

I removed Ubuntu from my system yesterday; I’ve already got problems with memory and decided I didn’t want it cluttering up my already sparse memory (1Gb!). One gigabyte isn’t enough? Don’t get me started…

Anyway, I removed it, and it was interesting to see what went with it:

  • sysinfo
  • tangerine
  • tomboy
  • f-spot
  • beagle
  • banshee
  • gnome-do

These are good apps, but I don’t need another runtime environment cluttering up my sparse (sparse??) memory. There are a lot of other applications: the Mono folks have compiled a list, and the folks campaigning against Novell (and Mono) have a list also.

Most of these I never use (except F-Spot and Gnome Do) but I won’t miss them. Ubuntu has officially replaced F-Spot with Shotwell, and Gnome Do is not quite as good as the original Quicksilver (I’ve a Mac Mini with Quicksilver installed).

I’m already using some massive memory-abusing apps. For example, consider Google Chrome with a gazillion tabs, or NetBeans, or Gnome itself. I can’t replace NetBeans (unless I want to use the massive Eclipse instead…) but sometimes I use Midori instead of Google Chrome, or WindowMaker instead of Gnome (all very nice and highly recommended!). It also appears that the Google Chrome extension Too Many Tabs will free up memory when you “suspend” a tab; fantastic!

Try some of these lightweight items and see if you won’t have a snappier system!

Running Linux/UNIX under VMware Server 1.0

I have the distinct pleasure of having tried a number of systems under VMware Server, including OpenSUSE 10.3, Kubuntu 7.10, OpenBSD, and Solaris Express Developer Edition.  All work quite nicely.

There is one caveat – this environment uses a dual-monitor setup for Windows, and if the emulator autodetects the desktop size it expands to something approximating the two monitors put together.  The emulated environment works just fine (usually) with this screen, but it can’t be used in full-screen mode (since that goes to one screen only).

In that line of video mishaps, Solaris detected the video but only wants to allow 1024×768 (I’ve 1280×1024 here).  Whatever.

I also did not try OpenBSD as a desktop environment – I’ve actually yet to really put it through its paces that way (although I did set up OpenBSD 3.0/Mac68k with WindowMaker a while back….).

Which one do I like the most?  Currently I find myself looking toward OpenSUSE 10.3 more and more – and loving to use it.  The new KDE menu is a pleasure to use, and I love the immense selection of RPMs (and I do like RPM as it is).

The fact that they split up the KDE RPMs seems ghastly to me – too many things to choose.  For example, KDE Office is available in all its little bits – as is KDE Toys, KDE Games, and whatever else.  Nicer just to choose to install KDE Toys or not… I’m not sure whether I like having KDE 3 as a base with all of the KDE 4 applications available – but it seems to work alright.

I’d like to install BeleniX next, but they’ve not updated their system yet – the last hard disk install was buggy. I’m waiting eagerly….