Показаны сообщения с ярлыком ion3. Показать все сообщения
Показаны сообщения с ярлыком ion3. Показать все сообщения

понедельник, 20 июля 2009 г.

Ionize It! или Ионизируем себя при помощи ion3

Решил перенести свой пост с welinux к себе в блог.

Ion™ is a tiling tabbed window manager designed with keyboard users in mind. О ion3 и его базовой настройке.

Что это?

Ion (или IonWM) — фреймовый оконный менеджер для UNIX-подобных операционных систем, разработанный в первую очередь для удобства управления окнами без мыши. Проблема навигации в Ионе решается путём разделения экрана на неперекрывающиеся фреймы. Таким образом перемещение между окнами при помощи клавиатуры становится быстрым и удобным. В каждом фрейме может находиться несколько клиентских окон, обозначенных вкладками. Начиная с версии 2, Ion поддерживает скриптинг на языке Lua.[1]
Так же хочется заметить, что в ion3 понятие "рабочего стола" заменено на понятие "воркспейса" (workspace), что, в принипе, логично =). Воркспейс разбивается на фреймы (Frame, WSFrame), фреймы состоят из табов (tab). У табов принцип такой же как у вкладок в браузере.

Моя причина перехода

Начну с того, что у меня не самая слабая домашняя система: Athlon64 x2, 2гб оперативы, GeForce9800GT.
Но меня всегда не устраивала скорость работы различных DE/WM. Гном мне почему-то никогда не нравился. xfce - лучше, очень лучше, но при переключении рабочего стола на тот, где открыт огнелис с 10 вкладками уходило порядка 2+ секунды. Для меня это очень медленно. Пробовал openbox - минималистично, но все теже перекрывающиеся окна. Последним был KDE 4.1. Симпатично, работает довольно шустро, но смена рабочего стола на тот, где открыта опера с 10 вкладками, опять же занимает довольно продолжительное время. Да и мышкой возюкать иногда бывает лениво.

Быстрый старт

И тут я решил поставить себе ion3. Отступление: надеюсь, что вы тоже. Если нет - дочитайте до конца и может решите ;)

Самое необходимое - хоткеи

Первое, что нужно сделать - запомнить несколько хоткиев (потому, что почти все управление окнами - с клавиатуры). К ним относятся:
  • F2 - запуск эмулятора терминала
  • F3 - запуск приложения (внизу появиться строчка для ввода)
  • Alt+c - закрыть текущий фрейм (если фреймы кончились, то закрывается весь воркспейс)
  • Alt+F9 - создать новый воркспейс
  • Alt+1 - Alt+0 - переключение на воркспейс с соответствующим номером
  • Alt+Tab - сделать следующий по горизонтали фрейм активным
  • Alt+n, Alt+p - сделать следующий/предыдущий по вертикали фрейм активным
  • Alt+k, p(n) (нажать одновременно Alt и k, затем нажать p(или n)) - сделать предыдущий(следующий) таб активным
  • Alt+k, 1(2..9) - сделать активным таб с номером 1 (2..9)
  • F12 - вызыват главное меню

О роли мыши

Для управлениями фреймами так же можно пользоваться мышой. Например, зажав Alt+ПКМ, можно изменять размеры текущего фрейма. По нажатию ПКМ на заголовке выскакивает меню управления воркспейсом/фреймом.

Немного конфигурилова

Вот вы уже понасоздавали воркспейсов, разбили их так, как вам нравиться, поназапускали приложений. Погодите - не перезагружайтесь, ибо все изменения пропадут. Пришло самое время поработать с конфигами.
Итак, первое, что нам нужно сделать - это создать файл ~/.ion3/cfg_user со следующим содержимым:
dopath("cfg_kludges") --настройки окон
dopath("cfg_bindings") --биндинги клавиш
dopath("named_scratchpad") --вроде как полезный скрипт

Последний можно взять вот здесь. Другие скрипты можно найти вот в этом каталоге.

Для того, чтобы легче заполнять конфиги, будет полезным переименовать все фреймы, с которыми вы работаете. Чтобы это сделать нужно:
  1. Сделать нужный фрейм активным
  2. Нажать Alt+F3
  3. Ввести mod_query.query_renameframe(_)
  4. Ввести новое имя фрейма
Таким же образом можно посмотреть текущее имя текущего фрейма.
После того, как вы настроили и переименовали все фреймы необходимо сохранить сессию, чтобы после ребута расположение всех фреймов осталось. Для этого:
  1. Нажимаем F12
  2. Вводим
    session/save

Теперь необходимо настроить ион так, чтобы приложения при запуске оказывались в нужных нам фреймах. Для начала создаем файл ~/.ion3/cfg_kludges.lua, который как раз за это и отвечает. Воспользуемся моей заготовкой (она у меня храниться в самом начале файла):
--xprop | grep -iE "class|role"
--defwinprop
--{
-- isntance="", -- первое значение WM_CLASS
-- class="", -- второе значение WM_CLASS
-- role="", -- значение WM_WINDOW_ROLE
-- target="" -- целевой workspace, tag, frame or launchpad
--}

Последовательность действий, примерно, такая:
  1. Запускаем приложение
  2. Открываем эмулятор терминала
  3. Вводим
    xprop | grep -iE "class|role"
  4. Тыкаем в нужное приложение
  5. Сохраняем полученные данные в конфиг

Для каждого окна в ~/.ion3/cfg_kludges.lua должна быть своя секция defwinprop {...}. Причем именно для окна, потому что разные окна одного приложения можно расположить в разных фреймах. Например, участок моего конфига, отвечающего за psi, выглядит так:
defwinprop
{
isntance="main",
class="psi",
role="psimain",
target="stuff_psi"
}

defwinprop
{
isntance="tabs",
class="psi",
role="",
target="stuff_psi"
}

Результат

Вот что я имею в результате:
К тому же, переключение на воркспейс с открытой оперой - мгновенный. Да вообще переключение на любой воркспейс мгновенный.Использую его уже больше месяца. Периодически заглядываю в хелп, для поиска комбинаций клавиш, для выполнения нужного мне действия, но это бывает редко. Мышу трогать стал намного реже (ибо даже в опере есть управление с клавиатуры), а, считаю, для ноутов это было бы вообще идеально). К сожалению, не имею возможности сравнить с другими twm, ибо это первый, с которым я смог работать сразу искаропки и который мне сразу понравился.

Немного о плавающих окнах


Есть такая полезная штука в ионе, как плавающие окна - окна, которые открываются поверх всех воркспейсов. Их можно двигать, изменять им размер, а так же использовать как полноценный воркспейс. Открывается эту штука по нажатию Alt+Space и выглядит, примерно, так, как показано слева.


Благодарности и ссылки

Спасибо KerneL за то, что нашел мой коммент, где я писал про ион.
Спасибо Egyptian за идею для названия статьи.
В данной статье использовался материал из [2] и еще откуда-то (сейчас не вспомню, ибо сейчас писал все по памяти), а так же из головы и моих конфигов =) Советую почитать еще по этой ссылке.

воскресенье, 10 мая 2009 г.

Да, кстати

У меня появился 1 постоянный читатель =) Если кто не знает, то это у гугла (blogger.com) есть такая штука, аналогом в твиттере являются фоловеры. Подробнее об этой штуке можно почитать здесь.
з.ы. тег ion3 здесь не случаен.

четверг, 19 марта 2009 г.

Ужос. Гиковство овладевает мной

Ну про то, что баш стал почти родным, я уже писал.
Настроил себе прозрачность в ion3, поставил обои и отконфигурил urxvt тоже с прозрачностью =) Щаслифф.
Искал какой-нибудь просмотрщик картинок (image viewer) на qt. Хотите - верьте, хотите - нет, но я так и не нашел нормальный. Остановил свой выбор на feh. Очень хорошая вещь, особенно если его правильно использовать (да, в принципе, как и все хорошее в linux, включая vim, bash, ion3, mcabber).
Вот подумываю над вопросом: какой консольный аудиоплеер начать пользовать? Пока посмотрю moc, но что-то в голове крутится mpd.

пятница, 6 марта 2009 г.

Ionize It! или Ионизируем себя при помощи ion3

Разрадился пару дней наза статьей про базовую настройку ion3. Писал по просьбе жителей welinux.ru. Соответственно выложил ее там же. Может быть сегодня вечером перенесу сюда.  Вот ссыль на нее.