CITKIT.ru - свободные мысли о свободном софте
Деловая газета CitCity.ru Библиотека CITForum.ru Форумы Курилка
Каталог софта Движение Open Source Дискуссионный клуб Дистрибутивы Окружение Приложения Заметки Разное
22.08.2017

Последние комментарии

ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
24 December, 22:53
Kubuntu Feisty (15)
24 December, 18:42
Один на один с Windows XP (3758)
24 December, 11:46

Каталог софта

Статьи

Дискуссионный клуб
Linux в школе
Open Source и деньги
Open Source и жизнь
Windows vs Linux
Копирайт
Кто такие анонимусы
Лицензии
Нетбуки
Нужен ли русский Linux?
Пользователи
Дистрибутивы
Идеология
Выбор дистрибутива
Archlinux & CRUX
Debian
Fedora
Gentoo
LFS
LiveCD
Mandriva
OpenSolaris
Slackware
Zenwalk
Другие линуксы
BSD
MINIX
Движение Open Source
История
Классика жанра
Окружение
shell
Библиотеки UI
Графические среды
Шрифты
Приложения
Безопасность
Управление пакетами
Разное
Linuxformat. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Окружение :: Графические среды :: Менеджеры окон

Обзор оконного менеджера Ion3

OpenNET

Введение
Раскладываем окна по воркспейсам
GIMP
Conky
Полупрозрачные терминалы
Автоскрытие таббара
Программы
Итог

Введение

Являясь до недавнего времени "счастливым" обладателем ПЭВМ из неолита, я активно использовал полноэкранный текстовый оконный менеджер screen. Естественно, что все операции с окнами и запуск программ производились по горячим клавишам, нечестивый же зверек, именуемый мышью использовался исключительно при "работе" с программой lsdoom 8)

Когда я обзавелся персоналкой, на которой можно было без лишней нервотрепки работать в иксах (X window system), я пришел к выводу, что столь популярное ныне построение десктопа меня, мягко говоря, не устраивает. От использования различных DE я отказался сразу, т.к. уж больно они, на мой взгляд, слонообразные и, как следствие, неповоротливые. Испробовав несколько современных легких wm, я остановился на IceWM, попользовавшись им некоторое время, перешел на Fluxbox.

Что меня не устраивало даже во флуксе? Во-первых, как пользователю screen со стажем, мне полюбились не перекрывающиеся окна. Недолго думая, я присвоил окнам используемых приложений статус fullscren, сгруппировал по различным воркспейсам и некоторое время радовался жизни.

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

К счастью, несмотря на засилье пимпочкотыкательных и драгендропных интерфейсов, все-таки существуют адекватные wm.

Для начала, я попробовал wmii. Сразу не понравилось огромное количество не эргономичных, на мой взгляд, решений. Пример: при 10 тегах (ну ладно, пусть не все из них активны), в названии которых было до 4х букв, теглайн занимал практически весь статусбар ( при разрешении 800х600 ). Плюс к тому, имя текущего тега дублировалось еще и в заголовке. Помучив wmii еще некоторое время, я оставил его в покое.

Следующим подопытным был ion3. Первой мыслью было следующее: "ух, прям как флуксбокс с моим оформлением"

Покопавшись некоторое время в конфигурационных файлах, я понял: это то, что я так долго искал. Конфиги - это, по сути, программы на языке lua, интерпретатор которого, как известно, легко встраивается куда угодно 8) Что мы имеем благодаря этому ? Модульность и неограниченные возможности по расширению.

Первое, что я сделал, это переназначил стандартные хоткеи на свои устоявшиеся. Файлы из /usr/etc/ion3 мигрировали в ~/.ion3/main , а сам ион стал запускаться командой ion3 -searchdir ~/.ion3/main . Затем, я написал для него тему оформления в своем излюбленном черно-зеленом стиле (look-monochromatic.lua ) Ну а за тем началась уже настройка управления окнами, о которой я и хочу рассказать.

Раскладываем окна по воркспейсам

В первую очередь расположим окна по нашим многочисленным (или не очень) ворекспейсам. Для этого сразу

0) создадим файл ~/.ion3/cfg_user и пропишем

dopath("cfg_kludges") -- настройки окон
dopath("cfg_bindings") -- наши биндинги
dopath("toggle_named_scratchpad") -- а это очень полезный скрипт

это заставит ион загружать эти файлы при старте.

1) запускаем нужную нам программу
2) в терминале набираем xprop |grep -iE "class|role" и тыкаем курсором в допрашиваемое окошко. Получаем нечто вроде этого:

