[[Vorlage(Getestet, general)]] {{{#!vorlage Wissen [:mit Root-Rechten arbeiten:] [:Editor: Einen Editor öffnen] [:Rechte#Datei-ausfuehrbar-machen: Rechte für Dateien und Ordner ändern] }}} [[Inhaltsverzeichnis()]] [[Bild(Menüeditor/alacarte_logo.png, align=left, 48)]] Manchmal kann es vorkommen, dass einem das Programme-Menü mit den vorhandenen Untermenüs nicht ausreicht und man das ganze Menü umstrukturieren möchte. Mit Hilfe von '''.directory'''-Dateien, die den gleichen Aufbau wie [:.desktop-Dateien:] haben, kann man neue Untermenüs erstellen und diesem [:.desktop-Dateien:Programmstarter] zuordnen. Wie man dies genau macht, dies wird in diesem Artikel beschrieben. = Neues Untermenü erstellen = Eine neue Kategorie bzw. ein neues Untermenü wird in drei Schritten angelegt: 1. Der Name des Eintrags und ein Symbol müssen festgelegt werden. 1. Die neue Kategorie muss in ein vorhandenes Menü eingefügt werden. 1. Die Menüeinträge sind mit dem neuen Untermenü zu verbinden. Groß- und Kleinschreibung sowie Dateiendungen sind zu beachten! == Name und Symbol festlegen == Neben den schon genutzten Untermenüs finden sich auch ungenutzte Einträge in den '''.directory'''-Dateien in '''/usr/share/desktop-directories/'''. Falls dort eine passende Kategorie mit passendem Symbol vorhanden ist, muss kein eigenes angelegt werden. Für einen eigenen Eintrag ist eine Datei nach folgendem Muster zu erstellen: {{{#!code [Desktop Entry] Name=Neue Menükategorie Comment=Beschreibung Icon=passendes_Symbol Type=Directory }}} Systemsymbole können abgekürzt eingetragen werden (z.B. `www-browser`), aber auch die Angabe des kompletten Pfades ist möglich. Diese Datei ist mit der Dateiendung '''.directory''' versehen nach '''~/.local/share/desktop-directories/''' zu kopieren. Alternativ besteht die Möglichkeit, einen neuen Menüeintrag im [:Menüeditor:], bspw. Alacarte zu erstellen. Dann wird eine '''.directory'''-Datei im '''~/.local/share/desktop-directories/''' automatisch erstellt. Es kann vorkommen, dass nach den Änderungen mit Menüeditor und nach einer Zurücksetzung dieser Änderungen über "Restore System Configuration" in '''~/.local/share/desktop-directories/''' mehr als eine '''.directory'''-Datei mit dem gleichen Namen gespeichert ist. Wenn dieser Menüname noch verwendet wird, kann man herausfinden, welche '''.directory'''-Datei im Hauptmenü verwendet wird dadurch, dass man in den gleichnamigen '''.directory'''-Dateien unterschiedliche Icons zuweist. Diese Änderung ist im Menü ggf. erst nach einer Abmeldung aus der Ubuntu-Sitzung wirksam. === Elemente === Die Bedeutung der einzelnen Elemente einer '''.directory'''-Datei für ein neues Untermenü (siehe auch [https://standards.freedesktop.org/desktop-entry-spec/latest/ar01s06.html Recognized desktop entry keys] {en}): {{{#!vorlage Tabelle <-3 tablestyle="width: 97%;" rowclass="titel"> Untermenü +++ Element Beschreibung Erforderlich +++ `Type=Directory` Zur Erstellung eines Untermenüs wählt man als Typ: `Directory`. ja +++ `Name=NAME` Der Name des neuen Menüs ja +++ `GenericName=...` Allgemeine Beschreibung des Menüs, z.B. Unterhaltung. optional +++ `NoDisplay=WAHRHEITSWERT` `NoDisplay` bedeutet, dass das Untermenü zwar existiert, aber nicht im Hauptmenü angezeigt wird. Dies kann hilfreich sein, wenn das Untermenü noch keine Elemente besitzt. optional +++ `Comment=KOMMENTAR` Ein kurzer beschreibender Satz, welcher mit dem Feld `Name` oder `GenericName` nicht identisch sein darf. optional +++ `Icon=SYMBOLDATEI` Symbol (Piktogramm), welches im Menü angezeigt werden soll ([http://freedesktop.org/wiki/Specifications/icon-theme-spec?action=show&redirect=Standards%2Ficon-theme-spec Icon Themes]) {en} . optional +++ `OnlyShowIn=DESKTOP_ENVIRONMENT` Untermenü wird nur im Menü der festgelegten Desktop-Umgebung (siehe [http://standards.freedesktop.org/menu-spec/latest/apb.html Registered Environments] {en}) angezeigt (Groß-/Kleinschreibung beachten!). Kombinationen sind möglich. optional +++ `NotShowIn=DESKTOP_ENVIRONMENT` Untermenü wird nicht im Menü der festgelegten Desktop-Umgebung angezeigt (Groß-/Kleinschreibung beachten!). optional }}} == Einbinden ins vorhandene Menü == Die systemweite Menü-Konfigurationsdatei im Stammverzeichnis '''/etc/xdg/menus/''' sollte nicht direkt bearbeitet werden. Entweder wird eine Kopie der entsprechenden '''.menu'''-Datei in '''~/.config/menus/''' abgelegt und weiter bearbeitet. Oder es wird dort eine '''.menu'''-Datei angelegt, welche die '''.menu'''-Datei aus dem Stammverzeichnis einbindet und (nur) die gewünschten Änderungen enthält. Vgl. das folgende Beispiel: {{{#!code xml Applications /etc/xdg/menus/lxde-applications.menu NEUE_MENÜKATEGORIE_ NEUES_MENÜ.directory GEWÜNSCHTE_KATEGORIE }}} == Menüeinträge zuweisen == Solange das neu erstellte Menü XY keine Einträge enthält, wird es nicht angezeigt. Im Menüeditor im neuen Menü XY erstellten Einträge werden unmittelbar angezeigt ohne dass diese explizit einer Kategorie zugeordnet werden müssen. Alternativ können in '''~/.local/share/applications/''' ein oder mehrere mit einem Texteditor erstellte '''.desktop'''-Dateien gespeichert werden, die `Categories=NEUE_KATEGORIE-XY` Zuweisungen enthalten. Das Beispiel im vorigen Abschnitt muss dann diese Zeile enthalten: {{{#!code xml NEUE_KATEGORIE-XY }}} Einzelne Einträge können aber auch direkt eingebunden werden durch den Eintrag: {{{#!code xml PROGRAMM1.desktop PROGRAMM2.desktop }}} Nachdem man dem neuen Untermenü Einträge zugeteilt hat, erscheint dieses auch im Menü der jeweiligen Desktop-Umgebung. = Links = * [:.desktop-Dateien:] Artikel über die Erstellung von Dateien für Programmstarter, Autostart, Desktop-Symbole etc. * [https://people.gnome.org/~shaunm/admin-guide/menustructure-14.html people.gnome.org] {en} - Directory Entry Files * [https://wiki.debianforum.de/Alacarte#%C3%84nderungen_r%C3%BCckg%C3%A4ngig_machen Änderungen rückgängig machen] - Wie kann man "Restory System Configuration"-Knopf deaktivieren # tag: GNOME, KDE, Xfce, LXDE