16. September 2013

Arch Linux: Der Weg zu "meinem" GNOME - Benutzerdefinierte Tray-Icons (Teil 6)

Seit GNOME 3 werden von der Desktopumgebung keine Programm-Icons mehr im Top-Panel erlaubt, stattdessen wurde ein alternatives Benachrichtungssystem implementiert, das vorsieht, dass Benachrichtigungen von Programmen in einer speziell dafür geschaffenen Benachrichtungsleiste am unteren Bildschirmrand angezeigt wird. Hinweise über vorliegende Benachrichtigungen in dieser Leiste werden im Aktivitäten-Menü und auf dem Sperrbildschirm angezeigt und die Leiste selbst wird sichtbar, indem man den Mauszeiger an den unteren Bildschirmrand bewegt. Im Top-Panel werden dagegen nur noch wenige ausgewählte Icons angezeigt, wie z.B. diejenigen zum aktuellen Netzwerkstatus, der Lautstärken-Kontrolle oder dem Akku-Zustand.

Die Benachrichtigungsleiste von GNOME 3 (Klicken zum Vergrößern)

Mir persönlich gefällt dieses Verhalten nicht, da ich stattdessen lieber diejenigen wenigen Programme, die dauerhaft im Hintergrund laufen und von denen ich regelmäßig Benachrichtigungen erwarte, über ein Tray-Icon im Top-Panel zur Verfügung habe und auch dort gerne sofort sichtbar über vorliegende Benachrichtigungen informiert werde. Aus diesem Grund sollen in diesem sechsten Artikel der Serie über die Veränderungen, die ich unter der GNOME-Shell meines Arch Linux-Systems vorgenommen habe, gezeigt werden, wie man die Benachrichtungsleiste von GNOME 3 deaktivieren kann und stattdessen die Tray-Icons ausgewählter Programme dauerhaft im Top-Panel anzeigen lassen kann. Zu diesen, im Folgenden angesprochenen Programmen, die automatisch beim Systemstart im Hintergrund gestartet werden sollen und in dem Top-Panel als Icon verfügbar sein sollen, gehören der Media Player "Banshee", der Mail-Client "Thunderbird", der Instant Messenger "Pidgin" und der Cloud-Speicher-Client "Dropbox".  Die PopUp-Benachrichtigungen, die von allen Programmen ausgegeben werden können, sollen von den vorgenommenen Änderungen nicht unterbunden werden. 

Tray-Icons im Top-Panel erlauben


Um trotz des Paradigmenwechsels, der mit GNOME 3 Einzug fand, Tray-Icons im Top-Panel zu erlauben, existieren verschiedene GNOME Shell Extensions. Ich habe mich für die Extension "TopIcons" entschieden, die bereits in dem vergangenen Artikel, über die von mir verwendeten Shell-Erweiterungen, erwähnt wurde. Sie ist über diesen Link verfügbar und kann bei installiertem "Gnome Shell Integration"-PlugIn direkt aus dem Browser heraus aktiviert werden. Die Erweiterung verfügt über keinerlei Einstellungsmöglichkeiten und sorgt dafür, dass die Tray-Icons aller Anwendungen, die eine solche Funktionalität mit sich bringen, im Top-Panel angezeigt werden.

Dropbox


Der Client für den Cloud-Speicher-Service "Dropbox", der es ermöglicht, die Dateien innerhalb eines lokalen Ordners auf dem System autmatisch mit den Daten in der Cloud zu snychronisieren, ist über das AUR verfügbar. Laut der Installationsanleitung in diesem Artikel des Arch-Wikis soll neben dem Paket dropbox auch nautilus-dropbox installiert werden um eine bessere Integration in den GNOME-Dateimanager "Nautilus" zu erreichen. Die beiden Pakete können mittels des Kommandozeilentools "yaourt" über den folgenden Befehl installiert werden.
 $ yaourt -S dropbox nautilus-dropbox  
Wenn das Paket nautilus-dropbox ebenfalls installiert wurde, sollte ein neuer Autostart-Eintrag angelegt worden sein, der Dropbox beim Systemstart automatisch über den Befehl dropboxd im Hintergrund startet. In diesem Fall sollte Dropbox nach einem Neustart des Systems gestartet werden und nach der Anmeldung mit den persönlichen Benutzerdaten sollte die Synchronisation zwischen dem lokalen Ordner und der Cloud funktionieren. Die Existenz eines solchen Autostart-Eintrags lässt sich über die GNOME-Startprogrammeinstellungen überprüfen, die über den folgenden Befehl gestartet werden können. Falls in der Liste der Startprogramme kein solcher Befehl existiert muss er manuell angelegt werden.
 $ gnome-session-properties  