WM_WINDOW_ROLE(STRING) = "window-role"
WM_CLASS(STRING) = "window", "Window"

2) открываем файл ~/.ion3/cfg_kludges.lua и пишем туда следующее:
defwinprop {
instance = "window", -- первое значение WM_CLASS
class = "Window", -- второе значение WM_CLASS

role = "window-role", -- значение WM_WINDOW_ROLE
target = "target" -- а это целевой воркспейс, тег или скратчпад
}

GIMP

Итак, что делать с гимпом? Повторюсь, что единственное разрешение на 17" мониторе, при котором у меня не устают глаза, 800х600. Задача такова: поделить экран так, чтобы главное окно гимпа занимало основную часть рабочей области, панель инструментов была всегда видна, к панели слоев нам нужен быстрый доступ, однако она не должна путаться под ногами.

Последовательность действий следующая:

0) создаем воркспейс gimp, нажимая alt-f9 , вводим gimp , workspace type выбираем как WIonWS
1) делим его на 2 части, нажав alt-k s (по умолчанию)

2) изменяем размеры по вкусу
3) переименовываем меньшую область в g_tool, большую в g_win . для этого
нажимаем alt-f3 , в появившуюся строку вводим mod_query.query_renameframe(_)
4) сейчас нам понадобится скрипт toggle_named_scratchpad.lua ( скачать егоможно здесь:
http://www.modeemi.fi/~tuomov/repos/ion-scripts-3/scripts/toggle_named_scratchpad.lua
или взять скрипты из darcs репозитария:
darcs get http://iki.fi/tuomov/repos/ion-scripts-3/
после того, как скрипт скачан, скопируем его в ~/.ion3

5) в cfg_bindings.lua пишем в секцию defbindings("WScreen", { ... })

kpress(META.."V", "toggle_named_scratchpad(_, 'g_lay')"),

теперь по нажатию alt-v у нас появится именованный скратчпад (окошко поверх всего) и по повторному нажатию скроется с глаз долой.
6) открываем cfg_kludges.lua и пишем:

defwinprop {
class = "Gimp",
instance = "gimp",

role = "gimp-toolbox",
transient_mode = "on",
target = "g_tool"
}

defwinprop {
class = "Gimp",
instance = "gimp",
transient_mode = "off",

target = "g_win"
}

defwinprop {
class = "Gimp",
instance = "gimp",
role = "gimp-dock",
transient_mode = "off",
target = "g_lay"

}

7) нажимаем f12, вводим session/save , потом session/restart
8) запускаем гимп и радуемся: теперь не нужно перетаскивать мышкой окно рисунка, чтобы добраться до панели инструментов или слоев. жмем alt-v, слои перед нами. повторное нажатие, и они более не загромождают собой экран. Вот так это все выглядит:

Conky

Многие любят эту программку - монитор, люблю и я 8) Ну не хватает мне ионовского статуслайна для вывода температуры жестких дисков, поступившей почты, погоды, и списка наиболее прожорливых приложений. До десктопа в ионе можно добраться исключительно тогда, когда воркспейс является WFloatWS, а я таковые не использую. Посему применим обходной маневр:

0) если нету toggle_named_scratchpad.lua, то качаем
1) изменяем в ~/.conkyrc опцию own_window на yes

2) в cfg_kludges.lua добавляем

defwinprop {
instance = "conky",
transient_mode = "off",
target = "stat"
}

3) в cfg_bindings.lua в секцию defbindings("WScreen", { ... })

kpress("Control+space", "toggle_named_scratchpad(_, 'stat')"),

теперь по ctrl-space, у нас появится conky. вот так это выглядит:

Полупрозрачные терминалы

За время использования fluxbox, привык я к полупрозрачным терминалам (разумеется, псевдопрозрачным). При переходе на ion, я столкнулся со следующей проблемой: по бокам aterm'a были отвратительные светлые полоски. Похоже, это следствие того, что ion ресайзит терминалы не по пикселам, а по столбцам и строкам. прописывать в стиле оформления transparent_background = false не хотелось.

Посему открываем гимпом свою любимую фоновую картинку и затемняем ее насколько надо. в ~/.Xdefaults пропишем Aterm*shading: 100 . Все, теперь у нас красивые полупрозрачные терминалы 8)

Автоскрытие таббара

Зачем нам заголовки окон? Да еще когда окно на воркспейсе всего одно... Никогда не понимал этого в отличии от любителей всеобщего дублирования. Решение нашлось на удивление просто, даже не пришлось самому ничего писать. Достаточно скачать и установить скрипт min_tabs.lua

