Das neue Benachrichtigungssystem von Gnome 3 ist schön, allerdings stört mich, dass die Nachrichten sich mit den Programm-Trayicons der Programme in der “Notification Area” rechts unten vermischen. Mitlerweile habe ich eine Möglichkeit gefunden, einzelne Trayicons - wie noch bei Gnome 2 - auf die obere Leiste zu verschieben.
Um die Tray-Icons von einzelnen Programmen auf die obere Leiste zu verschieben, kann man sich eine kleine Gnome Shell-Erweiterung erstellen. Wie schonmal angemerkt, basiert die Oberfläche von Gnome 3 zum Großteil auf Javascript und die Möglichkeiten der Erweiterung sind daher sehr vielfältig. Erstellen kann man neue Erweiterungen sehr einfach mit dem gnome-shell-extension-tool:
gnome-shell-extension-tool --create-extension
Dort kann dann ein beliebiger Name und eine Beschreibung eingegeben, sowie eine eindeutige Extension-ID vergeben werden. Danach öffnet sich direkt ein Editor mit dem eigentlichen Erweiterungscode in der Datei extension.js. (falls nicht, befindet sich die extension.js unter dem Ordner /home//.local/share/gnome-shell/extensions/)
In unserer recht simplen Erweiterung können wir dann diejenigen Programme angeben, deren Tray Icons auf dem Oberen Panel erscheinen sollen:
const Panel = imports.ui.panel;
const StatusIconDispatcher = imports.ui.statusIconDispatcher;
function main() {
// add the notification(s) you want display on the top bar
// - one per line. Use the english text string displayed when
// hovering your mouse over the bottom right notification area
StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['empathy'] = 'empathy';
StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['dropbox'] = 'dropbox';
StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['clementine'] = 'clementine';
StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['radiotray'] = 'radiotray';
StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['shutter'] = 'shutter';
StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['keepassx'] = 'keepassx';
StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['truecrypt'] = 'truecrypt';
StatusIconDispatcher.STANDARD_TRAY_ICON_IMPLEMENTATIONS['vlc'] = 'vlc';
}
Der richtige Programname/die richtige Bezeichnung sieht man vorher beim Draufzeigen auf die TrayIcons in der unteren “Notification Area”. Wichtig ist, dass diese Bezeichnung in Kleinbuchstaben in der Erweiterung angegeben wird. Nach Abspeichern der Datei muss die Gnome Shell noch neu gestartet werden. Dies geht z.B. über das Tastenkürzel Alt + F2 und den Befehl ‘r’. (ohne Anführungszeichen)
Der Erweiterungs-Tipp stammt übrigens von http://blog.fpmurphy.com/, eine sehr gute Adressse, wenn man ein bisschen mehr über die Erstellung von Erweiterungen in Gnome 3 wissen möchte!
Bei Problemen mit den Erweiterung hilft häufig die Debugging-Konsole weiter. Diese erreicht man über Alt + F2 und den Befehl ‘lg’. Im Errors-Tab werden eventuell aufgetretene Fehler angezeigt, im Extensions-Tab stehen die erfolgreich geladenen Erweiterungen. Zum zwischenzeitlichen Deaktivieren einzelner Erweiterungen, kann gnome-tweaktool benutzt werden.
Mitlerweile gibt es auch bereits einige andere interessante Erweiterungen für Gnome 3/Gnome Shell. Leider gibt es (noch) keine zentrale/offizielle Website, auf der diese genauer vorgestellt werden.
Ich setze momentan folgende Erweiterungen ein: