Небольшая заметка о 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 т.к. документации по нему очень много.

Ссылки:


Понравилась статья? Поделись с друзьями!




Комментарии на этом сайте требуют включенного Javascript в вашем браузере. Вероятно, ваш браузер не поддерживает Javascript, или он был отключен по каким-то причинам. Если вы хотите прокомментировать пост, или просто почитать комментарии, то пожалуйста, включите Javascript или попробуйте открыть эту страницу другим браузером.