Для переключения таббара вручную пишем в cfg_bindings.lua в секцию defbindings("WFrame", { .. }) строчку kpress("Control+H", "WFrame.set_tabbar(_, 'toggle')"),

теперь по нажатию ctrl-h перключается видимость таббара.

Программы

0) aterm - мой любимый эмулятор терминала 8)
1) Music On Console - отличный демонический плеер, который поддерживает немало форматов ogg,mp3,flack,mpc,m4a,mod,xm,it.. в отличии от mpd, позволяет проигрывать треки с файловой системы, без добавления в базу.
2) mplayer - этот плеер не нуждается в представлении 8)

3) vim - про этот редактор можно рассказывать сутки напролет 8)
4) elinks - текстовый браузер. куда совершеннее старичка links'a.
5) opera - оперу знают многие. но все ли знают, что с помощью нее можно серфить web, не используя мышь ? shift+стрелки и можете отправить грызуна на заслуженый отдых.
6) mutt - "all mail clients suck. this one just sucks less." - цитата с оффсайта.

7) centericq - консольный im клиент. также абсолютно мышенезависим. особенно хорош в сочетании с osd_notify ( см. мою статью на эту тему )
8) weechat - расширяемый irc клиент.
9) gimp - также не нуждается в представлении.

10) xzgv - удобный и легкий просмотрщик картинок.
11) conky - легкий системный монитор.

Итог

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



Комментарии

аноним, Wed May 20 00:13:33 2009:
Сам использую wmii, и идея фреимовых оконных менеджеров мне очень близка, так как она (на мои взгляд) идеально подходит для unix-подобных ОС. Долго не хотел перелезать с обчных оконых менеджеров, так как пугала сложность настроек, но каково же было мое удивление когда я первый раз запустил wmii, который тут же предложил прочитать короткую инструкцию, и через 15 мин я уже был готов работать. Не буду говорить за другие фремовые менеджеры, но уверен, что вних также нет ничего сложного. Автору спасибо. Не пробовавшим советую просто попробовать, а уж потом критиковать даный класс оконных менеджеров.
аноним, Sun Oct 5 16:27:58 2008:
>Такие вещи как ion3, e17
мм.. а e17 то тут причем? Очень даже гламурный макос-лайк виндовс манагер вроде бы......


Автор, спасибо! ;)
Думаю, пересяду на йон с xmonad'а. Очень нравится идея того, как в ионе деляться воркспейсы на рабочие 'зоны' :-)
аноним, Tue Jun 10 23:30:34 2008:
Попробывал этот ион. Уж действительно лучше сидеть в голой консоли, чем извращаться с этим ion3. Такие вещи как ion3, e17 и т.п. это для извращенцев мазохистов.
аноним, Wed Aug 1 21:36:09 2007:
А вот если не работает..
:~/.ion3/main$ xprop |grep -iE "class|role"
WM_CLASS(STRING) = "Gecko", "Firefox-bin"
Где брать
role = "window-role", -- значение WM_WINDOW_ROLE
target = "target" -- а это целевой воркспейс, тег или скратчпад
}
Ладно, почитаю ещё раз..
FLUF, Thu Apr 19 20:48:05 2007:
Круто!! Большое спасибо за статью, а особенно за конфиги!! Сам бы поленился цвета настраивать...

Cyb3rPunk iz n0w!! ^_^
Eggog, Mon Jan 29 20:17:56 2007:
To BakLAN:

О маньяках :)
BakLAN, Sun Jan 28 23:37:21 2007:
А о чём вообще речь?
salas, Sun Jan 28 00:05:17 2007:
Голая консоль, особенно современная, с links -g и mplayer - штука вообще-то неплохая, но под иксы таки ещё больше хороших вещей написано. А раз уж иксы - то стоит выбрать WM. Так вот на ноутбуке, где трекпойнт вместо мыши, да и память с диском не резиновые, Ion3 мне показался намного удобней мышевозных WM.
аноним, Thu Jan 25 18:18:15 2007:
>>Итог
>>После всех вышеперечисленных манипуляций
>>работать в ионе одно наслаждение.

Жуть!
Для маньяков это менеджер. Уж лучше голая консоль.

Комментарии заморожены.

Новости:

Все новости на CitCity.ru

Компании месяца

 
Последние комментарии
Почему школам следует использовать только свободные программы (101)
20 Декабрь, 14:51
ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)

24 Декабрь, 22:53
Linux в школе: мифы про школу и информатику (334)
24 Декабрь, 22:43
Kubuntu Feisty (15)
24 Декабрь, 18:42
Software is like sex: it's better when it's free.
©Linus Torvalds