воскресенье, августа 10, 2008

Руководство по Openbox. Часть 2.

Продолжаю выкладывать руководство по использованию оконного менеджера Openbox. Оригинал на английском языке An Openbox Guide опубликован в блоге urukrama. Оригинал и, соответственно, перевод доступны на условиях Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.

Руководство по Openbox. Часть 1.

4. Настройка Openbox


4.1 Меню


Когда Вы зайдете первый раз в Openbox, почти сразу Вас встретит пустой экран. Это Openbox. Нажмите правую кнопку мыши и Вы увидите Ваше root-menu (корневое меню). Нажмите среднюю клавишу и будет показано client-list–combined-menu,

отображающее все запущенные приложения на всех рабочих столах. Для выхода из Openbox используйте пункт корневого меню ‘Exit’ (будьте внимательны, подтверждение не запрашивается и работа всех приложений будет автоматически завершена). При выборе ‘Reconfigure’ Openbox перечитывает свою конфигурацию, используется для применения сделанных изменений в конфигурационных файлах.

По умолчанию меню Openbox пустое, но его достаточно просто отредактировать, так что не падайте духом!

[прим. перев.: в Fedora 9 предустановленная конфигурация Openbox импортируют настройки, сделанные в Gnome, KDE или XFCE, в частности, темы и настройки шрифтов приложений GTK/QT, обои рабочего стола, настройки раскладок клавиатуры и т.д., кроме того, в рамках поддержки стандартов freedesktop.org, обеспечивается (авто)запуск приложений, например, агентов NetworkManager, PulseAudio, а также строится меню.]

Для начала скопируйте файл menu.xml (настройки меню по умолчанию) из директории /etc/xdg/openbox/, в Вашу домашнюю директорию, в папку с персональной конфигурацией Openbox /home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/.config/openbox/. В этой папке хранятся все Ваши конфигурационные файлы Openbox, поэтому запомните её расположение! Скопировать файл можно используя Ваш любимый файловый менеджер или выполнив следующую команду в терминале:
 cp /etc/xdg/openbox/menu.xml ~/.config/openbox/menu.xml

Теперь можно открыть файл меню (например, набрав в терминале команду ваш_любимый_текстовый_редактор ~/.config/openbox/menu.xml) и начать его редактирование à volonté.

[прим. перев: тут автор блеснул знанием французкого языка, а я минут пять упрашивал яндекс с гуглем помочь мне узнать, что это значит «вволю»].

Редактировать корневое меню достаточно просто, непосредственно изменяя один файл.

Для еще большей простоты можно использовать Obmenu, графическое приложение для редактирования меню Openbox. Obmenu есть в репозиториях Hardy и Gutsy-backports. Для его установки используйте следующую команду:
 sudo aptitude install obmenu

[прим. перев.: Obmenu есть в репозитории Fedora 9, для его использования установите пакет obmenu, например, командой yum install obmenu (команду необходимо выполнять с правами пользователя root).]

К сожалению в репозиториях для других версий Ubuntu нет Obmenu. Если Вы используете версия старее Gutsy, Вам придется скомпилировать Obmenu из исходных кодов. Сначала установите необходимые пакеты:
 sudo aptitude install python2.5 python-glade2 python-gtk2

Теперь загрузите исходные коды с сайта Obmenu. Извлеките содержимое и перейдите в терминале директорию с исходным кодом, для чего выполните команды:
 tar xzvf ~/obmenu-1.0.tar.gz
cd obmenu-1.0

Следующей командой установите приложение:
 sudo python setup.py install

После установки, Вы можете запустить Obmenu командой ‘obmenu’. Теперь нажимая кнопки и редактирую поля Вы можете изменять меню по вашему усмотрению. Проще некуда!

Вот как выглядит экран Obmenu.

Если Вы хотите, чтобы в меню появились все приложения, установленные на Вашем компьютере, можно использовать Menumaker. Загрузите его здесь, распакуйте и перейдите в директорию с исходным кодом, выполнив команду:
 tar xzvf ~/menumaker-0.99.7.tar.gz
cd ~/menumaker*

Запустите Menumaker следующей командой (при этом Menumaker не будет установлен, а только запуститься):
 ./mmaker OpenBox3

Вы должны получить полное меню. Обратите внимание, что Menumaker не перезапишет существующий файл menu.xml. Если Вы вносили какие-то изменения в файл menu.xml, сохраните резервную копию, удалите и затем отредактируйте новый файл menu.xml, созданный Menumaker.

Для использования меню Debian в Openbox следуйте инструкциям, описанным здесь.

Не ограничивайте себя, создайте меню, облегчающее Вашу жизнь! В качестве команды (command) можно написать практически любую команду. Если приложение требует административных привилегий (например, Synaptic) добавьте ‘gksudo’ перед командой и при запуске приложения у Вас будет запрошен пароль. Вы можете создать подменю для управления обоями, используя Feh (об этом будет далее); добавьте пункты для редактирования конфигурационных файлов (ВАШ_ЛЮБИМЫЙ_ТЕКСТОВЫЙ_РЕДАКТОР “/путь/к/файлу”) или для открытия определенных папок (ВАШ_ФАЙЛОВЫЙ_МЕНЕДЖЕР “/папка/на/выбор”); Вы можете создавать пункты для создания резервных копий документов (cp -a /директория/источник /директория/получатель) и т.д. Если Вы хотите, чтобы отдельные пункты завершали работу приложений, например, panels или conky, можно создать пункт с командой вида: killall название_приложения.

Вы можете также использовать ‘pipe menus‘ (pipe-меню, механизм динамических меню), которые автоматически генерируются каждый раз при их выборе. Существуют pipe-меню для Places из Gnome, Gmail, rss feeds, mpd-плееров, изменения тем, установки обоев рабочего стола и многого другого. Вы можете найти некоторые pipe-меню и инструкции по установке здесь.

[прим. перев.: ранее упоминавшаяся генерация меню в Fedora 9, также реализована в виде pipe-меню (см. файлы /etc/xdg/openbox/menus.xml и /usr/share/openbox/xdg-menu).]

Не забывайте после изменения файла menu.xml нажимать ‘Reconfigure’ в корневом меню, чтобы увидеть результат внесенных изменений. Obmenu должно делать это автоматически после сохранения проделанной работы. Если в файл меню содержит ошибки в коде xml, Obmenu не будет запускаться. При запуске из командной строки будет выводиться сообщение об ошибке, завершающееся примерно таким текстом: xml.parsers.expat.ExpatError: not well-formed (invalid token), после которого будет следовать строка menu.xml, в которой обнаружена ошибка. К счастью Openbox версии 3.4.7 предупреждает Вас при запуске или обновлении конфигурации когда Ваши файлы меню и конфигурации содержат ошибки.

Также Вы можете создавать особые меню (custom menus), которые будут запускаться из корневого меню. Более подробная информация представлена в документации Openbox.

В отличии от Fluxbox или Icewm, Openbox не поддерживает значки в меню.

4.2 Obconf


Когда Openbox установлен и меню выглядит как Вам нравится, Вы можете дальше настраивать Openbox. Все настройки Openbox определяются в файле rc.xml, который находится в папке /home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/.config/openbox. Этот файл можно редактировать вручную или с использованием Obconf.

Последняя версия Obconf есть в репозиториях Hardy и Gutsy-backports, но Вы не сможете использовать её, потому что она была скомпилирована для более старой версии Openbox. Вам придется собрать её самостоятельно из исходного кода. В том числе, если Obconf уже было установлено ранее, Вам необходимо скомпилировать его заново, чтобы использовать с последней версией Openbox.

[прим. перев.: в репозитории Fedora 9 доступны актуальные совместимые версии Openbox и Obconf.]

Загрузите исходный код, распакуйте архив и перейдите в извлеченную директорию, чтобы проделать это из командной строки наберите:
 wget http://icculus.org/openbox/obconf/obconf-2.0.3.tar.gz
