給開發者的新功能

下列的變更對於使用 GNOME 2.24 開發平台的開發者而言很重要。如果您對這些關於開發平台的變更不感興趣,可以直接跳到 第 5 節 ― 行動裝置的新功能

4.1. 為 GLib/GTK+ 3.0 作準備

為了讓開發者開始為 GLib 與 GTK+ 3.0 作準備,往後釋出的程式庫會包含更嚴格確保相容性的旗標。

GLib、GTK+ 和 ATK 3.0 會要求在應用程式中只能包含頂層的檔頭(例如 glib.hgobject.hgio.h)。這個改變的重要性是能讓個別檔頭被移除、重新命名或重新分配而不會影響到應用程式的原始碼相容性。

要讓開發者能立即測試他們的應用程式相容性,新的編譯時期選項也提供了:GLib 的 G_DISABLE_SINGLE_INCLUDES、GTK+ 的 GTK_DISABLE_SINGLE_INCLUDES 和 ATK 的 ATK_DISABLE_SINGLE_INCLUDES。

只要在建構您的應用程式時傳送這些做為編譯時期旗標(例如 -DG_DISABLE_SINGLE_INCLUDES)就能確保您的應用程式正確無誤。

進一步的相容性測試

GLib、GTK+ 和相關的程式庫也會提供其他編譯時期選項讓您可以用來測試與 GTK+ 3.0 的相容性。

您可以停止支援即將在 3.0 版中被廢棄的符號(symbol)與類別,只要在編譯時做下列定義:ATK_DISABLE_DEPRECATED、PANGO_DISABLE_DEPRECATED、G_DISABLE_DEPRECATED、GDK_PIXBUF_DISABLE_DEPRECATED、GDK_DISABLE_DEPRECATED 和 GTK_DISABLE_DEPRECATED,分別對應了 ATK、Pango、GLib、GdkPixbuf、GDK 和 GTK+。

您可以定義 GDK_MULTIHEAD_SAFE 與 GTK_MULTIHEAD_SAFE 來測試您的程式是否只使用了能正確支援多頭(多重監視器)系統的函式。

4.2. GLib 2.18

GNOME 2.24 是第一個基於 GLib 2.18 的 GNOME 釋出版本。

Glib 2.18 的功能增加了 C_() 以提供翻譯者更多上下文的脈絡可參考,在 GIO 的 API 也加入 NC_() 巨集。

新符號(symbol)的完整清單包含 GLibGIO

4.3. GTK+ 2.14

GNOME 2.24 是第一個基於 GTK+ 2.14 的 GNOME 釋出版本。

在這個版本的 GTK+ 中一個重要的改變就是所有繼承自 GtkAdjustment的視窗元件(例如微調元件[spinbutton]和滑動鈕[slider])現在都嚴格要求它們的範圍為 [lower, upper - page size]。如果您想要確認 [lower, upper] 的範圍,請把 page_size 設為 0。

Glade 與 GTK+ 2.14

所有版本的 Glade(包含 3.4.1)現在都會以預設數值 10 的 page_size 來建立 GtkSpinButtonGtkHScaleGtkVScale。每個開發者都該檢查任何先前建立的 Glade 檔案以確認其 page size 值是在合理的範圍內。

新的類別 GtkMountOperation 可以傳送給 g_volume_mountGtkMountOperation 是一個 GMountOperation ,可以在必要時為使用者顯示驗證對話盒。

現在有了一個可攜式的方法來使用預設應用程式開啟檔案和其他 URI,就是函式 gtk_show_uri(),而不必再依靠 libgnome。GDK 現在提供了 GAppLaunchContext 的實作以處理圖形化應用程式(包含啟動時通知功能和防止失去焦點功能),GdkAppLaunchContext

在 GTK+ 2.14 中也有新的基於 GFile API 的 GtkFileChooser,以及 GtkBuilder 加入建立 XML 樹狀圖片段的能力。

已經可以取得的完整新符號(symbol)清單有 GTK+GDK

4.4. 即時訊息程式庫

隨著新的即時訊息客戶端程式(請查閱 第 2.1 節 ― 保持聯繫),GNOME 2.24 包含了 libempathy、libempathy-gtk 和 telepathy-glib 程式庫,可以用來將即時訊息功能整合到任何 GNOME 應用程式裡。

4.5. 桌面工具列

Match 介面現在包含了兩個新的方法 set_snippetget_snippet。如果設定了 snippet 就會顯示在比對的 get_verb 數值下新的一行中。

Action 介面也增加了新的方法 get_tooltip。覆載這個方法可以在使用者的滑鼠指標停留在某個符合項或是動作時顯示工具提示。