воскресенье, 25 ноября 2012 г.

Awesome WM. 

Или оконный менеджер для "красноглазых".

   В первую очередь стоит заметить, что сабж является легковесным, тайлинговым wm. Это говорит о том, что окна будут занимать все рабочее пространство и выкладываться определенным образом, что экономит рабочее пространство. Этот оконный менеджер вообще очень жадный к пространству :), изначально у окон нет даже заголовков, а границы окна толщиной в 1px (то есть их почти нет).

   Awesome - отличный выбор для любителей использовать клавиатуру и только клавиатуру.
Да я согласен с тем, что вид awesome по-дефолту устрашающий, но он идет таким "из коробки" и как много всего в Linux его придется настраивать под себя. Лично я считаю это скорее благом чем недостатком ибо настроить можно практически все.



Внешний вид Awesome.


Очень дефолтный awesome


   Если не хочется настраивать внешний вид awesome самому можно посмотреть в сторону user contibuted тем например здесь или поискать другие на просторах интернета.


Не очень дефолтный 

Еще один


Установка.

для Debian подобных

draik-debian@root:# apt-get install awesome


Список дистрибутивов в которых awesome присутствует в виде пакетов:


   Arch Linux
   Debian
   Ubuntu
   FreeBSD
   Gentoo
   OpenBSD
   NetBSD
   Source Mage GNU/Linux
   T2 SDE
   CRUX
   Mandriva
   AuroraUX
   openSUSE
   PLD Linux
   MOPSLinux


   Если же есть необходимость установить awesome из исходников тогда стоит сходить
на оф. сайт awesome:


http://awesome.naquadah.org/download/


Для сборки из исходников Вам возможно потребуется до-установить CMake.


  draik-debian@root:# make
  draik-debian@root:# cmake
  draik-debian@root:# make install


  Вот собственно и весь процесс установки. Кстати вместо make install в Debian-like системе я советую использовать утилиту checkinstall, но это уже тема отдельной статьи.



Использование.

Пример того как ведет себя awesome при открытии окон






  Вместо понятия Desktop(Рабочее место) в awesome используется понятие тег(tag). Каждый тег может использовать определенную раскладку окон. Раскладка это некоторое подобие сетки в которую эти окна укладываются.

   Каждое окно может быть летающим (float), что значит, что оно не будет растягиваться на все свободное пространство тега и будет занимать произвольную позицию на экране (так обычно ведут себя окна в не тайлинговых wm).


   Это сделано для того чтобы использование программ типа conky или например xcalc не вызывало у пользователя дискомфорта.


   Я думаю мало кто захотел бы чтобы xcalc растягивался на весь экран при старте. :)


  Поиск горячих клавиш методом "научного тыка" является не тривиальной задачей поэтому привожу здесь список самых необходимых комбинаций.

Mod4 при стандартных настройках это WindowsKey (да та самая между Ctrl и Alt).


Запустить программу:
  Mod4 + R + команда + Enter


Закрыть окно:
  Mod4 + Shift + C


Переключение между тегами.
  Mod4 + <-
  Mod4 + ->
  Mod4 + 1..9


Переключение floating
  Mod4 + Ctrl + Space


Перенос окна приложения на другой тег:
  Mod4 + Shift + 1..9


Переключение между раскладками тега:
  Mod4 + Space


Переключение фокуса окна:
  Mod4 + Tab


Изменение размеров ячеек сетки:
  Mod4 + h
  Mod4 + l
  Mod4 + ЛКМ


Свернуть/развернуть окно:
  Mod4 + n
  Mod4 + Ctrl + n


Максимизировать окно:
  Mod4 + m


Изменение размеров floating окна:
  Mod4 + ЛКМ


Перетаскивание floating окна и перемещение окон между ячейками сетки:
  Mod4 + ПКМ

Естественно, что это далеко не все возможные комбинации клавиш.
Остальные можно подсмотреть в файле конфигурации смотри ниже.


Настройка.


   Конфигурация сего чудо-wm заключается, в основном,  в редактировании файла rc.lua.


   Сам файл это скрипт написанный на языке Lua, что создает некоторые неудобства в конфигурации. Мне лично весь Lua учить не пришлось, а базовый синтаксис и так становиться понятным после изучения самого rc.lua.
 
Если вы хотите настроить awesome для всех пользователей тогда нужно редактировать


   /etc/xdg/awesome/rc.lua


если же вы хотите редактировать настройки для своего пользователя вам нужно создать директорию awesome в $HOME/.config и скопировать туда общесистемный rc.lua:

  draik-debian@draik:~ mkdir $HOME/.config/awesome
  draik-debian@draik:~ cp /etc/xdg/awesome/rc.lua $HOME/.config/awesome

Поскольку настройка awesome процесс не очень простой я напишу о нем позднее.


Ссылки:
Сайт Awesome;
Awesome Wiki есть и русская версия, но она немного покрылась мхом.