Erstellen benutzerdefinierter Menüs im Anwendungsmenü-Tab in CentOS7 GNOME

Erstellen benutzerdefinierter Menüs im Anwendungsmenü-Tab in CentOS7 GNOME

Ich habe eine .menu-Datei in erstellt /etc/xdg/menus/applications-merged/, eine .directory-Datei in erstellt /usr/share/desktop-directories/und die verschiedenen .desktop-Dateien, die ich in meinem benutzerdefinierten Menü darunter haben möchte, /usr/share/applicationsmit einer benutzerdefinierten Kategorienerweiterung, Categories=X-nameofcategoryund dennoch wird in meinem Anwendungsmenü immer noch kein Menü angezeigt.

Ich frage mich, ob ich einen Schritt übersehen habe. Ich verwende Alacarte nicht, da ich mehrere Anwendungen erstellen muss und Alacarte sehr manuell ist. Ich muss Verzeichnispfade für jedes Symbol und jede ausführbare Datei hinzufügen und es gibt auch keine Drag & Drop-Methode. Ich war davon ausgegangen, dass es dafür eine Standardmethode gibt, und habe die Schritte befolgt, die Freedesktop beschreibt, aber ich bin immer noch ratlos. Für jede Hilfe oder Einsicht wäre ich dankbar!

Antwort1

Niemand scheint es zu wissen oder konnte nicht antworten, also werfe ich hier mal die Lösung ein, die ich gefunden habe!

Es gibt drei Standorte, die Sie beachten sollten:

  • /usr/share/desktop-directories
  • /etc/xdg/menus/applications-merged
  • /usr/share/applications

Bedenken Sie, dass der letzte Speicherort systemspezifisch ist. Wenn Sie ihn nur für Ihren Benutzer möchten, verwenden Sie:~/.local/share/applications

Zunächst einmal:

  1. Erstellen Sie eine Datei mit dem Namen APPNAME.menu(ersetzen Sie APPNAMEsie durch den gewünschten Namen) im Ordner/etc/xdg/menus/applications-merged
  2. Geben Sie diesen Inhalt ein:
<!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. Speichern Sie die Datei und erstellen Sie APPNAME.directoryam selben Ordner eine weitere Datei (der Name sollte mit dem in der .menuDatei angegebenen Namen identisch sein) /usr/share/desktop-directoriesmit folgendem Inhalt:
[Desktop Entry]
Type=Directory
Name=AppName
Icon=/path/to/icon`

Notizder .directoryDateiname sollte genau mit dem Namen übereinstimmen, den .directorySie oben in der .menuDatei eingegeben haben.

  1. Erstellen Sie eine Standarddatei .desktopin ~/.local/share/applicationsoder /usr/share/applicationsmit diesem Inhalt (natürlich ersetzen Sie Ihr eigenes Programm und die Categories=ZeileMUSS SEINderselbe Name wie der, den Sie der .directoryDatei zuvor gegeben haben)
#!/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

verwandte Informationen