Posts mit dem Label Themes werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Themes werden angezeigt. Alle Posts anzeigen

16. September 2013

Arch Linux: Der Weg zu "meinem" GNOME - Fazit (Teil 7)

Abschließend zu dieser Serie, in der ich einige Anpassungen vorgestellt habe, die ich an meiner GNOME-Shell unter Arch Linux vorgenommen habe, möchte ich nun in diesem letzten Artikel ein persönliches Fazit zu GNOME 3 ziehen.

Als GNOME in der Version 3.0 erschienen ist, habe ich mir die Desktopumgebung bereits angeschaut, jedoch ziemlich schnell beschlossen, dass sie mir überhaupt nicht gefällt. Im Zuge meines Umstiegs auf Arch Linux, über den ich auch in diesem Blog berichtet habe, habe ich es allerdings erneut gewagt einen Blick auf die aktuelle GNOME-Shell zu werfen, da ich mit der Entwicklung von Canonical's Unity-Oberfläche, die ich zuvor unter Ubuntu genutzt habe, nicht mehr zufrieden war. Und wider Erwarten hat das aktelle GNOME einen deutlich besseren Eindruck bei mir hinterlassen, als ich ihn in Erinnerung hatte. Ich kann nicht genau sagen, was sich seitdem geändert hat, jedoch muss die Desktopumgebung einen deutlich gereifteren Eindruck gemacht haben und somit mir für den täglichen Gebrauch als besser geeignet erschienen sein. Zwar gibt es eine ganze Reihe von Designentscheidungen, die ich für falsch halte, jedoch bietet die Anpassbarkeit über Gnome Shell Extensions eine Möglichkeit diese auszugleichen.

Das Erscheinungsbild


Mein erster Gedanke, wenn ich die Standard-GNOME-Shell sehe, ist, dass mir das Standard-Thema überhaupt nicht gefällt, weil die Titelleisten von Fenstern meiner Meinung nach ziemlich hässlich aussehen und viel zu groß sind. Überhaupt scheinen die Entwickler an unnötigen Stellen an Platz zu sparen um ihn stattdessen an anderen Stellen regelrecht zu verschwenden. So kann ich die Entscheidung nicht nachvollziehen, warum standardmäßig nur noch die Schließen-Schaltfläche in der Titelleiste von Fenstern angezeigt wird, wo doch dort genug Raum für alle drei herkömmlichen Schaltflächen wäre, während die Aktivitäten-Schaltfläche im Top-Panel dauerhaft angezeigt wird, obwohl der Benutzer bereits nach einer sehr kurzen Eingewöhnungsphase weiß, wie man das Aktivitäten-Menü erreicht und welche Funktion es besitzt. Glücklicherweise lässt sich das Fenster-Thema sehr leicht anpassen und auch die Fenster-Schaltflächen lassen sich auf den gewohnten Zustand zurück versetzen. Und für andere Anpassungen, wie etwa dem Ausblenden der Aktivitäten-Schaltfläche, gibt es, wie bereits erwähnt, zahlreiche Shell-Erweiterungen.

Das Benachrichtigungssystem


Über das neue Benachrichtigungssytem kann man sich sicherlich streiten. Die Entwicklung auch bei anderen Desktopumgebungen, wie z.B. Unity, geht weg von einem System-Tray, hin zu einem alternativen System, wie der Benachrichtungsleiste von GNOME. Ich bin ebenfalls der Meinung, dass ein System-Tray, in dem jedes Programm seine Benachrichtigungen und Icons ablegen darf, nicht mehr zeitgemäß ist, weil es schnell überfüllt ist. Jedoch möchte ich mir die Möglichkeit offen halten, wenige ausgewählte Programm dort stets zugänglich anzuzeigen. Die Tray-Icons übriger Anwendungen kann man in deren Einstellungen üblicherweise deaktivieren. Um dieses Verhalten zu erreichen gibt es ebenfalls einen relativ einfachen Weg, der in dieser Serie von Artikeln vorgestellt wurde.

Das Aktivitäten-Menü


