This guide helps you install and customise windowlab on ubuntu. Windowlab is a very small, simple, flexible and reliable window manager (wm). Unlike wms such as GNOME there are no icons, no desktop and no frills, just windows, which you may rearrange, open, close and give the focus to, allowing you to get on with whatever prompted you to start your computer in the first place. You might think of it as being 'one step up from X' but if you give it a try and get used to it, you may also find that it's a very productive environment. The background and motivation for windowlab is explained at If you want to decorate your desktop and have multiple screens etc, there are plenty of simple ways of doing that without installing lots of software you may never need. This a characteristically *NIX way of doing things (small, 'sharp' applications glued together).


Dapper or later

Install using synaptic or by typing

sudo apt-get install windowlab


There is no package for Breezy, so you need to download, compile and install from source. Make sure you have gcc installed. Download the latest version of windowlab from and type the following commands:

tar -xvf windowlab-XXX.tar 
cd windowlab-XXX
sudo make install


You should now have windowlab installed in /usr/X11R6/bin/. Use the instructions in CustomXSession to make sure that you can use it, and make sure your .xinitrc file ends with the line

exec windowlab


You can set a background colour or image for your desktop using xsetroot. Add something like this to .xinitrc:

xsetroot -cursor_name top_left_arrow -solid deepskyblue4

To use rhythmbox (the default ubuntu music app) you need to start ESD automatically (how?) or set gstreamer to use something other than ESD for output. Use gstreamer-properties to select ALSA or OSS etc.

When you start windowlab the menu is visible when right-clicking anywhere outside an active window. To select a menu option, release the mouse over it. You'll start out with the default menu, which lives at /etc/X11/windowlab/windowlab.menurc. To create your own, type:

mkdir ~/.windowlab
cp /etc/X11/windowlab/windowlab.menurc ~/.windowlab/

And start editing it, adding lines in the format


Use gksudo to launch apps that require su privileges, eg

network:gksudo network-admin

Many GUI applications support the standard X option geometry, allowing you to specify the initial size and position of the window in the format WxH+X+Y, e.g. the command

gnome-terminal --geometry 100x30+40+30

will open a terminal 100 characters wide and 30 lines tall, with the top left hand corner 40 pixels from the left edge and 30 pixels from the top edge of the screen. (Applications will more often intepret the W and H coordinates as pixel values.) It is useful to include this option in the windowlab menu commands because windows are otherwise created at the current mouse position.

It's quite easy to select quit from the menu accidentally. To avoid this, install gmessage and create a script like this

# ~/bin/
gmessage -buttons Yes:0,No:1 Quit windowlab?
case $? in
  0) skill windowlab;;
  1) ;;

Then change the quit line in windowlab.menurc to


Show the date and time on the desktop

Install dzen  then create this shell script as ~/bin/ and add a line to .xinitrc to call it:

  while true ; do
          date +"%H.%M %a %b %d"
          sleep 60
      done | dzen2 -p 10 -ta r -y 20 -fg gray -bg steelblue4 -fn -xos4-terminus-medium-r-normal--16-160-72-72-c-80-iso8859-1 

(If that font isn't on your system you can check which ones actually are using xlsfonts.)

Windowlab (last edited 2009-04-30 21:40:47 by adsl190-027000006)