Обязательны ли файлы схемы gnomes gconf

У меня есть приложение, которое использует gconf для конфигурации, и я заметил, что некоторые приложения устанавливают файл схемы, в котором перечислены ключи и даны описания для них.

Это обязательно или файлы схемы являются необязательными? Это, безусловно, работает без них.
Мои опасения по поводу схемы состоят в том, что я не понимаю, как объяснить мою ключевую схему.

Я храню информацию об учетной записи на /apps/blah..blah/accounts с одной папкой на учетную запись, но я не вижу, как я мог указать это. /apps/blah..blah/accounts/<account_example>/name is a string owned by blahblah Я сомневаюсь, что это может сработать, так как в этой папке может быть несколько аккаунтов или их нет.

2 ответа

Некоторые ключи GConf, такие как апплеты и верхние уровни панели, также имеют 0..нарность. Связывание схемы выполняется в коде, и GConf будет хранить его рядом с данными в ~/.gconf.

Например, panel_profile_create_toplevel вызывает panel_gconf_associate_schemas_in_dir, который вызывает gconf_engine_associate_schema. Пакет кораблей /usr/share/gconf/schemas/panel-toplevel.schemas который описывает /schemas/apps/panel/toplevels/*и этот код копирует его в /schemas/apps/panel/toplevels/$PANEL_NAME/*,

Вы также можете использовать gconf_client_set_schema, чтобы установить ключ и сразу дать ему схему. И вы могли бы обойтись без схемы для этих ключей.

GSettings, часть Gnome 3, делает схемы обязательными для приложений, но не сохраняет их в бэкэнде. Схема без пути будет перемещаема, что позволит приложению создавать экземпляры для нескольких поддеревьев настроек.

Официальная страница с описанием различных частей приложения GConf: http://projects.gnome.org/gconf/

Это должно дать вам ответы, которые вы ищете.

Другие вопросы по тегам