lug-in.de
Linux User Group Ingolstadt e.V.
Startseite
Der Verein
Technikecke
Mailingliste
Kalender
Impressum

Login

Anwendungen in das GNOME-Hauptmenü integrieren

(betrifft GNOME 2.28.2)

Ich hatte ein Problem mit einem Programm, dass ich gerne über das GNOME Hauptmenü „Anwendungen“ unter „Spiele“ aufrufen wollte. Dafür gibt es einen Menü-Editor, wie in der Dokumentation von GNOME zu lesen ist. Man sollte den Menü-Editor aufrufen können, wenn man Hauptmenü einen Rechtsklick ausführt und dann auf „Menü bearbeiten“ klickt. Leider war das bei mir nicht der Fall, also musste ich mir anders helfen. Mein erster Gedanke war, dass die Lösung eventuell im GNOME Entwicklerhandbuch steht. Tja, da war leider nix zu finden.

Verknüpfungen im globalen Menü (für alle Benutzer sichtbar)

Ich suchte also im Verzeichnisbaum und fand den Pfad: „/usr/share/applications“

Dort sind alle Verknüpfungen abgelegt, die global, also bei jedem Benutzer, im Menü angezeigt werden sollen. Ein Blick mit dem Kommandozeilenaufruf „ls -l“ ergab, dass diese Verknüpfungen (z. B. „totem.desktop“) nicht in Unterordnern gespeichert sind. Wenn also eine Programmverknpüfung bei jedem Benutzer erscheinen soll, ist hier der richtige Platz zum Ablegen der Verknüpfung. Aber irgendwie muss GNOME doch erkennen, in welchen Kategorien die Verknüpfungen angezeigt werden sollen? Die Antwort dazu liegt im Dateiinhalt. Eine Verknüpfung unter Windows ist eine Binärdatei. In GNOME und anderen mordernen Desktop-Umgebungen ist das zum Glück anders. Für die den Audioplayer XMMS ist daher der Inhalt einer passenden Verknüpfung wie folgt:

[Desktop Entry]
Name=XMMS
Exec=xmms -p -e %F
Icon=xmms
MimeType=audio/x-flac;audio/flac;
Categories=AudioVideo;Player;
Terminal=false
Type=Application
NoDisplay=true
X-Desktop-File-Install-Version=0.15

Hier ist ganz besonders folgende Zeile interessant: Categories=AudioVideo;Player;

Auf der linken Seite des Gleichheitszeichens steht das Schlüsselwort „Categories“. Auf der Rechten , stehen die Kategorien, angefangen mit der obersten Kategorie. Diese Verknüpfung wird bei mir, zum Beispiel, unter „Anwendungen->Unterhaltungsmedien“ angezeigt. Wenn mehrere Kategorien durch ein Semikolon getrennt angegeben werden, erschein. Das ist die Funktionsweise. Weitere Kategorien können der unten stehenden Tabelle entnommen werden. HINWEIS: Die Tabelle ist nicht vollständig!

Kategorie

deutsche Übersetzung

AudioVideo

Unterhaltungsmedien

Game

Spiele

Office

Büro

Network

Internet

Utility

Zubehör

Graphics

Grafik

Development

Entwicklung

Education

Bildung

Benutzerdefinierte Menüs

Mein Problem war mit dieser Kenntnis jedoch nicht gelöst: Ich wollte, dass nur ich diese Verknüpfung im Menü sehe. Dazu gibt es den Pfad im Benutzerverzeichnis („/home/[Benutzer]/“, für den Benutzer root „/root/“, hier als „~/“ bezeichnet):

„~/.local/share/applications“

Ein Beispiel für den Benutzer „thomas“:

„/home/thomas/.local/share/applications/“

Dort findet man die selbe Unterordnerstruktur; nämlich Keine. Die Kategorien werden wie bei globalen Startern angegeben. Ich habe also bei meinem Starter die Zeile „Categories“, mit passenden Werten, hinzufügt, und Diesen in das Verzeichnis „~/.local/share/applications“ meines Benutzers verschoben. Dann wird meine Verknüpfung auch schon im Menü sichtbar. Fertig!

Weitere Anmerkungen:

Lässt man die Zeile „Categories“ weg, wird bei mir z. B. die Kategorie „Sonstiges“ dafür verwendet. Man kann diese Zeile auch irgendwo in der Datei angeben, d. h. die Reihenfolge der Zeilen spielt keine Rolle.