staging.inyokaproject.org

.directory-Dateien

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Dieser Artikel ist größtenteils für alle Ubuntu-Versionen gültig.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Menüeditor/alacarte_logo.png 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 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.

  2. Die neue Kategorie muss in ein vorhandenes Menü eingefügt werden.

  3. 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:

1
2
3
4
5
[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 Recognized desktop entry keys 🇬🇧):

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 (Icon Themes) 🇬🇧 . optional
OnlyShowIn=DESKTOP_ENVIRONMENT Untermenü wird nur im Menü der festgelegten Desktop-Umgebung (siehe Registered Environments 🇬🇧) 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:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
<Menu>
      <Name>Applications</Name>
      <MergeFile type="parent">/etc/xdg/menus/lxde-applications.menu</MergeFile>
      <Menu>
            <Name>NEUE_MENÜKATEGORIE_</Name>
	    <Directory>NEUES_MENÜ.directory</Directory>
	    <Include>
	          <Category>GEWÜNSCHTE_KATEGORIE</Category>
            </Include>
      </Menu>	
</Menu>

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:

1
2
3
	    <Include>
	          <Category>NEUE_KATEGORIE-XY</Category>
            </Include>

Einzelne Einträge können aber auch direkt eingebunden werden durch den Eintrag:

1
2
3
4
	<Include>
		<Filename>PROGRAMM1.desktop</Filename>
		<Filename>PROGRAMM2.desktop</Filename>
	</Include>

Nachdem man dem neuen Untermenü Einträge zugeteilt hat, erscheint dieses auch im Menü der jeweiligen Desktop-Umgebung.

Diese Revision wurde am 4. August 2022 18:06 von pantomime erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: KDE, Xfce, LXDE, GNOME