Меню в KDE, создание собственных "подпапок" (при установке пакета)

Модератор: Модераторы разделов

KernelPanic
Бывший модератор
Сообщения: 2060
Статус: Brain Атаке
ОС: Debian squeeze/sid/exp

Меню в KDE, создание собственных "подпапок"

Сообщение KernelPanic »

Есть у меня некоторые собранные бинарники, из которых собираю пакет.
Захотел, естественно, чтобы в меню появлялся пункт для запуска, для чего в этот пакет добавил файл
/usr/share/applications/proga.desktop примерно следующего содержания:

Код: Выделить всё

[Desktop Entry]
Type=Application
Name=Proga
Encoding=UTF-8
Icon=proga
Exec=proga %F
Categories=Development;
Comment=Коммент
GenericName=Небольшое описание

При установке такого пакета в разделе "Разработка" меню KDE появляется пункт "Proga" для запуска этого приложения.
Таким образом, на данный момент имею:
Меню KDE -> Разработка -> Proga

Можно ли сделать так, чтобы данный пункт меню появлялся внутри подменю, к примеру "My Progs", т.е.
Меню KDE -> Разработка -> My Progs -> Proga?

Бился над документацией от www.freedesktop.org, но так и не понял, как это сделать?
Или наименования подменю строго задокументированы?
Спасибо сказали:
KernelPanic
Бывший модератор
Сообщения: 2060
Статус: Brain Атаке
ОС: Debian squeeze/sid/exp

Re: Меню в KDE, создание собственных "подпапок"

Сообщение KernelPanic »

Разобрался, чисто методом тыка :) Надо:

1. создать файл /etc/xdg/menus/applications-merged/my-progs.menu следующего содержания:

Код: Выделить всё

<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
<Menu>
  <Name>Applications</Name>
  <Menu>
    <Name>Development</Name>
    <Menu>
      <Name>MyProgs</Name>
      <Directory>my-progs.directory</Directory>
      <Include>
        <Category>MyProgs</Category>
      </Include>
    </Menu>
  </Menu>
</Menu>

2. Также создать directory-файл /usr/share/desktop-directories/my-progs.directory такого вида:

Код: Выделить всё

[Desktop Entry]
Encoding=UTF-8
Type=Directory
Name=My Progs
Icon=proga             #можно другую иконку на папку поставить, я ту же взял, что и у приложения

3. Файл /usr/share/applications/proga.desktop должен быть такого вида:

Код: Выделить всё

[Desktop Entry]
Type=Application
Name=Proga
Encoding=UTF-8
Icon=proga
Exec=proga %F
Categories=MyProgs;
Comment=Коммент
GenericName=Небольшое описание


То есть, первым файлом создал новую категорию MyProgs (подраздел меню), вложенную в категорию Development (раздел меню "Разработка")

Вторым файлом даем этому подразделу имя ("My Progs") и иконку.

Ну а третий файл - это "ярлык" для запуска самого приложения, в котором прописана данная новая категория.

Итого, получил нужное мне вложение:
Меню KDE -> Разработка -> My Progs -> Proga

Ну и жесть :)

Кстати, это все применимо и к Gnome, а не только к KDE, короче к любому DE, совместимому с freedesktop.org
Спасибо сказали: