Создание пользовательских меню на вкладке меню «Приложения» в CentOS7 GNOME

Создание пользовательских меню на вкладке меню «Приложения» в CentOS7 GNOME

Я создал файл .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

Во-первых, мы:

  1. Создайте файл с именем APPNAME.menu(замените его APPNAMEна то, как вы хотите его назвать) в папке/etc/xdg/menus/applications-merged
  2. Введите следующее содержимое:
<!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 -->
  1. Сохраните файл и создайте еще один файл с именем APPNAME.directoryв папке (имя должно быть таким же, как указано в .menuфайле) /usr/share/desktop-directoriesсо следующим содержимым:
[Desktop Entry]
Type=Directory
Name=AppName
Icon=/path/to/icon`

ПримечаниеИмя .directoryфайла должно быть точно таким же, как .directoryимя, которое вы ввели в .menuфайле выше.

  1. Создайте стандартный .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

Связанный контент