Ansonsten machte die GNOME-Shell bei mir einen sehr stabilen Eindruck und läuft stets flüssig. Auch die  von vielen geäußerte Kritik über das Fehlen einer Übersicht der aktuell geöffneten Programme, kann ich nicht teilen, da dies durch das Aktivitäten-Menü meiner Meinung nach ausreichend abbildet wird. Abgesehen davon lässt sich diese fehlende Funktion ebenfalls über eine Shell-Erweiterung in Form einer Task-Leiste nachrüsten. Ich würde mir lediglich wünschen, dass zwischen den Programmen, die in der Aktivitäten-Übersicht angezeigt werden, mit der Tastatur umgeschalten werden kann. Überhaupt gefällt mir das Konzept des Aktivitäten-Menüs sehr gut und beispielsweise besser als das des Dashboards in Unity, welches ich nur sehr ungern benutzt habe. Es bietet eine Übersicht über alle geöffneten Programme, die aktuellen Workspaces und erlaubt es, die meist genutzten Programme zu starten, womit es für mich alle Funktionen abdeckt, die ich von einer solchen Funktion erwarte. Insbesondere die Suche funktioniert sehr zuverlässig und schnell und im Vergleich mit Unity muss lobenswert erwähnt werden, dass dort glücklicherweise auf die Einbeziehung von zweifelhaften Online-Suchergebnissen verzichtet wird. Als weitere Verbesserung des Aktivitäten-Menüs könnte darüber nachgedacht werden, ob das Dock, über das die favorisierten Programme gestartet werden können, nicht auch durch eine Bewegung der Maus an den linken Bildschirmrand angezeigt werden können soll. Dies ist ebenfalls über eine Erweiterung namens "Dash to Dock" möglich, die es darüber hinaus auch erlaubt, die aktuell geöffneten Programm ebenfalls anzuzeigen. Damit würde das Dock der Sidebar von Unity ähneln und den Kritikern, die das Fehlen einer Task-Leiste bemängeln, könnte der Wind aus den Segeln genommen werden.

Globale Titelleisten


Was mir ebenfalls sehr bald negativ auffiel war, dass die Titelleisten der meisten Programm unnötig Platz wegnehmen, wenn sie maximiert sind. Meiner Meinung bietet es sich bei einer Desktopumgebung, die über ein Top-Panel verfügt, an, dass die Fenster-Schaltflächen und der Fenstertitel von maximierten Programmen in eben diesem Panel angezeigt wird, was, insbesonders bei den heute üblichen breitformatigen Monitoren, wertvollen vertikalen Platz einsparen würde. Ich halte die Wahrscheinlichkeit, dass ein solches Verhalten Einzug in kommende Versionen von GNOME finden wird, jedoch für ziemlich gering, da der Top-Leiste von Seiten der Entwickler, durch das Anzeigen der Aktivitäten-Schaltfläche und der Uhrzeit in der Mitte des Panels, eine andere Funktion eingeräumt wurde. In einem Artikel dieser Serie habe ich eine Möglichkeit vorgestellt, wie eine solche Nutzung des Top-Panels als globale Titelleiste, erreicht werden kann. Dieses Vorgehen besitzt jedoch, wie ich zugeben muss, deutliche Nachteile bei der Verwendung mit mehreren Monitoren, da die Titelleisten von Fenstern, die sich nicht auf dem primären Monitor befinden, ebenfalls ausgeblendet werden und diese deshalb nur über die Schaltflächen im Panel, das sich auf einem anderen Monitor befindet, geschlossen werden können. Falls ich eine Möglichkeit finden sollte, wie dieses Problem behoben werden kann, werde ich einen dementsprechenden Artikel auf diesem Blog veröffentlichen.

Fazit


Als letztendliches Fazit über GNOME 3 kann gesagt werden, dass ich wohl bei dieser Desktopumgebung bleiben werde. Man bekommt eine moderne, performante Shell angeboten, die über eine Vielzahl von verfügbaren Shell-Erweiterungen an die eigenen Wünsche angepasst werden kann. Diese Möglichkeit ist für mich der Punkt, weshalb sich die GNOME-Shell, trotz weitreichender Kritik, relativ großer Beliebtheit erfreut. Der Ehrlichkeit wegen muss ich jedoch zugeben, dass ich GNOME nicht nutzen würde, wenn diese Möglichkeit nicht bestehen würde.

