Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет Русскоязычное Linux-сообщество ([info]lj_ru_linux)
@ 2013-04-02 08:35:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Реализация нескольких главных меню в openbox
Меню openbox, запускаемое правой кнопкой по рабочему столу, зависит от файла ~/.config/openbox/menu.xml.

Существует ли возможность запуска этого меню относительно какого-нибудь другого .xml в виде командной строки с аргументом в виде конфигурационного файла. Хочу реализовать в tint2 несколько лаунчеров с выпадающими меню, для каждого лаунчера - своё меню.

Апдейт: Сам спросил - сам ответил. pipemenu.

Однако, встала следующая проблема:

Насколько я понимаю, динамическое меню (pipemenu) в openbox рассматривается исключительно как подменю статического корневого root-меню.

Интересует вопрос - а можно ли добиться, чтобы само root-меню было динамическим?

Апдейт: ~/.config/openbox/menu.xml с содержанием

<?xml version="1.0" encoding="utf-8"?>
<openbox_menu xmlns="http://openbox.org/"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://openbox.org/">
    <menu id="root-menu" label="menu-generator" execute="/home/piyavking/.config/openbox/menu.sh" />
</openbox_menu>


, где menu.sh генерит конфиг вида

<?xml version="1.0" encoding="utf-8"?>
<openbox_pipe_menu>
...
...
...
</openbox_pipe_menu>


Делает то, что мне нужно. Остаётся только передать в menu.sh параметр, зависящий от того, какой лаунчер нажат, для выдачи на-горА соответствующего варианта меню. Можно было бы, конечно, прицепить на лаунчеры myGTKmenu, но умножать сущности некрасиво, да и родное openbox меню бегает не в пример шустрее.

Спасибо за внимание.


(Читать комментарии) (Добавить комментарий)