Небольшая заметка о xmonad
Уже довольно давно, я слышал про "тайловый" оконный менеджер xmonad. Слышал я о нем как хорошее, так и плохое. На практике же, он оказался еще лучше. Плохое про него говорили только про Haskell. Дескать, сложный он. Возможно это и так, но после awesome\ratpoison\musca\ion3\stumpwm он мне показался не таким и сложным. Из его плюсов можно отметить высокую скорость, настраиваемость, большое количество библиотек, стабильность кода, и общую стабильность. Под стабильностью кода, я имею в виду то, что от версии к версии в конфиг если и приходят изменения, то небольшие, и на них можно забить(плевок в сторону awesome). Я лично использовал версию из darcs и никаких у меня с ней проблем не было.
Сейчас я уже где-то около двух месяцев использую исключительно xmonad. Ниже я расскажу как настроить сие чудо в Archlinux на примере своего конфига который кстати, умещается в очень небольшое количество строк ;)
Для начала, как сие чудо выглядит у меня:
Крайне аскетично, но для меня очень удобно. Обои рабочего стола устанавливает feh через файл .xinitrc
. В общем-то все остальное что нужно при старте, тоже запускается оттуда. Для вывода информации вверху экрана использую xmobar. Хотел сначала использовать dzen2, но потом передумал - он более прожорлив к ресурсам. К тому же, xmobar написан специально для xmonad поэтому сам бог велел его использовать. =]
И так приступим. Устанавливаем свежий xmonad:
yaourt -S xmonad-darcs xmonad-contrib-darcs xmonad-utils-darcs xmobar-darcs
xmonad-utils и xmonad-contrib это как раз те библиотеки про которые я писал выше.
По мимо всего этого, еще установиться компилятор ghc и еще пара библиотек библиотек необходимых для взаимодействия xmonad и x сервера. Тут кстати, вырисовывается еще один небольшой минус - это размер необходимого для xmonad. Это где-то 400 мегабайт в установленном виде. Сам xmonad очень небольшой. Самое большое это компилятор ghc. Кстати говорят, что после того как все настроишь и сделаешь, то можно его удалять, но я этого делать не пробовал.
Конфиг мой можно скачать с git репозитария github по адресу http://github.com/bosha/xmonad или если у вас уже установлен git то:
git clone git://github.com/bosha/xmonad
После этого, у вас в папке xmonad будет файл .xmobarrc
и папка .xmonad
в которой собственно и находиться сам конфиг - xmonad.hs
. Конфиг надо поместить в домашнюю директорию в папку .xmonad. Файл .xmobarrc
необходимо поместить просто в домашнюю директорию. После этого выполните:
xmonad --recompile
Что бы применить конфиг. Когда я только поставил xmonad я очень долго не мог понять почему я изменил конфиг, а изменений не вижу. Дело было в том, что xmonad собирает бинарные файлы, которые потом и использует. Поэтому первый раз приходиться принудительно создавать его заново, командой выше. В дальнейшем необязательно каждый раз выполнять эту команду, достаточно просто перезапустить xmonad комбинацией клавиш mod-shift-q
(если вы взяли мой конфиг, то данная комбинация другая - mod-f12
).
При каждом изменение конфига, прежде чем его применить, лучше проверить на ошибки с помощью ghci:
ghсi \~/.xmonad/xmonad.hs
Если все в порядке то выведет что-то вроде такого:
GHCi, version 6.10.4: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer ... linking ... done.
Loading package base ... linking ... done.
[1 of 1] Compiling Main ( .xmonad/xmonad.hs, interpreted )
Ok, modules loaded: Main.
Или пожалуется на ошибки.
Вообще этот конфиг был изначально взят у juev и переделан под себя. Немного подправил хотекеи, изменил вывод dmenu и другие небольшие изменения.
В xmobar у меня еще выводится дополнительная информация с помощью скриптов. Лучше удалите их. Конфиг xmobar не сложен, и все интуитивно понятно. В любом случае внизу я привел ссылки на полезные ресурсы, в числе которых ссылка на домашнюю страницу xmobar. Так же я не стал подробно останавливаться на настройке xmonad т.к. документации по нему очень много.
Ссылки: