четверг, октября 19, 2006

ion3: продвинутая настройка

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

Плавающие окна

ion3 поддерживает не только традиционную для него модель фреймов, но и плавающие окна. Если версия вашего ion3 меньше чем 20061015, то для того, чтобы было удобно пользоваться этой возможностью, пишем в cfg_ion.lua:

dopath("detatch.lua")

и в cfg_bindings.lua:

   kpress("Mod4+F","detach.topmost_transient_to_float(_sub, nil, true)"),
kpress("Mod4+S","detach.toggle_floatws(_,true)"),

Для 20061015 и более поздних версий - detach.lua прописывать не нужно, его функциональность уже включена в ioncore, а в cfg_bindings нужно прописать

   defbindings("WFrame.tiled", {
kpress("Mod4+F","mod_tiling.detach(_sub)"),
})

Теперь по Win-F можно сделать активное окно плавающим.

Кроме того, при использовании detatch.lua или новой версии ion3 в cfg_kludges среди свойств окна можно указать float=true - такие окна будут создаваться сразу как плавающие.


Удобное изменение размеров и перемещение окон

Прописываем в cfg_bindings.lua:

    bdoc("Resize the frame."),
mdrag("Button1@border", "WFrame.p_resize(_)"),
mdrag(MOD4.."Button3", "WFrame.p_resize(_)"),

bdoc("Move the frame."),
mdrag(MOD4.."Button1", "WFrame.p_move(_)"),

Это позволит перетаскивать окна левой кнопкой мыши при нажатом модификаторе Win, и изменять размеры окон правым перетаскиванием при нажатой Win.


Возвращение к предыдущему окну

Нередко мы работаем с двумя окнами параллельно, причем хотелось бы, чтобы каждое из них занимало весь десктоп. Типичный пример - окна браузера и текстового редактора при разработке сайта. Следующий код в cfg_bindings.lua позволит быстро переключаться к предыдущему активному окну (по Win-B):

    kpress("Mod4+B", "ioncore.goto_previous()"),

Второй слой рабочих пространств

Это одна из наиболее мощных и в то же время наименее известных особенностей ion-a. Прописываем в cfg_ion.lua:

dopath("nest_ws")

и добавляем вызов меню под именем menuattach в какое-нибудь меню:

submenu("Attach", "menuattach"),

Например, у меня это подменю добавлено в контекстное меню заголовка окна. Также можно повесить вызов этого меню на горячую клавишу.

Теперь вызываем меню Attach и в нем выбираем пункт WIonWS. В текущем фрейме в качестве окна появляется новое рабочее место. Его можно, как и любое другое разбить на два по вертикали и горизонтали, и делать с ним все, что можно делать с обычным рабочим местом. Но при этом оно остается как бы одним из окон в родительском фрейме. Возможное применение:

  1. Создаю пустой десктоп.

  2. Выбираю Attach->WIonWS. Теперь на одном десктопе ютятся, как два окна, два рабочих места.

  3. Вновь созданное рабочее место разбиваю на два по вертикали.

  4. Сохраняю сессию.

Теперь у меня одна и та же экранная площадь может легко использоваться либо как единое целое, либо разделенное на две части, либо (sic!) двумя способами вместе: на одном рабочем месте (занимающем весь экран) открыто одно окно, а на другом рабочем месте (на том же десктопе) открыто два окна в двух половинках экрана. Это особенно удобно, когда многие привязки окон к рабочим местам определены в cfg_kludges.lua, когда хочется, чтобы одни приложения занимали, скажем, пол-экрана, а другие - весь экран, запускаясь при этом на одном и том же десктопе. Так, я много работаю с gimp, и под него у меня "расчерчен" отдельный десктоп. Изображение по умолчанию открывается в фрейме, занимающем почти весь экран. Но часто приходится работать с двумя изображениями паралельно - и на этом же фрейме у меня есть рабочее место, разделенное надвое по вертикали. При этом в "умолчальном" рабочем пространстве (на почти весь экран) может быть открыто третье изображение.


Обещанные ссылки

http://www.opennet.ru/docs/RUS/ion3/ - "Обзор оконного менеджера Ion3" от warl0ck

http://posix.ru/desktop/ion/ - "Ion3: положительный wm" от Dark_Savant


Last updated 20-Oct-2006 01:11:29 YEKST

3 комментария:

  1. Еще: http://jagoterr.blogspot.com/search/label/Ion3

    ОтветитьУдалить
  2. Угу, да только эти статьи jagoterr-a появились уже после моей ;) Сейчас-то можно давать ссылку сразу на серию статей на citkit, они все здесь:
    http://citkit.ru/articles/desktop/

    ОтветитьУдалить
  3. Анонимный3/18/2009 4:31 ДП

    братья, а можно сделать в ионе аналог быстрого набора в Опере (или как главное меню в мобилке) чтоб первый рабочий стол был разбит на части в которых были миниатюры остальных окон и клик на миниатюре (т.е. на определённой области) переносил в соответствующий рабочий стол?

    извините за анонимность, разберусь с регистрацией, объявлюсь

    ОтветитьУдалить