LINUX.ORG.RU
ФорумTalks

[gnome] механизм запуска приложений

 


0

0

Вопрос: есть ли в гноме единый механизм запуска приложений, которые представлены .desktop-файлами?
Какая либо единая библиотека парсинга .desktop-файлов и запускания из них приложений.
Например, запуск из Alt+F2, из меню, запуск через ассоциацию по типу файла.
Также очень интересует как оно связано с механизмом оповещения о запуске (libnotification).
Хочется поменять содержимое переменной STARTUP_ID, чтобы оно содержало название .desktop-файла.


---
P.S. Не знаю, может об этом лучше в development-спросить? Хотя вопрос общего характера.

★★★★★

Если вопрос общего характера, то тут сам собой напрашивается General, однако. А .desktop-файлы... Может, проще-таки саму программу (которая открытым текстом в этом самом файле прописана) туда прописать? Или, может, я что-то неправильно понял?

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

Спасибо, но не то.
Еще раз попробую более внятно описать че мне надо.
Когда гном (да, наверное и не только он, т.к. стандарт) стартует прогу он устанавливает переменную окружения DESKTOP_STARTUP_ID.
Вот тут про это написано: http://standards.freedesktop.org/startup-notification-spec/startup-notificati...
Например для firefox:
DESKTOP_STARTUP_ID=gnome-panel-3265-linux-firefox-3.5-1_TIME174100
Так вот я хочу изменить (для этого мне надо знать где, об этом и вопрос) строку, которая присваивается этой переменной.
Конкретно я хочу чтобы туда добавлялось название файла .desktop, с помощью которого производился запуск.
Т.е. я в меню тыкнул на firefox, гном прочитал из .desktop-файла (наверное он так и называется firefox-3.5.desktop) командную строку для запуска и запустил фф.
Вот мне и надо узнать есть ли какая-либо либа или еще что, где формируется значение этой переменной.
Возможно ли сделать изменения в 1м месте чтобы при запуске любого приложения из любого места гнома (меню, atl+f2, ассоции файлов) к DESKTOP_STARTUP_ID добавлялось имя .desktop-файла?

ls-h ★★★★★
() автор топика
Ответ на: комментарий от ls-h

> Т.е. я в меню тыкнул на firefox, гном прочитал из .desktop-файла (наверное он так и называется firefox-3.5.desktop) командную строку для запуска и запустил фф.

Эти .desktop-файлы в /usr/share/applications должны, по идее, лежать.
И, да, вот, например, содержание mozilla-firefox-3.5.desktop (почти угадал :D):

[Desktop Entry]
Name=Mozilla Firefox
Comment=Web Browser
Exec=/usr/bin/firefox %U
Icon=firefox-icon
Terminal=false
Type=Application
MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+x ml;text/mml;
Categories=Network;WebBrowser;
StartupNotify=true

Не знаю... Может это и костыль (огромнейший), но в Exec прописать
export DESKTOP_STARTUP_ID=<blabla>; /usr/bin/firefox %U ?

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

Спасибо. Да - костылище просто!
Менять все системные .desktop-файлы...

Мне вообще это надо, чтобы для запущенного приложения найти его .desktop.

ls-h ★★★★★
() автор топика
Ответ на: комментарий от ls-h

desktop файлы используются только при запуске из меню. По ассоциации никогда они не используются.

PS: А для чего вам это?

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