用sawfish很久了,有点枯燥,就想试试其它窗口管理器。作为一个lisper自然就选择用Common Lisp开发的stumpwm了。stumpwm是一个minimalist窗口管理器,是由原Ratpoison的作者开发。(原来的stumpwm开发已不活跃,就fork一个:hacking用的stumpwm)
用sbcl编译后个头有点大: (如果你在意磁盘文件大小, 可以不用编译,直接将下面这行加入~/.xinitrc:
exec sbcl --eval '(ql:quickload :stumpwm)' --eval '(stumpwm:stumpwm)' )
$ls -l /usr/local/bin/stumpwm
-rwxr-xr-x 1 root root 40751128 2月 11 11:54 /usr/local/bin/stumpwm*
%file /usr/local/bin/stumpwm/usr/local/bin/stumpwm: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.27, BuildID[sha1]=0xe508500dc44ccb4dc6182f6ae5a884f883c26f09, stripped
推荐用有线程支持的clisp编译,生成的执行文件较小:
$ls -l ~/bin/stumpwm
--rwxr-xr-x 1 sw2wolf wheel 8098140 10 9 17:39 /home/sw2wolf/bin/stumpwm*
$file ~/bin/stumpwm
/home/sw2wolf/bin/stumpwm: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), dynamically linked (uses shared libs), for FreeBSD 9.0 (900044), stripped
编译方法:
$clisp -ansi -modern -q
>(ql:quickload :clx)
>(ql:quickoad :stumpwm)
>(ext:saveinitmem "stumpwm" :init-function (lambda () (stumpwm:stumpwm) (ext:quit))
:executable t :keep-global-handlers t :norc nil :documentation "The StumpWM Executable")