Neues für Entwickler
Die folgenden Änderungen sind wichtig für Entwickler die die Entwicklungsplattform von GNOME 2.24 nutzen möchten. Wenn Sie dies nicht interessiert, können Sie direkt bei Abschnitt 5 ― Neues für Unterwegs weiterlesen.
- 4.1. Vorbereitungen auf GLib/GTK+ 3.0
- 4.2. GLib 2.18
- 4.3. GTK+ 2.14
- 4.4. Bibliotheken für Sofortnachrichten
- 4.5. Deskbar
4.1. Vorbereitungen auf GLib/GTK+ 3.0
Um die Entwickler auf GLib und GTK+ 3.0 vorzubereiten, werden zukünftige Versionen der Bibliotheken Hinweise enthalten, um eine striktere Kompatibilität zu erzwingen.
GLib, GTK+ und ATK 3.0 werden voraussetzen, dass nur höchste Header-Dateien (z.B. glib.h, gobject.h, gio.h) in eine Anwendung eingebunden werden. Diese Änderungen ist wichtig, um es zu ermöglichen individuelle Header-Dateien zu löschen, umzubenennen und neu zuordnen, ohne dass der Quelltext einer Anwendung betroffen ist.
Um es Entwicklern zu ermöglichen, ihre Anwendungen ab sofort auf Kompatibilität zu prüfen, werden neue Compiler-Optionen bereitgestellt: G_DISABLE_SINGLE_INCLUDES für GLib, GTK_DISABLE_SINGLE_INCLUDES für GTK+ und ATK_DISABLE_SINGLE_INCLUDES für ATK.
Übergeben Sie einfach diese Compile-Time-Flags wenn Sie Ihre Anwendung bauen (z.B. -DG_DISABLE_SINGLE_INCLUDES), um sicherzustellen, dass Ihre Anwendung richtig ist.
GLib, GTK+ und dazugehörige Bibliotheken stellen zusätzliche Optionen für den Compiler bereit, mit denen Sie die Kompatibilität mit GTK+ 3.0 testen können.
Sie können die Unterstützung für veraltete Symbole und Klassen, welche in Version 3.0 entfernt werden, abschalten, indem Sie beim Kompilieren folgendes mit übergeben: ATK_DISABLE_DEPRECATED, PANGO_DISABLE_DEPRECATED, G_DISABLE_DEPRECATED, GDK_PIXBUF_DISABLE_DEPRECATED, GDK_DISABLE_DEPRECATED und GTK_DISABLE_DEPRECATED für ATK, Pango, GLib, GdkPixbuf, GDK und GTK+.
Sie können Ihre Programme darauf testen, ob sie Multihead Systeme (d.h. mehrere Bildschirme) unterstützen, indem Sie GDK_MULTIHEAD_SAFE·und·GTK_MULTIHEAD_SAFE übergeben.
4.2. GLib 2.18
GNOME 2.24 ist die erste Version von GNOME, welche GLib 2.18 voraussetzt.
GLib 2.18 stellt bessere Unterstützung für kontextsensitive Zeichenketten in Übersetzungen mittels C_()- und NC_()-Makros genauso wie eine zusätzliche API in GIO bereit.
Eine vollständige Liste aller neuen Symbole stehen für GLib und GIO bereit.
4.3. GTK+ 2.14
GNOME·2.24·ist·die·erste·Version·von·GNOME,·welche·GTK+·2.14·voraussetzt.
Eine wichtige Änderung in dieser GTK+-Version ist, dass alle Widgets die von GtkAdjustment abgeleitet sind (z.B. GtkSpinButton und GtkScale) nun ihren Wertebereich strikt einhalten [Minimum, Maximum, Seitengröße], so wie es in der Dokumentation beschrieben ist. Wenn Sie einen Bereich von [Minimum, Maximum] sicherstellen möchten, dann setzen Sie page_size auf 0.
Alle Versionen von Glade (einschließlich 3.4.1) erzeugen derzeit standardmäßigGtkSpinButton, GtkHScale und GtkVScale mit einer page_size von 10. Alle Entwickler sollten alle erstellten Glade-Dateien überprüfen, ob die Seitengröße (page_size) einen sinnvollen Wert enthält.
Die neue Klasse GtkMountOperation wird bereitgestellt, um an g_volume_mount übergeben zu werden. GtkMountOperation ist eine GMountOperation welche falls notwendig dem Benutzer einen Authentifizierungsdialog anzeigt.
Eine handliche Methode zum Öffnen von Dateien und anderen Adressen in den Standardanwendungen steht nun über die Funktion gtk_show_uri() zur Verfügung - die Abhängigkeit von libgnome entfällt. GDK stellt nun eine Implementierung von GAppLaunchContext bereit, welche in grafischen Anwendungen verwendet werden kann (inklusive Startbildschirm und Verhinderung des Fokusverlusts), GdkAppLaunchContext.
Ebenfalls neun in GTK+ 2.14 ist eine auf GFile basierte API für GtkFileChooser und die Möglichkeit für GtkBuilder XML-Teilbäume zu erstellen.
Eine vollstädnige Liste aller neuen Symbole steht für GTK+ und GDK bereit.
4.4. Bibliotheken für Sofortnachrichten
Gemeinsam mit der neuen Anwendung für Sofortnachrichten (siehe Abschnitt 2.1 ― Meld' dich mal), beinhaltet GNOME 2.24 die Bibliotheken libempathy, libempathy-gtk und telepathy-glib welche zur Integration von Nachrichtenfunktionen in jede GNOME-Anwendung genutzt werden können.
4.5. Deskbar
Das Interface Match beinhaltet nun zwei neue Methoden: set_snippet und get_snippet. Wenn ein Snippet gesetzt wird, wird dieses in einer neuen Zeile direkt unter dem Trefferwert von get_verb angezeigt.
Das Interface Action wurde um die neue Methode get_tooltip erweitert. Wird diese Methode überschrieben, wird ein Kurztipp angezeigt, wenn der Benutzer mit der Maus über einem Treffer oder einer Aktion verweilt.