Als Abschluss dieser Artikelserie über die Veränderungen, die ich an meiner GNOME-Shell vorgenommen habe, sind im Folgenden noch einige Screenshots als Impressionen zu sehen.

Der Desktop meiner GNOME-Shell (Klicken zum Vergrößern)

Das Dock meiner GNOME-Shell (Klicken zum Vergrößern)

Das Aktivitäten-Menü meiner GNOME-Shell (Klicken zum Vergrößern)

Darstellung der Titelleiste eines maximierten Fensters im Top-Panel (Klicken zum Vergrößern)

12. August 2013

Arch Linux: Der Weg zu "meinem" GNOME - Titelleiste von maximierten Fenstern verbergen (Teil 2)

In diesem zweiten Teil der Serie, die sich darum dreht, welche Veränderungen ich an der GNOME-Shell meines Arch Linux-Systems vorgenommen habe, soll gezeigt werden, wie es möglich ist die Titelleiste von maximierten Fenstern auszublenden. Dieses Verhalten ist z.B. aus der Desktopumgebung "Unity" unter Ubuntu bekannt. Dabei werden die Titelleisten von Fenstern ausgeblendet um vertikalen Platz auf dem Bildschirm zu sparen, sobald sie maximiert werden. Die Schaltflächen zum Minimieren, Maximieren und Schließen eines Fensters, die üblicherweise in dessen Titelleiste angezeigt werden, werden dann stattdessen in das Panel der Desktopumgebung, das sich am oberen Bildschirmrand befindet, verschoben. Für ein einheitliches Erscheinungsbild ist es außerdem sinnvoll, die Fenster-Schaltflächen, die sich unter GNOME 3 standardmäßig rechts befinden, nach links zu verschieben, da sie im Panel ebenfalls nur links dargestellt werden können, da sich auf der rechten Seite der System-Tray befindet. Außerdem bietet es sich an, die Aktivitäten-Schaltfläche, die unter GNOME 3 standardmäßig links im Panel angezeigt wird, auszublenden, so dass die Schaltflächen direkt am linken Bildschirmrand angezeigt werden können. Die unten stehende Abbildung verdeutlicht dieses Verhalten.

Darstellung der Fenster-Schaltflächen im GNOME-Panel am Beispiel von Chromium (Klicken zum Vergrößern)

1 Fenster-Schaltflächen nach links verschieben


Unter GNOME 3 werden die Fenster-Schaltflächen standardmäßig rechts in der Titelleiste angezeigt. Außerdem sind der Minimieren- und Maximieren-Button von Haus aus ausgeblendet. Durch Ausführen des folgenden Befehls können alle drei Schaltflächen zum Minimieren, Maximieren und Schließen eines Fensters auf der linken Seite dessen Titelleiste angezeigt werden:
 $ dconf write /org/gnome/shell/overrides/button-layout "'close,minimize,maximize:'"
Die Reihenfolge, in der die Buttons dem Befehl übergeben werden, bestimmt hierbei auch die Reihenfolge, in der sie von links nach rechts dargestellt werden.

Die Fenster-Schaltflächen nach der GNOME Standard-Einstellung
Die Fenster-Schaltflächen nach der hier vorgestellten Modifikation

2 Titelleiste von maximierten Fenstern ausblenden


Anschließend muss bewerkstelligt werden, dass die Titelleiste ausgeblendet wird, wenn das zugehörige Fenster maximiert wird. Dies ist möglich, indem die Konfigurationsdatei des genutzten Fenster-Themes editiert wird. Bei der betroffenen Datei handelt es sich um die metacity-theme-3.xml, die sich in dem Verzeichnis metacity-1 innerhalb des Ordners des jeweiligen Themes befindet. Da der Name des hier verwendeten Themes "Numix" lautet, lautet der komplette Pfad zu der betroffenen Datei dementsprechend /usr/share/themes/Numix/metacity-1/metacity-theme-3.xml. Diese XML-Datei muss nun mit Root-Rechten in einem Editor geöffnet werden. Hierfür eignet sich z.B. der folgende Befehl:
 $ sudo nano /usr/share/themes/Numix/metacity-1/metacity-theme-3.xml  
Dann muss in der Datei die Zeile, die mit "<frame_geometry name="max" [...]" beginnt ausfindig gemacht werden. In das betroffene frame_geometry-Tag muss dann das Attribute has_title="false" und das Kind-Element <distance name="title_vertical_pad" value="0" /> eingefügt werden. Ersteres dient zum eigentlichen Ausblenden der Titelleiste, zweiteres muss gesetzt werden, um zu verhindern, dass ein vertikaler Abstand zwischen dem Fensterinhalt und dem GNOME-Panel entsteht. Außerdem sollte sichergestellt sein, dass alle übrigen Kind-Element den Wert 0 besitzen. Der folgende Ausschnitt aus einer solchen XML-Datei zeigt, wie der betroffene Abschnitt nach dem Editieren aussehen könnte. Die relevanten Stellen sind dabei fett hervorgehoben.
 <frame_geometry name="max" has_title="false" title_scale="medium" parent="normal" rounded_top_left="false" rounded_top_right="false">  
     <distance name="left_width" value="0" />  
     <distance name="right_width" value="0" />  
     <distance name="title_vertical_pad" value="0" />  
     <distance name="bottom_height" value="0" />  
 </frame_geometry>
Um bei der Verwendung des Numix-Themes in Verbindung mit dem Shell-Theme "Elegance Colors" einen hellen, störenden Streifen zwischen GNOME-Panel und Fenster zu verhindern, sollte außerdem der Wert der Option "Border width" in der Kategorie "Panel" der Elegance Colors-Konfiguration auf 0 gesetzt werden. Der unten abgebildete Screenshot zeigt eine dementsprechende Konfiguration.

Konfiguration des GNOME-Panels über das Shell-Theme "Elegance Colors" (Klicken zum Vergrößern)

3 Aktivitäten-Schaltfläche ausblenden


Standardmäßig wird am linken Rand des GNOME-Panels eine Schaltfläche mit entsprechender Beschriftung dargestellt, die es erlaubt das Aktivitäten-Menü zu öffnen. Da jedoch die Schaltflächen eines maximierten Fensters an dieser Stelle angezeigt werden soll, empfiehlt es sich aus optischen Gründen, diese Schaltfläche auszublenden. Meiner Meinung nach stellt dies keine Einschränkung der Usability dar, da das Aktivitäten-Menü trotz Ausblenden der Schaltfläche weiterhin über die Super-Taste oder über die Bewegung der Maus in die linke, obere Ecke geöffnet werden kann.

Um die Aktivitäten-Schaltfläche auszublenden kann die GNOME-Extension "Activities Configurator" genutzt werden, die unter dieser Adresse installiert werden kann, insofern das Plugin "Gnome Shell Integration" im Browser aktiviert ist. Um die Schaltfläche auszublenden muss die Option "Aktivitäten-Schaltfläche entfernen" in den Einstellungen der Extension aktiviert werden. Die Einstellungen einer Extension lassen sich z.B. über die Kategorie "Shell-Erweiterungen" des Gnome Tweak Tools öffnen. Eine dementsprechende Konfiguration der Extension ist auf dem unten stehenden Screenshot zu sehen.

Die Konfiguration der GNOME-Extension "Activities Configurator" zum Ausblenden der Aktivitäten-Schaltfläche (Klicken zum Vergrößern)

4 Schaltflächen im GNOME-Panel anzeigen


Zuletzt müssen die Schaltflächen des maximierten Fensters im GNOME-Panel statt in der versteckten Titelleiste angezeigt werden. Auch hierfür existiert eine GNOME-Extension namens "Window Buttons", die unter diesem Link installiert werden kann. Der unten stehende Screenshot zeigt die Einstellungen der Extension, die getroffen werden müssen, um die Fenster-Schaltflächen in der korrekten Reihenfolge am linken Rand des GNOME-Panels anzuzeigen, wenn das aktuell aktive Fenster maximiert ist. 

Einstellungen der GNOME-Extension "Window Buttons" (Klicken zum Vergrößern)

