Обязательны ли файлы схемы 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/
Это должно дать вам ответы, которые вы ищете.