[gambit-list] window manager in gambit

David Rush kumoyuki at gmail.com
Thu Feb 19 01:47:13 EST 2009


2009/2/19 Vincent St-Amour <stamourv at iro.umontreal.ca>:
>> No offense intended, but I think re-implementing window managers in
>> Haskell/Scheme/<current language of choice> seems a bit
>> Not-Invented-Here syndrome-ish. If it ain't broke, don't fix it -
>> since there's lots of other interesting things to fix/create.

Yes and no. The WM is one of your most intimate connections to the
system and there's a lot to be said for what you learn in writing one.
That said:

> I'm currently using stumpWM (a tiling WM written in Common Lisp), and
> I find it quite nice to be able to add code on the fly to the WM, and
> to be able to extend it in Lisp rather than in some configuration file
> with its own syntax. I'd compare it to emacs for extensibility.

Which is exactly my point. And you can learn an awful lot about UI
design (at least how *you* like to relate to the machine) from hacking
on a properly extensible WM. Such as:

> Of course, having a window manager running with Gambit would be even
> better. SCWM (Scheme Constraints Window Manager) could be a nice
> starting point, but does not seem to have been updated since 2000.

And SCWM was the proximate cause for me to learn Scheme. I had become
interested in Lisps through hacking on emacs and wanted a WM that was
similarly flexible. SCWM's death has been a great disappointment to
me, it was a great WM. But I don't think you'll find its code is a
good starting point. For one, it was pretty intimately tied into the
Guile of the time - which sucked; and it also did a lot of work in C -
which also sucked. A fresh start using Gambit's excellent FFI for
connecting to the X11 libraries would be the way to go about it. On
the other hand SCWM could be a goo candidate for design-level reuse.

But the gripping hand is that you will have to rewrite it from
scratch. That's not a small job, but it's also not huge.

david
-- 
GPG Public key at http://cyber-rush.org/drr/gpg-public-key.txt



More information about the Gambit-list mailing list