[Haskell-cafe] ANNOUNCE / POST MORTEM: hswm, version ()
rturk at science.uva.nl
Sun Oct 28 18:27:21 EDT 2007
HSWM was my attempt at a Haskell Window Manager, mostly written
during the first half of 2006 as a personal research project, and
out of frustration with some not to be named other window
managers. Although I have been running it myself for almost two
years, I never got around to polishing it into something
releasable due to lack of time. 
Since, as of today, its number of users is officially back to zero ,
this seems like a good moment to release version () of HSWM:
The first and last version of my own window manager.
- includes a lambda mouse cursor
- multiple desktops
- sticky windows
- about 2300 lines, about half of which is X boilerplate and user
- somewhat based on evilwm
- still regularly dies due to unhandled X errors, so a script to
automatically restart in that case is included
- my first Xlib program ever
The basic idea is an event loop inside an X monad
providing three services to "plugins":
- registering X Event handlers
- registering X Error handlers
- registering/requesting "services", to be used by other
"plugins" (a global registry of named Dynamics, basically)
Compared to XMonad:
- no tiling
- much less stable
- no extensions
- needs no external libs
So you might want to look at it, but even _I_ don't use it anymore.
HSWM only was its working name, so if anybody ever feels like
writing another window manager and calling it HSWM,
I certainly won't mind.
The BSD-licensed code:
darcs get http://student.science.uva.nl/~rturk/hswm/
`make' compiles, and that's it.
 Technical detail: The one feature I really wanted before releasing it,
but never got around to implementing, is having the WM add a
frame for each managed window and reparenting the window
below that frame. This way, focusing windows can go right even
when the WM dies, among others.
 It once had 3 users: Me at home, me at the University of
Amsterdam and me at Utrecht University.
Utrecht now runs KDE and the rest xmonad.
More information about the Haskell-Cafe