tar xzvf obconf-2.0.3.tar.gz
cd obconf-2.0.3

Скомпилируйте Obconf:
 PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure –prefix=/usr
make
sudo checkinstall

После того как Вы установили Obconf, выполните следующие команды в терминале, чтобы проассоциировать файлы .obt (содержащие темы для Openbox) с Obconf:
 update-mime-database /usr/share/mime
update-desktop-database /usr/share/applications

После чего командой ‘obconf’ можно запустить Obconf. Вот как это выглядит:

Многие опции в Obconf должны быть очевидны. В самой правой вкладке есть место (dock), в котором Вы можете загружать специальные приложения - ‘dock apps’, такие как system trays (области уведомлений), launchers (панели запуска), pagers (пейджеры), clocks (часы), etc. (об этом будет далее).

[прим. перев.: не уверен особенности ли это самой версии или сборки, но в Fedora 9 в Obconf версии 2.0.3 вкладки упорядочены по вертикали, а не по горизонтали как это видно на скриншоте.]

4.3 Привязки клавиатуры, мыши и параметры приложений


Не все настройки в файле rc.xml можно (в настоящее время) изменить в Obconf. Для некоторых настроек Вам придется редактировать rc.xml в ручную.

Привязки клавиатуры

Openbox позволяет легко назначить определенной комбинации клавиш (keyboard bindings) некоторую команду (например, запуск приложения, показать меню или переключиться на определенный рабочий стол). Привязки можно добавить и изменить в секции “keyboard” файла rc.xml file. Вот некоторые примеры:

1.Запуск приложения или выполнения какой-то команды, например, для запуска Thunar:
<keybind key="A-F4">
<action name=”Execute”>
<execute>thunar</execute>
</action>
</keybind>

2. Для показа меню, например, корневого меню:
<keybind key="A-F1">
<action name=”ShowMenu”>
<menu>root-menu</menu>
</action>
</keybind>

3. Для переключения на определенный рабочий стол:
<keybind key="A-1">
<action name=”Desktop”>
<desktop>1</desktop>
</action>
</keybind>

A= Alt, C= Control, W= Windows key. Escape= escape key, Delete= Delete key. Если Вам хочется использовать определенную клавишу, но не уверены в её названии используйте xev: наберите xev в терминале и потом нажимайте нужную Вам клавишу. Появится много информации, Вам нужно то, что будет написано после слова ‘keycode’.

Дополнительная информация есть в документации Openbox.

Привязка мыши

Следующая секция в файле rc.xml касается мыши, в ней определяется, что делать, когда Вы щелкаете, перетаскиваете или нажимаете определенные кнопки мыши в определенных областях. Дополнительную информацию смотрите в документации Openbox. Некоторые примеры того, как можно настроить привязки клавиатуры и мыши смотрите здесь.

Приложения

В конце файла Вы найдете настройки, определяющие порядок запуска приложений. Например, если Вы хотите, чтобы окно терминала открывалось только на рабочем столе номер 2, или хотите, чтобы xclock скрывало элементы декорации окна, или чтобы orage пропускал панель задач, или объединить все эти действия для одного приложения, то всё это определяется здесь. Вот пример:
<application name="xfce4-terminal">
<desktop>3</desktop>
<layer>below</layer>
<decor>no</decor>
<maximized>yes</maximized>
</application>

Каждый раз при запуске xfce4-terminal он будет открываться на рабочем столе 3, развернутым на весь экран, без рамки окна, но под всеми другими приложениями.

Если Вы хотите удалить все оконные декорации, используйте следующие настройки:
<application class=”*”>
<decor>no</decor>
</application>

Подробная информация представлена здесь

После изменений файла rc.xml, чтобы увидеть результат, не забывайте нажимать ‘Reconfigure’ в корневом меню Openbox. Изменения вносимые в Obconf видны сразу.

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

goglus комментирует...

пишу
application name="Navigator" class="Shiretoko" role="browser"


запуск по хоткеям все ОК, но к примеру из пидгина — тянет фоксу в на свой рабочи стол, чо делать?