Novedades para los desarrolladores

Los siguientes cambios son importantes para los desarrolladores que usen la plataforma de desarrollo GNOME 2.24. Si no está interesado en los cambios para los desarrolladores, puede saltar a la Sección 5: Novedades para móviles.

4.1. Preparándose GLib/GTK+ 3.0

Para poder preparar a los desarrolladores para GLib y GTK+ 3.0, los próximos lanzamientos de ambas bibliotecas incluirán opciones para respetar una compatibilidad estricta.

GLib, GTK+ y ATK 3.0 requerirán que sólo las cabeceras de nivel superior (ej. glib.h, gobject.h, gio.h) se incluyan en las aplicaciones. Este cambio es importante para permitir que se eliminen, renombren y reorganicen cabeceras individuales sin afectar a la compatibilidad del código fuente para las aplicaciones.

Para permitir que los desarrolladores prueben la compatibilidad de sus aplicaciones se han proporcionado nuevas opciones de tiempo de compilación: G_DISABLE_SINGLE_INCLUDES para GLib, GTK_DISABLE_SINGLE_INCLUDES para GTK+ y ATK_DISABLE_SINGLE_INCLUDES para ATK.

Simplemente páselas como opciones de compilación cuando construya su aplicación (ej. -DG_DISABLE_SINGLE_INCLUDES) para asegurarse que su aplicación es correcta.

Más comprobaciones de compatibilidad

GLib, GTK+ y las bibliotecas asociadas también proporcionan otras opciones de compilación que puede usar para comprobar la compatibilidad con GTK+ 3.0.

Puede desactivar el soporte para símbolos y clases obsoletas que se eliminarán en la versión 3.0 definiendo lo siguiente al compilar: ATK_DISABLE_DEPRECATED, PANGO_DISABLE_DEPRECATED, G_DISABLE_DEPRECATED, GDK_PIXBUF_DISABLE_DEPRECATED, GDK_DISABLE_DEPRECATED y GTK_DISABLE_DEPRECATED para ATK, Pango, GLib, GdkPixbuf, GDK y GTK+ respectivamente.

Puede comprobar que su programa sólo usa funciones que soportan correctamente sistemas con múltiples pantallas definiendo GDK_MULTIHEAD_SAFE y GTK_MULTIHEAD_SAFE.

4.2. GLib 2.18

GNOME 2.24 es la primera versión de GNOME que depende de GLib 2.18.

Las características de GLib 2.18 incluyen mejor soporte para proporcionar contexto en las traducciones con los macros C_() y NC_() así como una API adicional en GIO.

Una lista completa de los símbolos nuevos está disponible para GLib y GIO.

4.3. GTK+ 2.14

GNOME 2.24 es la primera versión de GNOME que depende de GTK+ 2.14.

Un cambio importante en esta versión de GTK+ es que los widgets que se heredan de GtkAdjustment (ej. botones giratorios y deslizadores) ahora respectan estrictamente sus rangos como [inferior, superior - tamaño de página] para la documentación. Si quiere asegurarse un rango [inferior, superior], establezca page_size a 0.

Glade y GTK+ 2.14

Todas las versiones de Glade (incluyendo la 3.4.1) crean GtkSpinButton, GtkHScale y GtkVScale con un page_size de 10 de forma predeterminada. Los desarrolladores deben comprobar cualquier archivo de Glade que han creado para asegurarse de que el tamaño de página es un valor válido que tiene sentido.

Se ha proporcionado una nueva clase, GtkMountOperation para pasarla a g_volume_mount. GtkMountOperation es una GMountOperation capaz de mostrar un diálogo de autenticación al usuario, en caso de ser necesario.

Ahora hay disponible un método portable para abrir archivos y otros URI usando la aplicación predeterminada usando la función gtk_show_uri(), en lugar de tener que depender de libgnome. Ahora GDK proporciona una implementación de GAppLaunchContext para gestionar las aplicaciones gráficas (incluyendo notificaciones de inicio y prevención de robo del foco), GdkAppLaunchContext.

También en GTK+ 2.14 existe una API basada en GFile para GtkFileChooser y la capacidad para que GtkBuilder construya fragmentos de un árbol XML.

Una lista completa de los nuevos símbolos para GTK+ y GDK.

4.4. Bibliotecas de mensajería instantánea

Junto con el nuevo cliente de mensajería (vea la Sección 2.1: Manténgase en contacto), GNOME 2.24 incluye las bibliotecas libempathy, libempathy-gtk y telepathy-glib que pueden usarse para integrar características de mensajería instantánea en cualquier aplicación de GNOME.

4.5. Deskbar

Ahora la interfaz Match incluye dos nuevos métodos: set_snippet y get_snippet. Si un «snippet» está establecido, se mostrará en una línea nueva bajo el valor get_verb coincidente.

La interfaz Action ha ganado un método nuevo: get_tooltip. Sobreescribir este método permite que se muestre un consejo cuando el usuario posiciona el ratón sobre una coincidencia o acción.