LINUX.ORG.RU

XDG меню для fvwm


0

0

не смог заставить нормально заработать существующие генераторы гномовского меню для fvwm, fvwm-xdg-menu.py большинство пунктов выдавал, но в некоторых случаях вылетал, и некоторые пункты были некорректные или отсутствовали, а я в питоне не силен, наваял утилиту на Си схожей функциональности, на скрине - результат

тему нагло спёр из навеявшего тему о динамическом меню в fvwm-е поста, внедрил свой генератор вместо имеющегося шелловского скрипта

его можно натравить на пользовательский gnome-applications.menu, gnome-settings.menu - файлы, тогда можно править с помощью alacarte, питоновский скрипт при попытке его на них натравить - вылетал

сделал опции - писать не писать "DestroyMenu" и "AddToMenu" для корневого меню, можно задать чтобы добавляла разделитель снизу

думаю попробовать затолкнуть в fvwm-ный модуль, чтобы привязаться к событиям изменения меню/темы значков, чтобы сделать совем уж динамическое меню, не знаю правда архитектуру модулей, можно ли будет устроить реакция на события?

при включении дебиановского меню(точнее при выключении и повторном включении, чтобы процесс обхода по нему тоже пошёл) подвисает на несколько секунд, без него - за секунду обновляет, будем оптимизировать



Проверено: hibou ()

а где профит от того, что не используешь gnome-menu с нормальной "кнопкой Пуск"? да и судя по шоту вам IceWM нужен. хотя... на Е16 точно такое же замутить можно за 2-3 минуты. поэтому и вопрос: "набуя изобретать велосипед?!"

sda00 ★★★
()
Ответ на: комментарий от sda00

профит в том что я хочу fvwm из за иконок приложений на рабочем столе, а меню собираюсь юзать кликом по рабочему столу

thepit
() автор топика

ну раз уж зашел такой разговор то вопрос по теме. У меня в fluxbox'е xdg меню генерит обработанный напильником питоновский скрипт. Как прикрутить в rpm-based дистрибутиве чтоб он запускался каждый раз после установки очередной rpm'ки? Пасибо.

firsttimeuser ★★★★★
()
Ответ на: комментарий от thepit

> профит в том что я хочу fvwm из за иконок приложений на рабочем столе, а меню собираюсь юзать кликом по рабочему столу

.... мать, ну гляньте на тот же E17-ый (в E16-ом тоже всё весело, но нюансов есть чуток). там xdg прикручено как ЭЛЕМЕНТ меню (либка efreet тянет всю поддержку стандарта). "иконок приложений на рабочем столе" - а это ещё что за? ну хоть убей, но не вижу профита по сравнению с *box/WM + gnome-panel.

> У меня в fluxbox'е xdg меню генерит обработанный напильником питоновский скрипт. Как прикрутить в rpm-based дистрибутиве чтоб он запускался каждый раз после установки очередной rpm'ки? Пасибо.


повесь на хоткей. в Enlightenment этой проблемы и близко нет. xdg/menu апдейтится/(сверка с кэшем и апдейт если надо) при каждом обращении.

sda00 ★★★
()
Ответ на: комментарий от sda00

<.... мать, ну гляньте на тот же E17-ый (в E16-ом тоже всё весело, но нюансов есть чуток). там xdg прикручено как ЭЛЕМЕНТ меню (либка efreet тянет всю поддержку стандарта). "иконок приложений на рабочем столе" - а это ещё что за? ну хоть убей, но не вижу профита по сравнению с *box/WM + gnome-panel.

ну не видите, я вас ни на что не подбиваю и нен на что переходить не убеждаю ), вообще захотелось чёт написать, может кому то пригодится, мне так пригодилось,just for lulzzz )

thepit
() автор топика
Ответ на: комментарий от gorilych

>> Сделай свой rpm пакет с триггером на установку удаление: http://rpm.org/api/4.4.2.2/triggers.html

imho - это крайне неверный подход. нужен метод, который бы работал вне зависимости от устанавливаемых/удаляемых rpm - поэтому или хоткей, или, что более верно - простой сценарий на том же bash по установке/удалению/апдейту/(и т.п.) системы. т.е. сделать wrapper и тупо прогонять в конце этот скрипт по апдейту записей xdg.

sda00 ★★★
()

Шрифты мутные. У тебя монитор на ЭЛТ?

hbee ★★★★
()

Ах вот, оказывается, как «нужно» «сжимать» PNG, чтобы он влезал на ЛОР.

Jayrome ★★★★★
()
Ответ на: комментарий от McGray

> А в чем проблема? Сделать триггер на /usr/share/applications (например) и вызывать свой bash script..

пытаюсь донести, что сам подход неверен, ибо:

> set | grep -i xdg

XDG_CONFIG_DIRS=
XDG_DATA_DIRS=

и опционально:
XDG_CACHE_HOME=
XDG_CONFIG_HOME=
XDG_DATA_HOME=

соответственно надо отслеживать все изменения этих переменных, что не всегда напрямую связано с активностью rpm. так понятно?

sda00 ★★★
()
Ответ на: комментарий от sda00

непонятно, как эти переменные связаны с появлением/исчезновением приложений, которые должны быть перечислены в меню.

gorilych ★★
()

> думаю попробовать затолкнуть в fvwm-ный модуль, чтобы привязаться к событиям изменения меню/темы значков, чтобы сделать совем уж динамическое меню, не знаю правда архитектуру модулей, можно ли будет устроить реакция на события?

думаю, стоит сначала сделать вдумчивый man fvwm на предмет DynamicPopupAction

ananas ★★★★★
()
Ответ на: комментарий от sda00

> повесь на хоткей.

давно уже. Но надо чтоб без моего (или любого другого юзера которому я это прикручу) участия.

firsttimeuser ★★★★★
()
Ответ на: комментарий от McGray

> А в чем проблема? Сделать триггер на /usr/share/applications (например) и вызывать свой bash script..

лучше тогда на /var/lib/rpm/Packages

можешь пример подкинуть с тригером? И чтоб все в юзерспейсе...

firsttimeuser ★★★★★
()

На Сях, гришь? ;-)

Нормуль

Deleted
()

всё это очень уныло.

jcd ★★★★★
()
Ответ на: комментарий от firsttimeuser

нет. сделать один свой. я ж тебе доку дал - там всё есть.

gorilych ★★
()

Традиционно: конфиг в студию

maverik ★★
()

> думаю попробовать затолкнуть в fvwm-ный модуль, чтобы привязаться к событиям изменения меню/темы значков, чтобы сделать совем уж динамическое меню, не знаю правда архитектуру модулей, можно ли будет устроить реакция на события?

Я модули для FVWM на perl-е писал - просто и удобно, плюс есть дока хорошая - ничего там сложного в написании этих модулей нет.
Но в итоге, постепенно всё упращая, выкинул нафиг все модули и пришёл к конфигу в 100 строчек. Теперь живу и радуюсь - думаю на досуге ion3 поковырять :)

lv ★★
()
Ответ на: комментарий от thepit

"вообще захотелось чёт написать, может кому то пригодится, мне так пригодилось,just for lulzzz"

пригодится, кинь ссылку.

Lucius
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.