Bei aktivierter TopIcons-Erweiterung sollte nach dem Start des Services das Dropbox-Symbol im Top-Panel angezeigt werden. Wie zu Beginn dieser Artikelserie bereits erwähnt nutze ich das Fenster- und Icon-Thema "Numix" im Zusammenspiel mit dem Shell-Thema "EleganceColors", das das GNOME-Top-Panel farblich passend in einem sehr dunklen Grau erscheinen lässt. Im "Numix"-Icon Thema sind bereits Tray-Icons für Dropbox enthalten aber diese passen aufgrund ihrer Helligkeit leider nicht zu einem solch dunklen Panel. Aus diesem Grund habe ich diese Icons so angepasst, dass sie auch in einem dunklen Panel sehr gut sichtbar sind. Unter diesem Download-Link ist das "Numix - Dropbox Tray Icons" genannte Icon-Pack als zip-Archiv verfügbar. Nach dem Herunterladen des Archivs, lässt es sich über die folgenden Konsolenbefehle entpacken und anschließend installieren, wobei der Dateinamen der zip-Datei eventuell an die jeweilige Version anzupassen ist. Die originalen Icons des "Numix"-Icon Themas werden dadurch überschrieben.
 $ unzip numix-dropbox-tray-icons-v.1.0.zip  
 $ cd numix-dropbox-tray-icons  
 $ sudo ./INSTALL.sh  
Die Änderungen werden eventuell erst nach einem Neustart der GNOME-Shell sichtbar. Ein solcher Neustart lässt sich erzwingen, indem man die Tastenkombination Alt + F2 drückt, in den erscheinenden Dialog den Befehl "r" eingibt und anschließend mit der Enter-Taste bestätigt.

Das Icon-Pack enthält drei verschiedene Icons, die unten abgebildet sind. Dazu gehören (von links nach rechts) ein Standard-Icon, ein Icon, das bei laufender Synchronisation angezeigt wird und ein Icon, das darauf hinweist, dass bei der Synchronisation ein Fehler aufgetreten ist.

Eine Vorschau über die, in "Numix - Dropbox Tray Icons" enthaltenen, Symbole

Banshee


Auch der Media-Player "Banshee" soll beim Start meines Arch Linux im Hintergrund gestartet werden und als Symbol im GNOME-Top-Panel verfügbar sein. Er ist über das offizielle Repository "extra" verfügbar und kann dementsprechend über folgenden Befehl über den Paketmanager "Pacman" installiert werden:
 $ sudo pacman -S banshee  
Insofern die Erweiterung "Symbol im Benachrichtigungsfeld" in den Einstellungen von Banshee aktiviert ist, zeigt auch Banshee ein Tray-Icon an. Um diese Einstellung zu überprüfen, können die Einstellungen über den Menüeintrag "Bearbeiten"  "Einstellungen" geöffnet werden. Unter dem Reiter "Erweiterungen" ist eine Liste aufgeführt, die alle installierten Erweiterungen enthält.

Liste aller installierten Erweiterungen in den Einstellungen von Banshee (Klicken zum Vergrößern)

Um Banshee beim Systemstart im Hintergrund zu starten muss ein neuer Autostart-Eintrag über den Dialog "Startprogrammeinstellungen" erstellt werden, der über den folgenden Befehl erreichbar ist. 
 $ gnome-session-properties  
Über die Schaltfläche hinzufügen kann ein neuer Eintrag erstellt werden, dem eine beliebige Bezeichnung und ein Befehl zugeordnet werden muss. Um Banshee minimiert im Hintergrund zu starten muss der folgende Befehl eingegeben werden. Das Programm wird dadurch erst 10 Sekunden nach Systemstart gestartet, was sinnvoll ist, da ansonsten Funktionen, die eine Internetverbindung benötigen, eventuell nicht funktionieren, wenn das Herstellen des Internetverbindung noch nicht abgeschlossen ist.
 bash -c "sleep 10;banshee --hide"  

Anlegen eines neuen Autostart-Eintrags, um Banshee im Hintergrund zu starten (Klicken zum Vergrößern)

