Как апплет Gnome должен хранить свои данные конфигурации? - PullRequest
6 голосов
/ 11 июня 2010

У меня есть апплет Gnome, написанный на Python.Для сохранения данных / настроек конфигурации создается файл ~/.appname.

. Однако это не позволяет добавлять на панель несколько экземпляров апплета, поскольку каждый не может иметь свои собственные настройки.

Как я могу сохранить настройки таким образом, чтобы каждый экземпляр имел свои уникальные настройки?

Обновление: Я специально хочу знать, как хранить настройки для экземпляра.

Ответы [ 2 ]

7 голосов
/ 13 июня 2010

Рекомендованным способом для апплета было бы использовать GConf для хранения настроек и использовать один ключ для каждого экземпляра, чтобы вы могли сохранять индивидуальные настройки.Из Апплета Panel GConf Utilities :

Апплеты обычно определяют набор предпочтений, используя файл схем и panel_applet_add_preferences ().Такие настройки применяются только к отдельному экземпляру апплета.Например, вы можете добавить два апплета часов на панель и настроить их по-разному.

Чтобы параметры применялись только к одному апплету, у каждого апплета должен быть отдельный ключ GConf для каждого из этих параметров.Методы, описанные ниже, обеспечивают удобную оболочку для обычных функций GConfClient и работают с этими ключами для каждого апплета.

1 голос
/ 12 февраля 2011

Пример Python с апплетом:

import gconf
client = gconf.client_get_default()
gconf_root_key = applet.get_preferences_key()

client.set_string( gconf_root_key + "/myvar", "foobar")
myvar = client.get_string( gconf_root_key + "/myvar")
...