martintoft.dk (my old site!)
Welcome
About me
Software
Projects
Books etc.
Stuff
Links
CV
Old work
Work
Wishlist
Vim
OpenBSD

cwm

cwm is a window manager found in OpenBSD's xenocara tree (xenocara/app/cwm). I found myself in the situation that I also wanted to run this brilliant window manager on other systems than OpenBSD, but due to cwm's use of some OpenBSD specific definitions and functions it was not immediately possible. I have therefore made a "special edition" of cwm that includes the missing bits and happily builds and runs on e.g. GNU/Linux.

If you experience any problems with this frankenstein edition of cwm, please contact yours truly rather than contacting the original authors. I am pretty sure that they do not want to spend their time supporting all kinds of crazy editions of their software. That being said, I have tried to change it as little as possible - just enough to make it work.

The changes are:

  • Remove "__dead" in calmwm.[ch].
  • Create openbsd_compat.[ch] with the definitions TAILQ_END, LLONG_MAX and LLONG_MIN and the functions fgetln, strlcpy, strlcat and strtonum.
  • Include openbsd_compat.h in headers.h.
  • Create a new, simple Makefile compatible with both BSD make and GNU make.
  • Rename the original README to README.old.
  • Create a new README with a few sentences explaining what this "project" is about, its requirements and how to install it.

cwm was originally written by Marius Aamodt Eriksen <marius@monkey.org> with contributions from Andy Adamson <dros@monkey.org>, Niels Provos <provos@monkey.org>, Martin Murray <mmurray@monkey.org>, Dimitris Economou <dimeco@stanford.edu> and Antti Nykänen <aon@iki.fi>. Click here to visit the homepage of the original cwm.

The version of cwm in OpenBSD has been further developed by Okan Demirmen (okan@) and Owain Ainsworth (oga@) with contributions from Bernd Ahlers (bernd@), Ian Darwin (ian@), Jason McIntyre (jmc@), Jasper Lievisse Adriaanse (jasper@), Marco S. Hyman (marc@), Matthieu Herrb (matthieu@), Michael Knudsen (mk@), Niall O'Higgins (niallo@), Simon Dassow (simon@), Stuart Henderson (sthen@), Tobias Stoeckmann (tobias@) and Todd T. Fries (todd@).

Portions of "my" openbsd_compat.[ch] files come from similar compatibility files in Henning Brauer's femail software.

Download:
cwm-20090824.tar.gz
cwm-20090204.tar.gz
cwm-20080730.tar.gz