Auch die Tray-Icons für Banshee sind bereits im "Numix"-Icon Thema enthalten und leider passen auch diese farblich nicht zu einem dunklen Top-Panel. Deshalb habe ich auch für diese Icons ein Icon Pack erstellt, das unter diesem Downloadlink heruntergeladen werden kann. Nach dem Herunterladen des zip-Archivs kann dieses über die folgenden Befehle entpackt und die Icons installiert werden, wobei der übergebene Dateinamen des zip-Archivs eventuell an die jeweilige Version angepasst werden muss:
 $ unzip numix-banshee-tray-icons-v.1.0.zip  
 $ cd numix-banshee-tray-icons  
 $ sudo ./INSTALL.sh  
Die geänderten Icons werden eventuell erst nach einem Neustart der GNOME-Shell sichtbar. Hierfür drückt man die Tastenkombination Alt + F2 und gibt in den erscheinenden Dialog den Befehl "r" ein.

Dieses "Numix - Banshee Tray Icons" genannte Icon-Pack enthält die drei, unten in einer Vorschau dargestellten, Symbole. Von links nach rechts stellen diese Symbole das Standard-Icon, das Icon, das angezeigt wird, wenn ein Audio- oder Video-Stream gepuffert wird und das Icon, das angezeigt wird, wenn die Wiedergabe gestoppt wurde, dar.

Eine Vorschau über die, im Icon-Pack "Numix - Banshee Tray Icons" enthaltenen Symbole

Thunderbird


Als Mail-Client für diverse E-Mail-Konten verwende ich seit jeher "Thunderbird". Leider bietet das Programm von Haus aus keine Möglichkeit an, minimiert gestartet zu werden, weshalb es nicht ganz so trivial ist, den Mail-Client beim Systemstart unsichtbar im Hintergrund zu starten. Auch das Anzeigen eines Tray-Icons wird standardmäßig nicht unterstützt. Diese beiden Funktionalitäten lassen sich jedoch über das AddOn "FireTray" nachrüsten, das die Möglichkeit mit sich bringt, Thunderbird aus dem System-Tray heraus zu nutzen. Das AddOn kann entweder von dieser Seite heruntergeladen und anschließend durch Ausführen der Datei installiert werden oder man installiert es direkt aus Thunderbird heraus, indem man dessen integrierte Suchfunktion nutzt, die über die Option "Add-ons" im Anwendungsmenü erreicht werden kann.

Über die Einstellungen des AddOns kann unter dem Reiter "Windows" die Option "Start application hidden to tray" aktiviert werden, die dafür sorgt, dass Thunderbird stets minimiert gestartet wird. Die übrigen Einstellungen, die ich unter diesem Reiter getroffen habe, sind auf dem unten dargestellten Screenshot zu sehen.

Einstellungen unter dem Reiter "Windows" des Thunderbird-AddOns "FireTray" (Klicken zum Vergrößern)

Um anschließend einen neuen Autostart-Eintrag anzulegen, der das Programm beim Systemstart startet, muss der entsprechende Einstellungs-Dialog über den folgenden Befehl gestartet werden:
 $ gnome-shell-properties  
Dem neu angelegten Eintrag muss dann der folgende Befehl zugeordnet werden, der Thunderbird 10 Sekunden nach dem Systemstart startet. Diese Verzögerung ist notwendig, da das Programm ansonsten eventuell eine Fehlermeldung ausgibt, dass keine Verbindung zu dem Server hergestellt werden konnte. Dies ist der Fall, wenn die Herstellung der Internetverbindung noch nicht abgeschlossen ist, wie es bei der Verwendung von WLAN der Fall sein kann.
 $ bash -c "sleep 10;thunderbird"

Unter dem Reiter "Icon" der Erweiterung "FireTray" kann außerdem das Tray-Icon ausgewählt werden, das standardmäßig im Top-Panel von der GNOME-Desktopumgebung angezeigt werden soll. Wenn man unter dem Reiter "Mail" außerdem noch die Option "Enable mail notification" aktiviert, kann man unter diesem Reiter zusätzlich noch ein zweites Tray-Icon wählen, welches angezeigt wird, wenn neue bzw. ungelesene Mails vorliegen. Standardmäßig werden für diese Icons Dateien verwendet, die dem ausgewählten Icon-Thema entnommen werden. Im Falle des Numix-Themas, das von mir verwendet wird, ist es wiederrum so, dass diese Icons nicht für die Verwendung in einem dunklen Top-Panel geeignet sind. Aus diesem Grund habe ich wie einmal ein Icon-Pack namens "Numix - Thunderbird Tray Icons" erstellt, das passende Icons enthält. Diese Icon-Pack kann unter diesem Downloadlink heruntergeladen werden und anschließend über die folgenden Konsolenbefehle entpackt und installiert werden. Der Dateiname des zip-Archivs muss hierbei eventuell an die jeweilige Version angepasst werden.
 $ unzip numix-thunderbird-tray-icons-v.1.0.zip  
 $ cd numix-thunderbird-tray-icons  
 $ sudo ./INSTALL.sh  