Um als zu verwendendes Theme "Numix" auswählen zu können und dementsprechend das Aussehen der Schaltflächen identisch zu denen des Fenster-Themes zu gestalten, muss dieses Theme zuerst manuell angelegt werden. Hierfür muss der Ordner "Numix" unter dem Verzeichnis ~/.local/share/gnome-shell/extensions/window_buttons@biox.github.com/themes angelegt werden. In diesem Verzeichnis müssen dann Grafiken für die einzelnen Buttons in ihren verschiedenen Zuständen (normal, fokusiert, angeklickt), sowie eine XML-Datei zur Definition des Themes enthalten sein. 

Die notwendigen Grafiken können aus dem Numix-Theme kopiert werden. Sie befinden sich im Verzeichnis /usr/share/themes/Numix/metacity-1. Es handelt sich dabei um alle, in dem Verzeichnis enthaltenen png-Dateien. 

Die XML-Datei zur Definition des Themes muss style.css heißen und enthält die Zuweisung der einzelnen Grafiken zu den verschiedenen Zuständen der einzelnen Schaltflächen. Sie kann von einem der bereits verfügbaren Themes der GNOME-Extension kopiert werden. Hierfür eignet sich beispielsweise die CSS-Datei des Themes "Ambiance", da dies gleichnamige Grafiken enthält, weshalb die Datei nicht weiter angepasst werden muss. Lediglich der Wert der Eigenschaft "spacing" der Klasse "button-box" sollte auf 4px gesetzt werden und die Werte der Eigenschaften "width" und "height der Klasse "window-button" sollten auf jeweils 24px geändert werden, um ein identisches Aussehen wie beim Fenster-Theme zu erreichen. Diese Breiten- und Höhenangabe entspricht dabei den Abmessungen der Grafiken in Pixeln.

Die Dateien eines eigenen Themes für die GNOME-Extension "Window Buttons" (Klicken zum Vergrößern)

Weiterführende Links:

20. März 2013

Ubuntu: Themes installieren

Dieser Post soll in den folgenden Schritten beispielhaft zeigen, wie es möglich ist unter Ubuntu, bzw. dessen Unity-Oberfläche, Themes zu installieren um das Erscheinungsbild des Betriebsystems anzupassen. Als Beispiel soll die Installation des GTK3-Themes "Numix" dienen, das unter diesem Link frei verfügbar ist.
  • Zunächst muss das Theme heruntergeladen und das entsprechende Archiv anschließen entpackt werden. Dies ist über folgenden Konsolenbefehl möglich:
     unzip numix___gtk3_theme_by_satya164-d5ygul6.zip   
  • Anschließend müssen die entpackten Dateien in das Verzeichnis /usr/share/themes kopiert werden, was über folgenden Befehl bewerkstelligt werden kann:
     sudo mv Numix /usr/share/themes/  
  • Für GTK2-Anwendungen wird außerdem, falls nicht bereits vorhanden, die "Murrine"-Engine benötigt. Diese lässt sich einfach über folgenden Befehl installieren:
     sudo apt-get install gtk2-engines-murrine  
  • Um das, auf diese Weise installierte, Theme anzuwenden bedarf eines Tools, wie z.B. "GNOME Tweak Tool", "Unsettings" oder "Unity Tweak Tool". Im Folgenden soll die Anwendung des Themes mit Hilfe des letzteren Tools erklärt werden. Dieses muss zunächst über folgende Konsolenbefehle installiert werden:
     sudo add-apt-repository ppa:freyja-dev/unity-tweak-tool-daily  
     sudo apt-get update && sudo apt-get install unity-tweak-tool  
  • Anschließend kann dieses Tool dazu verwendet werden, das Theme anzuwenden. Dazu muss unter dem Menü-Punkt "Theme" das entsprechende Theme ausgewählt werden.
    Der Menüpunkt "Theme" in Unity Tweak Tool (Klicken zum Vergrößern)

Als Resultat einer solchen Theme-Änderung könnte der Ubuntu-Desktop wie in folgendem beispielhaften Screenshot des Numix-Themes, erscheinen:
Der Ubuntu-Desktop unter Verwendung des Themes "Numix" (Klicken zum Vergrößern)
Anmerkung: Zu einem gut aussehenden Theme gehören stets auch passende Icons. Die Installation von Icon-Packs wird in diesem Post behandelt. Auch wird dort ein Icon-Pack beschrieben, das zu dem, in diesem Post beispielhaft verwendeten, Theme "Numix" passt.