martintoft.dk
Welcome
About me
Software
Projects
Books
Stuff
Links
CV
Work
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 wasn't 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'm 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