O que há de novo para desenvolvedores
A plataforma de desenvolvimento do GNOME 2.14 fornece uma base estável para desenvolvedores de software independentes criar aplicativos third-party. GNOME e sua plataforma usam licenças que permitem a criação tanto de software livre quanto proprietário para executar sobre o GNOME.
Bibliotecas da plataforma GNOME são garantidas de ser compatíveis em API e ABI com as outras versões GNOME da série 2.x. Bibliotecas no Desktop GNOME não têm essa garantia, mas a maioria se mantem consistente de versão para versão.
- 3.1 GSlice
- 3.2 Registro de serviço
3.1 GSlice
A partir do GLib 2.10, o alocador GSlice substitui o velho GMemChunk e as APIs do GTrashStacks disponíveis no GLib. GSlice é muito semelhante ao alocador slab do kernel e permite rápida e eficiente alocação de pequenas estruturas (por exemplo, elementos de GList e estruturas de GtkWindow). GSlice também não tem nenhuma das penalidades de bloqueio do GMemChunck, o que faz dele muito mais rápido em aplicações multithread.

GMemChunk foi reimplementado para usar GSlice transparentemente, mas a API do GMemChunk é considerado obsoleto.
Para alocar memória com o alocador GSlice, use a chamada g_slice_new (MyStructure);, que retornará um ponteiro (ptr). Para liberar memória alocada com GSlice, use a função g_slice_free (MyStructure, ptr);.
GSlice usa um cache de memória escalável, local (na mesma thread) e em fatias de tamanhos diferentes. Para grandes requisições de memória, GSlice usará transparente e automaticamente o alocador g_malloc para você, então os desenvolvedores não precisam escolher o alocador mais eficiente eles mesmos.
3.2 Registro de serviço
A última versão do GNOME agora oferece um novo jeito para desenvolvedores registrarem suas aplicações para serem iniciadas automaticamente quando o GNOME inicia. Para fazer isso, você precisa instalar um arquivo .desktop em $prefix/share/gnome/autostart/, /etc/xdg/autostart/ ou ~/.config/autostart/. Se você quiser instalar um serviço, mas desativá-lo por default, você pode adicionar a propriedade X-GNOME-autostart-enabled = False.
São necessários alguns cuidados para registrar serviços dessa maneira:
- Aplicações que se registram com a sessão de alguma outra forma (por exemplo, nautilus, gnome-panel, vino) não devem se registrar também dessa forma.
- Aplicações para gerenciamento de sessão não serão manuseados de forma limpa, então tenha certeza de passar a opção --sm-disable na sua linha Exec.