Я создал файл .menu в /etc/xdg/menus/applications-merged/
, создал файл .directory в /usr/share/desktop-directories/
и различные файлы .desktop, которые я хочу разместить в своем пользовательском меню /usr/share/applications
с пользовательским расширением «Категории», Categories=X-nameofcategory
но в меню приложений по-прежнему не отображается ни одно меню.
Мне интересно, есть ли шаг, который я упускаю, я не использую alacarte, потому что мне нужно создать несколько приложений, а alacarte очень ручной, приходится добавлять пути к каталогам для каждой иконки, исполняемого файла, и нет метода перетаскивания. Я предполагал, что есть стандартный способ сделать это, и следовал шагам, которые описывает freedesktop, но я все еще в растерянности. Любая помощь или понимание будут оценены по достоинству!
решение1
Похоже, никто не знает или не смог ответить, поэтому я подкину решение, которое нашел!
Есть три места, на которые вам следует обратить внимание:
/usr/share/desktop-directories
/etc/xdg/menus/applications-merged
/usr/share/applications
Имейте в виду, что последнее расположение является общесистемным, если оно нужно только вашему пользователю, используйте:~/.local/share/applications
Во-первых, мы:
- Создайте файл с именем
APPNAME.menu
(замените егоAPPNAME
на то, как вы хотите его назвать) в папке/etc/xdg/menus/applications-merged
- Введите следующее содержимое:
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
<Menu>
<Name>Applications</Name> <!-- This is necessary for your directory to appear in the applications drop down -->
<Menu> <!--app -->
<Name>app</Name>
<Directory>APPNAME.directory</Directory>
<Include>
<Category>APPNAME</Category>
</Include>
</Menu> <!-- End app -->
</Menu> <!-- End Applications -->
- Сохраните файл и создайте еще один файл с именем
APPNAME.directory
в папке (имя должно быть таким же, как указано в.menu
файле)/usr/share/desktop-directories
со следующим содержимым:
[Desktop Entry]
Type=Directory
Name=AppName
Icon=/path/to/icon`
ПримечаниеИмя .directory
файла должно быть точно таким же, как .directory
имя, которое вы ввели в .menu
файле выше.
- Создайте стандартный
.desktop
файл~/.local/share/applications
с/usr/share/applications
этим содержимым (разумеется, заменив свою собственную программу иCategories=
строкуДОЛЖНО БЫТЬто же самое, что и имя, которое вы дали.directory
файлу ранее)
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Exec=/path/to/executable.sh
Name=ApplicationToRun
Icon=/path/to/icon
Categories=APPNAME
Comment=Comment for users