Здравствуйте! Прочитав недавно статью про оконные менеджеры в 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 vicious
Пакет «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.
Но что слова! Скриншоты!
Полноразмерный последний скриншот
Так же прилагаю архив со своим конфигом + плагины.
Надеюсь, я заинтересовал Вас этим классным (от англ. awesome) WM, и Вы попробуете его в деле! И готов с радостью ответить и помочь в комментариях.
Автор: JagaJaga