Pull to refresh

Классный оконный менеджер — Awesome WM

Reading time 4 min
Views 161K
imageЗдравствуйте! Прочитав недавно статью про оконные менеджеры в Linux, мне захотелось рассказать всем о менеджере, который был там упомянут — «awesome».
Это тайлинговый windows manager для unix (linux, freebsd, openbsd, netbsd).

Описание


Awesome WM — тайлинговый wm, с возможностями быть и композитным. Это одна из его особенностей, часто пользователям требуется компактность (тайлинговая сторона этого WM), но и иногда можно и поработать в обычном режиме (композитном). Он очень легок, не нагружает процессор, и пространство экрана используется очень размерено и пустых пространств не остается (в тайлинговом режиме).
Настраивается он при помощи конфигурационного файла, на скриптовом языке Lua. Есть поддержка плагинов, которые тоже, в свою очередь, написаны на Lua.

Установка


Установить его очень просто, например на Arch Linux просто напишите
sudo pacman -S awesome vicious

Или на Debian based
sudo apt-get install awesome awesome-extra

Пакет «vicious» содержит в себе базовые плагины, которые Вы в дальнейшем можете использовать.

Далее требуется прописать его загрузки при загрузке X Window System. Это прописывается в файле, находящемся в домашнем каталоге, ".xinitrc".
#!/bin/sh

exec awesome

Перезагружаемся и появляется это wm.

Первое знакомство



Вот так выглядит ваша сессия при первом включении. Казалось бы, как в этом работать и что тут делать? На самом деле все просто, когда поймешь ее систему. Все действия с окнами выполняются с помощью хоткеев. По умолчанию они таковы (все это можно прочитать в «man awesome», сам текст взят с gentoo wiki):

super + number переход на другой тэг, где тэг это номер клавиши, точнее его положение (проводя аналогию с другими wm, тэг = вирт. рабочий стол).
super + shift + number перенести текущее окно на другой тэг.
super + j, super+k переход между окнами.
super + shift + j или super + shift + k поменять местами два окна.
super + Space изменение отображения окон. (В awesome очень много видов отображений — тайлинговые: вертикально, горизонтально; композитные — можно мышкой таскать; приложение в фокусе на весь экран и пр.)
super + Enter запустить терминал.
super + r запуск программы.
super+shift+c закрыть окно.
super+shift+r перезапустить awesome.
super+shift+q выйти из awesome.

Несомненно кому-то они не удобны. Но ведь мы можем все изменить! Поэтому переходим к конфигурационному файлу.

Конфигурационный файл


Предупреждение, для редактирования его нужны хотя бы небольшие навыки в программировании или написании скриптов.
Глобальный конфиг файл находится в системе в "/etc/xdg/awesome/rc.lua", но его лучше не изменять, тк если он не правильный, то wm не запустится. Поэтому сделаем свой.
mkdir ~/.config/awesome
cp /etc/xdg/awesome/rc.lua ~/.config/awesome/rc.lua

И будем изменять уже непосредственно его.
Прежде всего хотелось бы изменить некоторые клавиши.
Хоткеи находятся в секции
" — {{{ Key bindings "
Изменять все просто.
modkey — это наша клавиша super (с логотипом windows на клавиатуре).
Например:
awful.key({ modkey, "Shift"   }, "q", awesome.quit),

Это строчка говорит, что super + Shift + q заставит awesome закрыться.
Допустим, мы хотим оставить тоже самое, но без shift, тогда будет
 awful.key({ modkey,  }, "q", awesome.quit),
Или например просто по клавише Esc (Это лишь пример!)
 awful.key({}, "Esc", awesome.quit),
Думаю, логика понятна.
Так, с клавишами разобрались. Теперь стоит настроить глобальные переменные.
Эта секция находится в начале. (Далее мои собственные настройки, которые вы можете, конечно же, изменить)
terminal = "terminal"
browser  = "chromium-dev"
editor = os.getenv("vim") or "vim"
editor_cmd = terminal .. " -e " .. editor

Думаю с «внутренностями» мы разобрались, пора браться за внешний вид.

Еще чуть-чуть про настройку


Все так же продолжаем работать в конфигурационном файле.
Сперва, вместо просто цифр хотелось бы переименовать наши тэги. Это находится в секции
"--- {{{ Tags"
Вместо цифр просто напишите имена.
Например у меня:
tags[s] = awful.tag({ "All", "IM", "Work", "Etc", "Media"}, s, layouts[1])

Вообще про конфигурацию я написать хорошо не сумею, ведь это дело персональное. Лучше всего про это прочитать на awesome wiki. Вообще, дописав конфиг, Вы ощутите новую легкость работы с окнами. Большое количество плюшек можно найти здесь.

Вместо заключения


Хочу отметить, что данный wm идеально подойдет людям, которые часто держат в фокусе несколько окон. Так же он подойдет для слабых машин и легковесных систем, и машин с небольшими экранами (ноутбуки)
Заучив (по началу), а потом по наитию нажимая хоткеи, Вы уже не будете думать над тем, как, куда, что сделать с окном, как его разместить.
Например в awesome в одном тэге можно держать определенные окна. Например у меня в тэге IM находятся Skype и Pidgin.
Но что слова! Скриншоты!





Полноразмерный последний скриншот
Мои обои, по просьбам трудящихся.
А так же видео, демонстрирующее работу WM.

Так же прилагаю архив со своим конфигом + плагины.

Надеюсь, я заинтересовал Вас этим классным (от англ. awesome) WM, и Вы попробуете его в деле! И готов с радостью ответить и помочь в комментариях.

UPD. Всех, кто хочет поделится своей конфигурацией или посмотреть чужие, ждут на соответствующей странице вики.
Tags:
Hubs:
+106
Comments 79
Comments Comments 79

Articles