24. April 2014

GNOME: Shell-Extension "Hide App Icon"

In dem Post "Anwendungs-Icon in Panel ausblenden" in diesem Blog, wurde bereits erläutert, wie die Anzeige des Icons der aktuell fokussierten Anwendung in der GNOME-Shell unterbunden werden kann. Die vorgestellte Methode erforderte jedoch das manuelle Editieren einer CSS-Datei, die das Aussehen der Shell bestimmt. Eine einfachere Möglichkeit, die Anzeige des entsprechenden Icons zu unterbinden, bietet nun die Gnome Shell Extension "Hide App Icon", die ich zu diesem Zweck umgesetzt habe.

Vergleich der Standard-Ansicht des Top Panels der GNOME-Shell mit der veränderten Ansicht durch die Shell-Erweiterung "Hide App Icon" (Klicken zum Vergrößern)

Die Shell-Erweiterung ist auf Sourceforge unter diesem Link verfügbar.Auf dieser Seite kann sowohl der Source-Code eingesehen werden, als auch die jeweils aktuelle Version heruntergeladen werden. Um die Erweiterung zu installieren ist es lediglich notwendig den, in dem zip-Archiv enthaltenen, Ordner in das Verzeichnis ~/.local/share/gnome-shell/extensions/ zu kopieren und die Erweiterung anschließend über eine entsprechende Anwendung, wie beispielsweise über das "Gnome Tweak Tool" zu aktivieren.

Ziel ist es, dass die vorgestellte Gnome Shell Extension zukünftig auch über die Seite extensions.gnome.org bezogen werden kann, auf der alle, von dem GNOME-Projekt akzeptierten, offiziellen Extension angeboten werden. Die entsprechende Überprüfung des Quellcodes durch die Betreiber dieser Seite steht allerdings noch aus.

Anmerkung vom 24.04.2014 - 19:44 Uhr: Die Shell-Erweiterung wurde mittlerweile von den Autoren der Seite extensions.gnome.org zugelassen und steht auf dieser Seite unter diesem Direktlink zur Verfügung.

Weiterführende Links:

22. April 2014

GNOME: Ausführung von beliebigen Skripts bei Systemstart ohne "gnome-session-properties"

Überraschend für viele GNOME-User und wahrscheinlich auch zu Missgunsten eines fast genauso großen Teils von ihnen, wurde in Version 3.12 der Linux-Shell das Programm "gnome-session-properties" entfernt, was sogar zunächst als Bug verstanden wurde (siehe dieser Bug-Report). Wer dieses Tool bisher verwendete, um eigene Skripte oder Befehle beim Systemstart automatisch auszuführen, steht nun vor dem Problem, dass das Tool "gnome-tweak-tool", das diese Funktionalität zukünftig übernehmen soll, es nicht erlaubt, benutzerdefinierte Autostart-Befehle auszuführen. Stattdessen wird lediglich das automatische Starten von entsprechend installierten Anwendungen erlaubt. Bis das "gnome-tweak-tool" diese Funktionalität erfüllt und damit die neu entstandene Lücke füllt, falls dies denn je geschehen wird, kann man sich damit behelfen, die .desktop-Dateien, die zuvor elegant über die, von  der Anwendung "gnome-session-properties" angebotenen, Benutzeroberfläche erstellt werden konnten und jeweils einen Autostart-Eintrag repräsentieren, manuell zu erstellen. Im Folgenden soll beispielhaft gezeigt werden, wie eine solche Datei aufgebaut sein muss.

Anlegen eines Autostart-Eintrags über das Tool "gnome-session-properties" (Klicken zum Vergrößern, Quelle: itechlog.com)

Eine Suche nach den .desktop-Dateien, die das Tool "gnome-session-properties" in vorherigen GNOME-Versionen auf meinem System erstellt hat, ergab, dass sich diese Dateien in dem Verzeichnis ~/.config/autostart/ befinden. Der Aufbau einer solchen Datei, die sich dementsprechend in diesem Verzeichnis befindet, soll an dem folgenden Beispiel erläutert werden, wobei die Datei beispielsweise script.desktop genannt werden könnte:
 [Desktop Entry]  
 Type=Application  
 Exec=/path/to/script.sh
 X-GNOME-Autostart-enabled=true
 Name=Mein Skript
 Comment=Führt ein benutzerdefiniertes Skript aus
