Novidades para desenvolvedores
As seguintes mudanças são importantes para desenvolvedores que usam a plataforma de desenvolvimento GNOME 2.24. Se você não estiver interessado em mudanças para desenvolvedores, pode pular para a Seção 5 ― Novidades em mobilidade.
- 4.1 Preparativos para o GLib/GTK+ 3.0
- 4.2 GLib 2.18
- 4.3 GTK+ 2.14
- 4.4 Bibliotecas de mensagens instantâneas
- 4.5 Deskbar
4.1 Preparativos para o GLib/GTK+ 3.0
Para começar a preparar os desenvolvedores para o GLib e o GTK+ 3.0, as próximas versões dessas bibliotecas incluirão sinalizadores ("flags") para impor uma compatibilidade mais rígida.
O GLib, o GTK+ e o ATK 3.0 necessitarão que apenas cabeçalhos de primeiro nível (por exemplo, glib.h, gobject.h, gio.h) sejam incluídos nos aplicativos. Essa alteração é importante para permitir que cabeçalhos individuais sejam removidos, renomeados ou rearranjados sem afetar a compatibilidade do código fonte com os aplicativos.
Para permitir que os desenvolvedores testem agora a compatibilidade de seus aplicativos, foram fornecidas novas opções de compilação: G_DISABLE_SINGLE_INCLUDES para o GLib, GTK_DISABLE_SINGLE_INCLUDES para o GTK+, e ATK_DISABLE_SINGLE_INCLUDES para o ATK.
Basta passar essas opções como sinalizadores ("flags") ao compilar seus aplicativos (por exemplo, -DG_DISABLE_SINGLE_INCLUDES) para garantir que seu aplicativo esteja correto.
O GLib, o GTK+ e as bibliotecas associadas também fornecem outras opções de compilação que você pode usar para testar a compatibilidade com o GTK+ 3.0.
Você pode desabilitar o suporte a símbolos e classes obsoletos que serão removidos na versão 3.0 definindo as seguintes opções ao compilar: ATK_DISABLE_DEPRECATED, PANGO_DISABLE_DEPRECATED, G_DISABLE_DEPRECATED, GDK_PIXBUF_DISABLE_DEPRECATED, GDK_DISABLE_DEPRECATED e GTK_DISABLE_DEPRECATED; respectivamente para ATK, Pango, GLib, GdkPixbuf, GDK e GTK+.
Você pode testar se seus programas usam apenas funções com suporte adequado a sistemas "multihead" (com múltiplos monitores) definindo GDK_MULTIHEAD_SAFE e GTK_MULTIHEAD_SAFE.
4.2 GLib 2.18
O GNOME 2.24 é a primeira versão do GNOME a depender do GLib 2.18.
O GLib 2.18 apresenta melhor suporte a contextos na tradução de strings com as macros C_() e NC_(), além de mais API para o GIO.
Uma lista completa dos novos símbolos está disponível para o GLib e o GIO.
4.3 GTK+ 2.14
O GNOME 2.24 é a primeira versão do GNOME a depender do GTK+ 2.14.
Uma importante alteração nessa novidade do GTK+ é que todos os widgets (componentes) que herdam GtkAdjustment, como botões de seletores numéricos ("spinbuttons") e controles deslizantes ("sliders"), agora impõem suas faixas na forma [menor, menor - tamanho da página], como está na documentação. Se você quiser garantir uma faixa de [menor, maior], defina page_size para 0.
Todas as versões do Glade (incluindo 3.4.1) atualmente criam GtkSpinButton, GtkHScale e GtkVScale com um page_size de 10 por padrão. Os desenvolvedores devem verificar quaisquer arquivos Glade que eles tenham criado para garantir que o tamanho da página seja um valor adequado.
Uma nova classe, GtkMountOperation, foi criada para ser usada com o g_volume_mount. GtkMountOperation é uma GMountOperation capaz de exibir se necessário um diálogo de autenticação para o usuário.
Agora é possível abrir arquivos e outros URIs com o aplicativo padrão usando a função gtk_show_uri(), ao invés de depender do libgnome. E o GDK agora fornece o GdkAppLaunchContext, uma implementação do GAppLaunchContext para aplicativos gráficos, incluindo a notificação de inicialização e a prevenção de roubo de foco.
Outra novidade do GTK+ 2.14 é uma API para o GtkFileChooser baseada no GFile, e a capacidade do GtkBuilder de construir fragmentos de uma árvore XML.
Uma lista completa de novos símbolos está disponível para o GTK+ e o GDK.
4.4 Bibliotecas de mensagens instantâneas
Junto ao novo cliente de mensagens instantâneas (veja a Seção 2.1 ― Mantenha contato), o GNOME 2.24 inclui as bibliotecas libempathy, libempathy-gtk e telepathy-glib, que podem ser usadas para integrar recursos de mensagens instantâneas em qualquer aplicativo do GNOME.
4.5 Deskbar
A interface Match agora inclui dois novos métodos: set_snippet e get_snippet. Se um trecho for definido, será exibido em uma nova linha abaixo do valor get_verb da ocorrência.
A interface Action ganhou o método get_tooltip. Ignorar esse método permite que uma dica seja mostrada quando o usuário passar o mouse sobre uma ocorrência ou ação.