Neues für Entwickler, Systemverwalter und Distributoren

GNOME 3.10 enthält neue Funktionen und Erweiterungen für jene, die mit GNOME-Technologien arbeiten.

Wayland

Mit GNOME 3.10 ist es möglich, eine GNOME Sitzung als auch GNOME Anwendungen unter Wayland zu nutzen. Die Unterstützung ist experimentell und nur für Testzwecke gedacht. gnome-shell oder Anwendungen unter Wayland können instabil sein und abstürzen.

Führen Sie den folgenden Befehl in einem Terminal aus, um gnome-shell unter Wayland auszuführen:

gnome-session --session=gnome-wayland

Es ist auch möglich, einzelne Anwendungen durch das Angeben des GDK_BACKEND unter Wayland auszuführen. Führen Sie das folgende Kommando aus, und ersetzen Sie application-name mit dem Namen der Anwendung die Sie ausführen möchten:

GDK_BACKEND=wayland application-name

Wenn eine Anwendung nicht auf Wayland läuft, so wird sie versuchen, auf X11 auszuweichen.

Weitere Informationen zu GNOME unter Wayland finden Sie auf der GNOME Wayland Wiki-Seite.

Neue GTK+-Kontrollelemente

GTK+ 3.10 führt eine Sammlung von neuen Elementen für die Benutzeroberfläche ein. Diese bieten zusätzliche Fähigkeiten, wie animierte Übergänge, als auch mehr Flexibilität. In einigen Fällen stellen diese einfache Alternativen zu bereits existierenden Kontrollelementen bereit. Die neuen Kontrollelemente wurden im Einklang mit den neusten Dokumenten zur Anwendungsgestaltung in GNOME 3 entwickelt.

  • GtkStack: Ein Container der ein Kind-Element anzeigt. Übergänge zwischen Seiten können als Folien- oder Überblenden-Effekte animiert werden.

  • GtkStackSwitcher: Eine Sammlung von verknüpften Knöpfen, die dazu genutzt werden können zu kontrollieren, welche Seite in einem Stapel angezeigt werden soll. Entworfen, um gemeinsam mit GtkStack genutzt zu werden.

  • GtkRevealer: Ein Container, der den Übergang von dessen Unterelement von unsichtbar zu sichtbar animiert.

  • GtkListBox: Ein vertikaler Container. Zeilen können dynamisch sortiert und gefiltert werden, die Navigation ist über einen Zeiger oder die Tastatur möglich. GtkListBox bietet eine Alternative zu der GtkTreeView. Zeilen können Kontrollelemente enthalten und komplexe Positionen einnehmen.

  • GtkHeaderBar: Ein horizontaler Container, der an der oberen Seite eines Fensters platziert werden soll. GtkHeaderBars nehmen die Rolle als Fenster-Titelleiste und Werkzeugleiste ein. Inhalte, die sich innerhalb einer HeaderBar befinden, können sich am Start oder Ende befinden, oder zentriert werden.

  • GtkSearchBar: Ein Container, der dazu gedacht ist Suchkontrollelemente zu enthalten. GtkSearchBars befinden sind allgemein unter einer GtkHeaderBar, und können nach Notwendigkeit versteckt und wieder angezeigt werden.

Composite-Kontrollelement-Vorlagen

Composite-Kontrollelement-Vorlagen sind eine neue Funktion in GTK+ 3.10. Diese neue Funktion erlaubt es Composite-Kontrollelemente direkt über XML zu definieren, was die Notwendigkeit nimmt, diese manuell anzulegen. GTK+ nutzt bereits die Vorteile dieser Funktion, um seine eigenen Composite-Kontrollelemente zu definieren, wie GtkVolumeButton und GtkFileChooserDefault. Anwendungsentwickler können die selben Möglichkeiten nutzen, ihre eigenen Kontrollelemente umzusetzen, was direkt über XML oder den Glade Oberflächen-Designer erfolgen kann.

Tristan Van Berkom hat einen ausführlichen Blog-Beitrag über diese neue Funktion geschrieben, welcher ein Tutorium und ein funktionierendes Beispiel zum Ausprobieren enthält.

Grundlinien-Anordnung in GTK+

GTK+ 3.10 führt Grundlinien-Anordnung für Text ein. Das erlaubt es Text-Beschriftungen, vertikal richtig an Containern ausgerichtet zu sein, was den Vorteil bietet sicherzustellen, dass die Text-Anordnung gleichmäßig erfolgt.

Grundlinien-Anordnung ist für eine Reihe von bekannten Kontrollelementen verfügbar. Entwickler, die diese Funktion nutzen möchten, müssen die vertikale Anordnung für das Text-Kontrollelement auf GTK_ALIGNMENT_BASELINE ändern (das passiert automatisch bei der Nutzung von Hilfsfunktionen wie new_from_label()).

GLib

GApplication hat einige neue Funktionen für GNOME 3.10 erhalten:

  • Unterstützung für die org.freedesktop.Application Schnittstelle (welche während der freedesktop.org Versammlung im April 2013 spezifiziert worden sind) wurde hinzugefügt. Das bietet einen Standard-Weg eine Anwendung zu starten. Das erlaubt auch eine Datei mit einer Anwendung oder einer benannten Aktion zu öffnen. Mehr Informationen können bei der Freedesktop-Spezifikation gefunden werden.

  • .desktop Dateien können jetzt angeben ob eine Anwendung über eine D-Bus Aktivierung gestartet werden soll. Details, wie das bewerkstelligt werden kann, können auf diesem Wiki gefunden werden.

  • Unterstützung für Aktionen in .desktop Dateien wurde zu GDesktopAppInfo hinzugefügt, mittels g_desktop_app_info_list_actions() und g_desktop_app_info_launch_action(). Die Freedesktop Spezifikation bietet dazu Details.

  • GApplication erlaubt es jetzt Anwendungen, ihren beschäftigten Status einer Arbeitsumgebung zu signalisieren, beispielsweise für lang andauernde Vorgänge oder Ladezustände.

GLib hat eine Reihe von anderen Erweiterungen in 3.10:

  • Testdurchläufe können jetzt TAP-Ausgabe generieren, welche einfachere Integration mit anderen Testumgebungen bietet. Um Ihre Testdurchläufe in diesem Modus auszuführen, geben Sie --tap auf der Kommandozeile an.

  • Es existiert jetzt Unterstützung für installierte Testdurchläufe.

  • GPropertyAction ist ein neuer Typ von GAction, der eine Eigenschaft eines Objektes repräsentiert, und erlaubt den Wert zu verändern wenn diese aktiv ist. Das vereinfacht die Integration von Eigenschaften in GMenus.

Geoposition

Die neuen Funktionen der Ortserkennung in GNOME 3.10 erlauben Anwendungen, auf Informationen zu Orten zuzugreifen und die aktuelle Position des Systems zu ermitteln. Um das zu erreichen wurden zwei neue Komponenten eingeführt:

  • geocode-glib: Eine neue Bibliothek für (umgekehrte) Ortserkennung. Diese ermöglicht es Ihnen mittels Suchbegriffen oder Koordinaten Informationen zu Orten zu finden. Sie basiert auf dem Nominatim-Dienst von OpenStreetMap.

  • GeoClue2: Eine neu geschriebene GeoClue-Implementierung, die für Einfachheit und den Schutz der Privatsphäre entwickelt worden ist. Diese hilft Ihnen den aktuellen Standort zu erkennen.