Wie in dem oben dargestellten Beispiel zu sehen ist, beginnt die Datei mit der Zeile [Desktop Entry], gefolgt von Parameter-Werte-Paaren, die jeweils in einer neuen Zeile aufgeführt werden. Der Wert "Application" des Parameters "Type" definiert dabei, dass es sich bei dem Ziel der Datei um eine Anwendung handelt (mögliche andere Werte sind "Link" und "Directory"). Der zweite Parameter "Exec" beinhaltet den auszuführenden Befehl, der in diesem Fall auf ein Skript verweist, das durch den Autostart-Eintrag ausgeführt werden soll. Durch die dritte Zeile "X-GNOME-Autostart-enabled=true" wird gekennzeichnet, dass der Autostart-Eintrag beim Start der GNOME-Shell ausgeführt werden soll. Falls auf dem System eine abweichende Desktopumgebung gestartet wird, wird der Eintrag dagegen ignoriert werden. Darüber hinaus kann über die Parameter "Name" und "Comment" eine zusätzliche Beschreibungen des Autostart-Eintrages in die Datei erfolgen. 

Neben den dargestellten Parametern existieren eine Vielzahl von weiteren möglichen Parameter-Werte-Paaren, die an dieser Stelle nicht ausführlich erläutert werden sollen, da durch eine Datei nach dem oben dargestellten Aufbau bereits die meisten aller erforderlichen Autostart-Einträge abgedeckt werden können sollten. Eine ausführliche Dokumentation findet sich dagegen unter diesem Link.

Weiterführende Links:

16. April 2014

GNOME: Anwendungs-Icon in Panel ausblenden

Heute habe ich die GNOME-Desktopumgebung auf meinem System auf die momentan aktuelle Version 3.12 aktualisiert und wie bei jeder dieser Aktualisierungen, nach denen sich die GNOME Shell jeweils in ihrem Standard-Look präsentiert, fielen mir einmal mehr auf, wie viele Anpassungen ich an der Benutzeroberfläche vorgenommen hab, um sie auf meine Vorlieben abzustimmen. Während der Großteil dieser Anpassungen bereits Teil der Artikel-Serie "Der Weg zu "meinem" GNOME" in diesem Blog war, wurde eine Anpassung, die ich jedoch sehr prägnant finde, bisher nicht angesprochen. Dabei handelt es sich um das Ausblenden des Icons der aktuell fokussierten Anwendung im Top-Panel. Die folgenden Screenshots verdeutlichen diese Änderung.

Das Top-Panel der GNOME-Shell mit und ohne Anzeige eines Anwendungs-Icons

Um das Ausblenden des Anwendungs-Icons zu erreichen, ist eine Anpassung der Datei /usr/share/gnome-shell/theme/gnome-shell.css mit Root-Rechten notwendig.  Hierzu kann sie beispielsweise über den folgenden Konsolenbefehl mittels des Editors "nano" geöffnet werden:
 # nano /usr/share/gnome-shell/gnome-shell.css  
Innerhalb dieser Datei gilt es nun die folgende Stelle zu finden (in dem Editor "nano" ist die Suchfunktion über den Shortcut Strg + W zu erreichen):
 .panel-button #appMenuIcon {  
   app-icon-bottom-clip: 1px;  
 }  
Der oben dargestellte Ausschnitt der Datei muss nun um zwei zusätzliche Zeilen erweitert werden, so dass das Ergebnis wie folgt aussieht:
 .panel-button #appMenuIcon {  
   app-icon-bottom-clip: 1px;  
   width: 0px;  
   height: 0px;  
 }  
Außerdem ist noch eine weitere Anpassung an einer anderen Stelle der Datei notwendig, wofür zunächst die im Folgenden dargestellte Stelle aufzufinden ist:
 .app-menu-icon {  
   width: 24px;  
   height: 24px;  
 }  
Die innerhalb dieses CSS-Blocks angegebenen Werte für die Breite und Höhe des Anwendungs-Icons müssen jeweils auf den Wert 0px gesetzt werden, wodurch sich ein geänderter CSS-Code ergibt, der dem folgenden Ausschnitt gleicht:
 .app-menu-icon {  
   width: 0px;  
   height: 0px;  
 }  
Nach dem Speichern der Datei (in "nano" über die Tastenkombination Strg + O) muss die GNOME-Shell neugestartet werden, damit die Änderungen sichtbar werden. Hierzu öffnet man zunächst über die Tastenkombination Alt + 2 einen Dialog, in den man dann den Befehl "r" (ohne Anführungszeichen) eingibt und die Eingabe mit Enter bestätigt.

Anmerkung vom 24. April 2014: In diesem Artikel dieses Blogs wird ab sofort eine Gnome Shell Extension vorgestellt, die das Ausblenden der Anwendungs-Icons, wie es in diesem Artikel beschrieben wurde, automatisiert.