суббота, 18 сентября 2010 г.

Awesome - Черепичные окна

Надумал я тут поставить себе тайловый менеджер. Сейчас не будет рассказов что это такое и с чем его едят. Только добрые советы тем, кто решился идти тем  же путём и подсказки себе на случай склероза.
For dummies only.
Итак, первая хорошая новость: в Debian Squeeze менеджер окон awesome 3.4.7 (произносится "оусм") отлично работает из коробки и даже рисует в меру гламурную панельку. Вторая: говорят, уже lua не глючит так, как раньше.
Будем считать, что вы смогли загрузить awesome с помощью вашего любимого менеджера входа (kdm/gdm/etc.). Сегодня мы сделаем в нём первые робкие шаги. В отличие от "интуитивных" мышиных интерфейсов здесь, как и с любым профессиональным инструментом, придётся сначала усвоить некоторые базовые понятия. Поверьте, их совсем немного.
  • Раскладка: принцип организации окон.
  • Вид: то, что мы видим на экране, некоторый набор тегов.
  • Тег: группа окон.
  • Экран: один из мониторов.
При некоторых видах раскладки возникает понятие мастер-окна - такого объекта, которому выделяется большая и лучшая часть экрана (на рисунке ниже это левый терминал). Концепция тегов похожа на то, что называется рабочими столами в обычных оконных менеджерах (да, это номера тегов обозначены привычными циферками на панели сразу после стартового меню), но есть и одно существенное различие: на экране может одновременно отображаться содержимое нескольких тегов. Лучше один раз увидеть, так что поехали.
Исходная позиция: awesome только что запущен. для начала откроем терминал. Для этого используется комбинация Win+Enter (в терминах awesome - Mod4+Return). Нажмем эту комбинацию ещё три раза и получим что-то вроде

Теперь давим Win+Space и смотрим, как изменяется раскладка окон. Того же эффекта можно добиться если нажимать на кнопку раскладки в верхнем правом углу экрана. Переходим ко второму тегу. Для этого нажимаем Win+2 либо Win+Right для перехода вправо по списку тегов или просто щелкаем левой кнопкой мыши по цифре два на верхней панели. Очевидно, второй тег пуст и мы не видим никаких окон. Открываем терминал и набираем там какую-нибудь болтливую команду (например, ls). А теперь щелкаем правой кнопкой мыши (которую awesome, вопреки традиции, называет Button3) по кнопке первого тега и видим на экране четыре терминала с обоих тегов.
Щелчком мыши на кнопке второго тега вернёмся туда и откроем второй терминал. Скопируем этот терминал на третий и четвертый теги. Для этого используется Win+RightButton на нужные теги (либо Win+Ctrl+<номер_тега>). Эта функция похожа на "отображение на всех рабочих столах" в традиционных менеджерах окон, но она избирательнее, что является несомненным плюсом. Обратите внимание, что на кнопках третьего и четвертого тега появились признаки активности. Перейдём на третий и убедимся, что наше окно здесь. А теперь перебросим его исключительно на пятый, то есть так, чтобы на остальных оно исчезло. Для этого используем Win+LeftButton на кнопке пятого тэга. Перейдём на пятый и нажатием Win+Shift+c закроем окно.
При операциях окнами, производимых с помощью мыши, новички обычно сталкиваются со множеством ошибок. Это в первую очередь связано со спецификой передачи фокуса в данном WM - для выбора активного окна достаточно поместить на нём указатель мыши. Таким образом, наше желание переместить нижнее окно на другой тег может быть неправильно понято системой, если при движении указателя мыши в направлении кнопок тегов мы пронесем его над верхним окном. Последнее получит фокус и все дальнейшие операции будут касаться уже именно верхнего окна. Это один из поводов предпочитать клавиатуру - активное окно великолепно перебросится на другой тег комбинацией Win+Shift+<номер_тега> или скопируется, если добавить Ctrl.
Вернёмся на первый рабочий стол. Тут мы видим красиво уложенные четыре терминала. Наберём в одном из них какую-нибудь чепуху (просто для идентификации) и попробуем зажав Win тянуть указатель левой и правой кнопкой. Всё довольно очевидно, но на всякий случай я прокомментирую:
Win+LButton: перемещение окна.
Win+RButton: изменение размеров окна.
Обратите внимание, что эти функции будут работать только при соответствующей раскладке. Например, если вы попросили развернуть одно окно на весь экран, очевидно, менять его размеры или двигать смысла нету. Изменение размеров реализовано очень удобно, не нужно ловить привычную границу окна - будет тянуться тот угол активного окна, к которому мышь ближе, либо будет тянуться угол стыка окон при черепичной раскладке. Некоторые окна (обычно родом из KDE/Gnome) неуютно чувствуют себя в черепичной сетке. Включить/выключить "плавающий" режим исключительно для них можно комбинацией Win+Ctrl+Space.

Комбинации клавиш для медитативного изучения:
Win+Shift+q: выход из awesome.
Win+w: открыть стартовое меню. Тоже самое делает RButton на свободном месте экрана (у вас такое есть?).
Win+m/Win+n: развернуть/свернуть окно.
Win+f: развернуть окно на весь экран.
Win+j/Win+k: активизировать следующее/предыдущее окно.
Win+Shift+j/Win+Shift+k: поменять окно со следующим/предыдущим.
Win+Ctrl+j/Win+Ctrl+k: активизировать следующий/предыдущий экран.
Win+h/Win+l: увеличить/уменьшить активное окно.
Win+r: выполнить команду. Плохо заметная строка ввода возникает на панели сразу после кнопок тегов. Автодополнение работает.
Win+x: выполнить Lua-код. Аналогично предыдущему.
Button4/Button5 на экране: на один тег вперёд/назад.
Win+Ctrl+r: перезапустить awesome. Очень удобно после изменения конфига - текущие окна не закрываются.
Эти и некоторые другие управляющие комбинации всегда можно подсмотреть командой man awesome либо в меню по адресу awesome->manual.
Этого базового руководства должно хватить для избавления от фобии тайловых менеджеров и появления лёгкой красноглазой гордости. Позже мы вернёмся к обустройству нашего уютного местечка.

1 комментарий: