對開發者、系統管理員和散布者有哪些新功能

GNOME 3.10 導入許多以 GNOME 技術運作的新功能與增強。

Wayland

在 GNOME 3.10,可以使用 Wayland 執行 GNOME 作業階段與 GNOME 應用程式的能力。這個支援是實驗性質的,主要是做為測試之用。gnome-shell 或應用程式在 Wayland 上執行時可能會不穩定或當機。

要在 Wayland 上執行 gnome-shell,可在終端機中執行下列指令:

gnome-session --session=gnome-wayland

只要指定 GDK_BACKEND 也可以在 Wayland 執行個別應用程式。執行下列指令,將 application-name 替換為應用程式的可執行檔名稱:

GDK_BACKEND=wayland application-name

如果應用程式在 Wayland 上執行失敗,就會嘗試退回 X11。

GNOME 在 Wayland 的進一步詳細資料可以在 GNOME Wayland 維基頁面找到。

新的 Gtk+ 視窗元件

GTK+ 3.10 導入一系列的新介面元件。這些視窗元件提供額外的功能,像是加入動畫轉場,以及更大的彈性。在某些情況它們提供對現有視窗元件易於使用的替代品。新的視窗元件都是符合最新的 GNOME 應用程式設計建立的。

  • GtkStack:一次顯示一個子項的容器。頁面間的轉場效果可以是捲動或淡出動畫。

  • GtkStackSwitcher:一組有連結的按鈕,可以用來控制哪個頁面在堆疊中顯示。設計與 GtkStack 一起使用。

  • GtkRevealer:能讓子項的轉場從隱形到顯示的容器。

  • GtkListBox:垂直式容器。列可以動態排序與過濾,也能夠使用指標或鍵盤導覽。GtkListBox 提供 GtkTreeView 的替代計劃。列可以包含控制與複雜配置。

  • GtkHeaderBar:放置在視窗頂端的水平容器。GtkHeaderBars 可以做為視窗標題列與工具列。HeaderBar 中的內容可以放置在開頭、結尾或置中。

  • GtkSearchBar:設計用來包含搜尋控制元的容器。 GtkSearchBars 一般位於 GtkHeaderBar 之下,並且可以根據需求隱藏或顯現。

組合視窗元件範本

從 GTK+ 3.10 起,允許建立組合視窗元件範本。新功能允許組合視窗元件使用 XML 定義,以避免需要手動建立它們。GTK+ 已經利用這項優點定義自己的組合視窗元件,像是 GtkVolumeButtonGtkFileChooserDefault。應用程式作者也能使用同樣的功能自己做一個,可以直接使用 XML 或是Glade 介面設計師完成。

Tristan Van Berkom 已經寫了 關於這項新功能的詳細部落格,包含教學指引與你可以嘗試的可運作範例。

GTK+ 的基線對齊

GTK+ 3.10 導入文字的基線對齊。這允許文字標籤能相根據於容器正確的垂直對齊,這樣能確保文字對齊的一致性。

基線對齊可用於一般視窗元件的範圍。想要使用它的開發者需要設定文字視窗元件的垂直對齊為 GTK_ALIGNMENT_BASELINE (當使用協助函數如 new_from_label() 時會自動完成)。

GLib

GApplication 在 GNOME 3.10 已獲得許多新功能:

  • 支援 org.freedesktop.Application 介面 (於 2013年四月的 freedesktop.org 峰會提出) 已加入。這提供啟動應用程式的標準方式。它也允許檔案以應用程式開啟或已命名的動作生效。更多資訊可以在 Freedesktop 規格中找到。

  • 如果應用程式應該透過 D-Bus 生效啟動,現在可以指定.desktop 檔案。關於如何做到的詳細資料可以在 wiki 找到。

  • 支援 .desktop 檔案中的動作也加入 GDesktopAppInfo,使用 g_desktop_app_info_list_actions()g_desktop_app_info_launch_action()。Freedesktop 規格也有 相關資訊

  • GApplication 現在允許應用程式發送忙碌狀態訊號給桌面系統殼,像是長時間執行的操作或載入狀態。

GLib 在 3.10 中有許多其他的增強:

  • 測試現在可以產生 TAP 輸出,允許與其他測試工具集更容易整合。要在這個模式執行你的測試,請在命令列中指定 --tap

  • 現在有支援部分安裝的測試。

  • GPropertyAction 是新的 GAction 類型,表示一個物件的屬性,並允許數值在生效時改變。這讓屬性整合到 GMenus 中變得非常容易。

地理位置

GNOME 3.10 中的新地理位置功能允許應用程式存取地點資訊並識別系統目前的位置。要做到這樣,已經導入兩項新的元件:

  • geocode-glib:(反向)地理編碼的新程式庫。這允許你根據據搜尋語詞或坐標找到地點的資訊。它根據賴 OpenStreetMap 的Nominatim 服務。

  • GeoClue2:重寫的 Geoclue 實作,為了簡化與私隱而設計。這允許你識別目前的位置。