Hatena::Groupcadr

わだばLisperになる このページをアンテナに追加 RSSフィード

2004 | 12 |
2005 | 01 | 02 | 07 | 10 | 11 |
2006 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 11 |

2007-10-15

StumpWM

| 23:54 | StumpWM - わだばLisperになる を含むブックマーク はてなブックマーク - StumpWM - わだばLisperになる

del.icio.usのLispタグからStumpWMの紹介のムービーが流れてきたのでチェック。

The StumpWM Experience : male : Free Download, Borrow, and Streaming : Internet Archive

StumpWMはCommon Lispで書かれたウィンドウマネージャーということで、前から興味はあったのですが、この動画を観ると思いのほか使えそうなので、インストールしてみることにしました。

最初、asdf-install可能だったので、cmuclで試してみましたが、どうやら、登録されているのは古めで、試すなら、最新の方が良さそうだったので、READMEを参照しつつ再度sbclで試してみることにしました。

以下、Ubuntu 7.04 + SBCL 1.0.10 + Git版StumpWMで試しています。

StumpWMのソースの取得

$ git clone git://git.savannah.nongnu.org/stumpwm.git

で取得します。

ASDFで導入できるようにする。

ダウンロードしたものの中にstumpwm.asdがあるので、asdf::*central-registry*に登録されているパスにリンクを張ります。

専用イメージの作成

別にイメージを作成しなくても良いとは思うのですが、起動が少し速いのでイメージを作成してみることにします。cl-ppcreとclxに依存しているので、それも読み込みます。

;; make-stumpwm-core.lisp
;;
;; cd $coredir 
;; sbcl --load make-stumpwm-core.lisp

(require :asdf)
(asdf:oos 'asdf:load-op :clx)
(asdf:oos 'asdf:load-op :cl-ppcre)
(asdf:oos 'asdf:load-op :stumpwm)
(save-lisp-and-die "stumpwm-sbcl.core" :purify t)

のようなファイルを作成し、

$ sbcl --load make-stumpwm-core.lisp

を実行して、イメージを作成しました。

ウィンドウマネージャーの起動

色々方法はあると思うのですが、自分は、最初に古いstumpwmを試してしまったということもありスクリプトを色々作って対応しました。

最新だと色々準備されている様子なので、そっちを使った方が良いとは思います。

#!/bin/sh

sbcl --core ~/cl/stumpwm-sbcl.core --load ~/cl/stumpwm-sbcl.lisp
;; STUMPWM - stumpwm-sbcl.lisp
;; ================================================================
(stumpwm:stumpwm)
(cl-user::quit)

のような、stumpwmというシェルスクリプトと起動で読み込ませるファイルを作成し、

~/.xsessionに

#!/bin/sh

#~色々環境設定記述~

$HOME/bin/stumpwm

のように記述し起動させることにしました。

カスタマイズ

環境設定は、.stumpwmrcで設定します。サンプルが付いているので、それを参照しつつ設定という感じです。

使ってみる

使ってみた感じとしては、GNU Screenのウィンドウマネージャー版みたいな感じです。

初期設定では、Control-tがプレフィックスキーになっていて、そのあとにコマンドを入力します。

C-t :で式を評価できたりします。

詳細なドキュメントはないので、サンプルの初期化ファイルと、ソースを読んで、使い方を探るという感じです。

ウィンドウマネージャーの終了方法

とりあえず、どうやって終了するのか分からないので、式評価のプロンプトに(cl-user::quit)として終了させています。

まとめ

とりあえず、Common Lispで色々できるというところと、ムービーでは結構便利そうに使っていたので、しばらく常用してみたいと思います。