Um die Icons anschließend in FireTray auszuwählen, muss für das Standard-Icon der Pfad /usr/share/icons/Numix/status/22/thunderbird-default-tray-icon.svg und für das Icon, das bei ungelesenen Nachrichten angezeigt wird, der Pfad /usr/share/icons/Numix/status/22/thunderbird-indicator-tray-icon.svg ausgewählt werden. Das unten dargestellte Bild zeigt diese beiden Grafiken in einer Vorschau.

Eine Vorschau über die, im Icon-Pack "Numix - Thunderbird Tray Icons" enthaltenen Symbole.

Pidgin


Bei dem letzten Programm, für das ich gerne ein Tray-Icon auf meinem System darstellen möchte und das hier vorgestellt werden soll, handelt es sich um den Instant Messenger "Pidgin". Es kann aus den offiziellen Repositories über den folgenden Befehl installiert werden:
 $ sudo pacman -S pidgin  
Pidgin zeigt zwar standardmäßig ein Tray-Icon an, doch um das Programm minimiert zu starten benötigt man ein dementsprechendes PlugIn namens "Extended Preferences", das über das AUR installiert werden kann. Hierfür eignet sich beispielsweise der folgende Befehl, der das Kommandozeilentool "yaourt" nutzt:
 $ yaourt -S pidgin-extprefs  
Nach der Installation des PlugIns sollten dieses in Pidgin unter den Menüpunkt "Werkzeuge" → "Plugins" aufgeführt werden. Über die Schaltfläche "Plugin konfigurieren" lassen sich dann dessen Einstellungen anpassen. Um Pidgin minimiert zu starten, muss die Option "Hide buddy list at startup" aktiviert sein. Der folgende Screenshot zeigt den Einstellungsdialog des PlugIns.

Einstellungen des Pidgin-Plugins "Extended Preferences" (Klicken zum Vergrößern)

Anschließend kann ein neuer Autostart-Eintrag für Pidgin angelegt werden. Hierfür muss ein Weiteres mal der entsprechende Einstellungsdialog über den folgenden Befehl gestartet werden:
 $ gnome-session-properties
Dem neuen Eintrag muss als Befehl der folgende Wert übergeben werden. Da auch Pidgin eine bestehende Internetverbindung benötigt, wird das Programm auch dieses mal erst 10 Sekunden nach dem eigentlichen Systemstart ausgeführt.
 bash -c "sleep 10;pidgin"  
Die Tray-Icons, die standardmäßig von Pidgin angezeigt werden, passen optisch nicht zu dem, von mir verwendeten, Numix-Thema. Über diesen Downloadlink kann jedoch das von mir erstelltes Icon-Pack "Numix - Pidgin Tray Icons" heruntergeladen werden, dessen Icons grafisch auf das Numix-Thema abgestimmt sind. Das Icon-Pack enthält verschiedene Symbole, die den aktuellen Status des Benutzers visualisieren, ein Icon das angezeigt wird, wenn die Verbindung zum Server hergestellt wird, ein Icon, das über ungelesene Mails informiert, ein Icon, das über ungelesene Nachrichten informiert und ein Icon, das über unbeantwortete Freundschaftsanfragen informiert. Die unten dargestellte Abbildung zeigt eine Vorschau dieser Symbole.

Eine Vorschau über die, in dem Icon-Pack "Numix - Pidgin Tray Icons" enthalten Symbole (Klicken zum Vergrößern)

Nach dem Herunterladen kann das zip-Archiv über die folgenden Befehle entpackt und die Icons installiert werden. Der übergebene Dateiname des Archivs muss dabei eventuell an die konkrete Version angepasst werden.
 $ unzip numix-pidgin-tray-icons-v.1.0.zip  
 $ cd numix-pidgin-tray-icons  
 $ sudo ./INSTALL.sh  
Die Änderungen werden eventuell erst nach einem Neustart der GNOME-Shell oder von Pidgin sichtbar. Um die Shell neu zu starten drückt man die Tastenkombination Alt + F2. In den erscheinenden Dialog gibt man anschließend den Befehl "r" ein und bestätigt die Eingabe mit der Enter-Taste.

GNOME-Benachrichtigungsleiste deaktivieren


