Nowości dla programistów, administratorów systemów i dystrybucji

GNOME 3.10 wprowadza wiele nowych funkcji i ulepszeń dla osób pracujących z technologiami GNOME.

Wayland

W GNOME 3.10 można uruchomić środowisko i programy GNOME używając technologii Wayland. Jest to obsługa eksperymentalna i przeznaczona wyłącznie do testowania. gnome-shell i programy GNOME działające na technologii Wayland mogą być niestabilne i ulegać awarii.

Aby uruchomić gnome-shell na technologii Wayland, należy wykonać poniższe polecenie w terminalu:

gnome-session --session=gnome-wayland

Można także uruchamiać poszczególne programy na technologii Wayland podając zmienną środowiskową GDK_BACKEND. Wystarczy wykonać to polecenie, zastępując nazwę-programu nazwą pliku wykonywalnego danego programu:

GDK_BACKEND=wayland nazwa-programu

Jeśli program nie będzie mógł uruchomić się używając technologii Wayland, to zostanie on uruchomiony za pomocą X11.

Więcej informacji o GNOME na technologii Wayland można znaleźć na stronie wiki GNOME Wayland.

Nowe widżety biblioteki GTK+

GTK+ 3.10 wprowadza zbiór nowych widżetów interfejsu. Dostarczają one dodatkowe możliwości, takie jak dodawanie animowanych przejść, a także większą elastyczność. W niektórych przypadkach stanowią łatwą w użyciu alternatywę dla istniejących widżetów. Nowe widżety powstały zgodnie z najnowszymi projektami programów GNOME 3.

  • GtkStack: kontener wyświetlający jeden element potomny na raz. Przejścia między stronami mogą być animowane jako slajdy lub przenikania.

  • GtkStackSwitcher: zestaw powiązanych przycisków, które mogą być używane do kontrolowania strony wyświetlanej na stosie. Ten widżet został zaprojektowany do użycia razem z widżetem GtkStack.

  • GtkRevealer: kontener animujący przejścia swoich elementów potomnych ze stanu niewidocznego do widocznego.

  • GtkListBox: pionowy kontener. Rzędy mogą być dynamicznie porządkowane i filtrowane, a nawigacja jest możliwa używając kursora lub klawiatury. GtkListBox dostarcza alternatywę dla GtkTreeView. Rzędy mogą zawierać elementy kontrolne i złożone układy elementów.

  • GtkHeaderBar: poziomy kontener, który powinien być umieszczany na górze okna. GtkHeaderBar odgrywa rolę zarówno paska tytułowego, jak i narzędziowego okna. Treść HeaderBar może być umieszczana na początku lub końcu lub wyśrodkowana.

  • GtkSearchBar: kontener zaprojektowany dla elementów kontrolnych wyszukiwania. GtkSearchBar jest zwykle umieszczane poniżej GtkHeaderBar, oraz może być ukrywany i ukrywany na żądanie.

Szablony złożonych widżetów

Szablony złożonych widżetów są nową funkcją GTK+ 3.10. Umożliwiają one określanie złożonych widżetów używając kodu XML, dzięki czemu nie trzeba tworzyć ich ręcznie. Biblioteka GTK+ wykorzystuje już tę funkcję do określania własnych złożonych widżetów, takich jak GtkVolumeButton czy GtkFileChooserDefault. Autorzy programów mogą tak samo tworzyć własne, bezpośrednio za pomocą kodu XML lub programu do tworzenia interfejsów Glade.

Tristan Van Berkom opublikował szczegółowy opis tej funkcji na swoim blogu, w tym samouczek i działający przykład.

Wyrównanie do linii bazowej w bibliotece GTK+

GTK+ 3.10 wprowadza możliwość wyrównania tekstu do linii bazowej. Umożliwia to poprawne pionowe wyrównanie etykiet tekstowych do kontenerów, co dodatkowo zapewnia spójne wyrównanie całego tekstu.

Wyrównanie do linii bazowej jest dostępne dla wielu często używanych widżetów. Programiści chcący użyć tej funkcji muszą ustawić wyrównanie pionowe dla widżetu tekstowego na GTK_ALIGNMENT_BASELINE (jest to ustawiane automatycznie podczas używania funkcji pomocniczych, takich jak new_from_label()).

GLib

GApplication otrzymało liczne nowe funkcje w wydaniu GNOME 3.10:

  • Dodano obsługę interfejsu org.freedesktop.Application (który został określony na spotkaniu freedesktop.org w kwietniu 2013). Dostarcza on standardowy sposób na uruchamianie programów. Umożliwia on także otwieranie plików za pomocą danego programu lub włączenie konkretnego działania. Więcej informacji można znaleźć w specyfikacji freedesktop.org.

  • Pliki .desktop mogą teraz określać, czy program powinien być uruchamiany za pomocą aktywacji D-Bus. Szczegółowe informacje można znaleźć na wiki.

  • Do GDesktopAppInfo dodano obsługę działań w plikach .desktop, używając g_desktop_app_info_list_actions() i g_desktop_app_info_launch_action(). Specyfikacja freedesktop.org także posiada informacje na ten temat.

  • GApplication umożliwia teraz programom sygnalizowanie do powłoki pulpitu ich stanów zajętości, takich jak długo działające operacje lub wczytywanie.

Biblioteka GLib posiada liczne inne ulepszenia w wydaniu 3.10:

  • Testy mogą teraz tworzyć wyjście TAP, co umożliwia łatwiejszą integrację z innymi narzędziami testowania. Aby wykonać testy w tym trybie, należy podać parametr --tap w wierszu poleceń.

  • Dodano obsługę zainstalowanych testów.

  • GPropertyAction jest nowym typem GAction, który reprezentuje właściwość obiektu i umożliwia zmienianie wartości podczas aktywacji. Znacznie ułatwia to integrację właściwości z GMenus.

Geolokalizacja

Nowe możliwości geolokalizacji w GNOME 3.10 umożliwiają programów uzyskiwanie dostępu do informacji o miejscach oraz identyfikowanie bieżącego położenia komputera. W tym celu wprowadzono dwa nowe składniki:

  • geocode-glib: nowa biblioteka do (odwrotnego) geokodowania. Umożliwia ona wyszukiwanie informacji o miejscach według wyszukiwanych terminów lub współrzędnych geograficznych. Biblioteka opiera się o serwis Nominatim projektu OpenStreetMap.

  • GeoClue2: przepisana implementacja GeoClue zaprojektowana z myślą o prostocie i ochronie prywatności. Umożliwia ona identyfikowanie bieżącego położenia.