Что нового для разработчиков
Платформа разработки GNOME версии 2.14 является надёжным основанием, на котором свободные разработчики строят свои приложения. Условия распространения GNOME позволяют создавать свободное и коммерческое программное обеспечение на основе GNOME.
Гарантирована стабильность интерфейса приложений (API) и бинарного интерфейса (ABI) в течение всего жизненного цикла платформы GNOME 2.x. Библиотеки рабочего стола не настолько стабильны, но этому моменту придаётся все большее внимание.
- 3.1. GSlice
- 3.2. Регистрация сервисов
3.1 GSlice
Начиная с GLib 2.10 выделение памяти с помощью GSlice пришло на замену старому API, использовавшему GMemChunk и GTraskStack. GSlice очень похоже по принципу действия на выделение памяти в ядре с помощью slab, и позволяет приложениям работать быстро, эффективно расходовать память на структуры маленького размера (например элементы GList, структуры GtkWindow). GSlice также не расходует ресурсы на предотвращение конкурентного доступа, поэтому работает гораздо быстрее чем GMemChunk в многопоточных приложениях.

Реализация GMemChunk обновлена и теперь использует GSlice, но API GMemChunk помечено как устаревшее.
Для выделения памяти с помощью GSlice, используйте вызов функции g_slice_new (MyStructure);, который вернёт указатель на выделенную память. Для освобождения памяти, выделенной с помощью GSlice, используйте функцию g_slice_free (MyStructure, ptr);.
GSlice использует масштабируемый кэш областей памяти различных размеров, отдельный для каждого потока. Для больших объемов выделяемой памяти GSlice будет автоматически использовать выделение с помощью g_malloc, поэтому не требуется специальные действия по использованию эффективного алгоритма выделения памяти.
3.2 Регистрация сервисов
Последний выпуск GNOME позволяет разработчикам регистрировать их приложения для запуска после входа пользователя в сеанс. Для этого всего лишь нужно установить файл описания приложения .desktop в $prefix/share/gnome/autostart/, /etc/xdg/autostart/ или ~/.config/autostart/. Если нужно установить сервис, выключенный по умолчанию, можно добавить свойство в файл описания свойство X-GNOME-autostart-enabled = False.
Нужно предупредить о некоторых моментах:
- Приложения, которые регистрируются другим способом, например nautilus, gnome-panel, vino не должны регистрироваться таким образом.
- Если приложения не будут выполняться как нужно, проверьте что в строке запуска задан параметр --sm-disable.