Mich störte außerdem die Benachrichtigungsleiste, die am unteren Bildschirmrand eingeblendet wird, wenn man den Mauszeiger dort hin bewegt, da ich sie des Öfteren aus Versehen aktivierte, die Benachrichtigungen die dort angezeigt wurden, jedoch nie benötigte. Alle Benachrichtigungen, die für mich von Interesse sind, werden durch die bereits angesprochenen Tray-Icons abgedeckt und weitere Statusmeldungen von diesen und anderen Programmen werden von den PopUp-Benachrichtigungen, die am unteren Rand des Bildschirms für kurze Zeit eingeblendet werden, ausreichend kenntlich gemacht.

Um aus diesem Grund die Benachrichtungsleiste zu deaktivieren existiert die GNOME Shell Extension "Remove Bottom Bar", die zwar scheinbar nicht über extensions.gnome.org, doch stattdessen über das AUR, verfügbar ist. Über den folgenden Befehl kann sie etwa über das Kommandozeilentool "yaourt" installiert werden:
 $ yaourt -S gnome-shell-extension-remove-bottom-bar  
Offiziell unterstützt die Extension aktuelle Versionen der GNOME-Shell nicht und daher wird sie nach der Installation auch nicht automatisch aktiviert und ist nicht in der Liste der installierten Extensions, wie sie beispielsweise das Programm "Gnome Tweak Tool" anbietet, sichtbar. Jedoch funktioniert die Extension technisch auch weiterhin problemlos und durch eine kleine Anpassung der Datei metadata.json, die sich im Installationsverzeichnis der Extension befindet und unter anderem festlegt, für welche Versionen der GNOME-Shell sie verwendbar ist, kann sie auch aktiviert werden. Um die Datei, die sich in dem Verzeichnis /usr/share/gnome-shell/extensions/remove_bottom_bar@k2z.com befindet mit dem Editor "nano" zu editieren kann beispielsweise der folgende Konsolenbefehl genutzt werden:
 $ sudo nano /usr/share/gnome-shell/extensions/remove_bottom_bar@k2z.com/metadata.json  
Zu den Werten der Zeile "shell-version", die alle unterstützen Versionen der GNOME-Shell beinhaltet, muss anschließend die Versionsnummer der genutzten Shell hinzugefügt werden. Um diese Versionsnummer herauszufinden kann der folgende Befehl in einem Terminal ausgeführt werden:
 $ gnome-shell --version  
Nach dem Hinzufügen der Shell-Version könnte die geänderte Datei z.B. wie folgt aussehen. Dabei wurde der Wert "3.8.4" zu der ersten Zeile hinzugefügt.
 {  
     "shell-version": ["3.0", "3.1.90", "3.1.91", "3.2", "3.4", "3.6", "3.8"],  
     "uuid": "remove_bottom_bar@k2z.com",  
     "name": "Remove bottom bar",  
     "description": "Removes the Message tray (bottom bar). I recommend to use with gnome-shell-gnome2-notifications.",  
     "url": "http://www.k2z.com"  
 }  
Anschließend sollte die Extension z.B. in dem Gnome Tweak Tool aktivieren aufgelistet sein und kann von dort aus aktiviert werden.

Die Extension verhindert, dass die Benachrichtigungsleiste beim Bewegen des Mauszeigers zur unteren Bildschirmkante angezeigt wird. Jedoch werden vom System weiterhin Benachrichtigungen dort abgelegt und wenn dies der Fall ist, wird am unteren Rand des Aktivitäten-Menüs ein entsprechender Hinweis angezeigt. Um dies zu verhindern, sollten außerdem die Benachrichtigungen der individuellen Programme deaktiviert werden. Man kann dies erreichen, indem man in den entsprechenden Einstellungen, die unter der Kategorie "Benachrichtigungen" der Systemeinstellungen erreichbar sind, den Regler "Benachrichtigungen" für jedes aufgeführte Programm auf den Wert "Aus" stellt. Über diesen Dialog kann man außerdem wählen, ob die Benachrichtigungen im Sperrbildschirm angezeigt werden sollen. Insofern man die Option "Einblend-Banner anzeigen" für die verschiedenen Programme aktiviert lässt, bleiben PopUp-Benachrichtigungen von der Änderung jedoch unangetastet und werden weiterhin angezeigt.

Die Einstellungen zu Benachrichtigungen in GNOME 3 (Klicken zum Vergrößern)

Weiterführende Links:

Keine Kommentare:

Kommentar veröffentlichen