Stumpwm - легкий, тайловый оконный менеджер, написанный полностью на Common Lisp. Stumpwm является переделкой автора, менеджера окон ratpoison, написанного на C. Установку я производил двух видов. В первом варианте(по умолчанию) собирал исполняемый файл, во втором запускал из исходников с подключением slime, для ковыряния в менеджере так сказать в “прямом эфире”.

Установка:

Вариант 1.

Подразумевается что у вас уже установлен какой либо лисп пакет. Я покажу на примере sbcl. Запускаем консоль и выполняем:

$ sbcl * (require 'asdf) * (require 'asdf-install) * (asdf-install:install 'clx) * (asdf-install:install 'cl-ppcre)

Этим самым мы устанавливаем два пакета clx и cl-ppcre, необходимые для работы stumpwm.

Затем непосредственно сама сборка и установка:

$ autoconf $ ./configure $ make

Если всё прошло успешно мы получим исполняемый файл stumpwm. Копируем его куда-нибудь для дальнейшего запуска и прописываем к нему пусть в ~/.xinitrc.

$ echo exec /path_to_stumpwm/stumpwm >> ~/.xinitrc

Всё перезапускаем иксы и наслаждаемся.

Вариант 2.

Имеем установленный sbcl, slime, clx и cl-ppcre.

Включаем stumpwm.asd в пакет sbcl, то есть прописываем символическую ссылку в каталог где sbcl ищет пакеты. Например:

ln -s /path_to_stumpwm/stumpwm.asd ~/.sbcl/systems

Создаем файл startstump, который будет запускать slime и stumpwm, примерно такого содержания:

(require :stumpwm) (require :swank) (swank-loader::setup) (swank:create-server :dont-close t) (stumpwm:stumpwm) (quit)

Прописываем в ~/.xinitrc запуск это файла:

$ echo exec sbcl --load /path_to_startstump/startstump >> ~/.xinitrc

Перезапускаем иксы.

Запускаем emacs и подключаемся к REPL stumpwm.

В emacs: M-x slime

Всё, теперь у нас есть доступ напрямую изменять stumpwm.