Nowości dla programistów
Platforma programistyczna w GNOME 2.14 zapewnia stabilne podstawy dla niezależnych twórców aplikacji. GNOME i jego platforma są udostępnione na licencjach pozwalających na tworzenie programów zarówno z otwartym, jak i z zamkniętym kodem źródłowym.
Biblioteki z platformy GNOME mają zapewnioną stabilność API i ABI aż do końca cyklu wydawniczego GNOME 2.x. Biblioteki GNOME Desktop nie mają tej gwarancji, jednakże większość z nich pozostaje spójna pomiędzy kolejnymi wydaniami.
- 3.1. GSlice
- 3.2. Rejestrowanie usług
3.1. GSlice
Od wersji 2.10 GLib, mechanizm przydziału pamięci GSlice zastąpił starszy GMemChunk oraz API GTrashStack. GSlice jest bardzo podobny do mechanizmu znanego z jądra systemu GNU/Linux i umożliwia szybkie i wydajne przydzielanie pamięci dla niewielkich struktur (takich jak np. elementy GList, struktury GtkWindow). GSlice nie posiada narzutu związanego z blokowaniem, przez co jest znacznie szybszy w aplikacjach wielowątkowych.

GMemChunk został przebudowany tak, aby korzystał z GSlice. Pomimo tego, API GMemChunk jest uznawane za przestarzałe.
Aby przydzielić pamięć korzystając z GSlice, użyj wywołania g_slice_new (MojaStruktura);, które zwróci wskaźnik (ptr). Aby zwolnić pamięć przydzieloną przez GSlice, użyj funkcji g_slice_free (MojaStruktura, ptr);.
GSlice używa skalowalnej, oddzielnej dla każdego wątku pamięci podręcznej, przechowującej fragmenty (ang. slices) o różnych wielkościach. Do przydzielania większych obszarów pamięci, GSlice automatycznie użyje funkcji g_malloc, a więc programista nie musi już samodzielnie wybierać najwydajniejszego mechanizmu.
3.2. Rejestrowanie usług
Najnowsza wersja GNOME pozwala programistom na rejestrowanie swoich programów tak, aby były uruchamiane przy starcie GNOME. Aby to zrobić, wystarczy umieścić plik .desktop w katalogu $prefix/share/gnome/autostart/, /etc/xdg/autostart/ lub ~/.config/autostart/. Jeżeli chcesz zarejestrować usługę z jednoczesnym wyłączeniem automatycznego uruchamiania, możesz ustawić właściwość X-GNOME-autostart-enabled = False.
Zastrzeżenia odnośnie rejestrowania usług tą metodą:
- Aplikacje, które rejestrują się w sesji w inny sposób (np. nautilus, gnome-panel, vino), nie powinny rejestrować się podaną powyżej metodą.
- Aplikacje zarządzane przez sesję nie będą dobrze współpracować z przedstawionym systemem rejestracji usług. Upewnij się, że flaga --sm-disable jest ustawiona w wierszu Exec.