Как сделать, чтобы апплет Gnome Panel (написанный на python) сохранял отдельные настройки для каждого экземпляра? - PullRequest
0 голосов
/ 25 августа 2011

Кто-то задал этот вопрос около года назад , но я не смог превратить ни один из ответов в пригодный для использования код. Кажется, что принятый ответ ссылается на функцию C (я не мог найти эквивалент python), а другой ссылался на функцию python, которая не работала для меня (applet.get_preferences_key () возвращает None). что делать? Примеры были бы потрясающими ...

1 Ответ

0 голосов
/ 26 августа 2011

По какой-то причине я не могу получить доступ к страницам, на которые есть ссылки в принятом ответе по другому вопросу.Однако вы можете получить доступ к библиотекам GConf C через самоанализ PyGObject: from gi.repository import GConf.Итак, функция, которую они рекомендуют (если бы я только мог загрузить веб-страницу, чтобы увидеть), предположительно доступна в Python.Обратите внимание, что если ваш апплет вообще использует pygtk, могут возникнуть конфликты с использованием самоанализа PyGObject (хотя я думаю, что если вы используете самоанализ только для GConf, а не для GTK, у вас все должно быть в порядке).

Здесьсодержимое GConf через самоанализ:

['ChangeSet',
 'ChangeSetForeachFunc',
 'Client',
 'ClientClass',
 'ClientErrorHandlerFunc',
 'ClientErrorHandlingMode',
 'ClientNotifyFunc',
 'ClientPreloadType',
 'Entry',
 'EnumStringPair',
 'Error',
 'ListenersForeach',
 'ListenersPredicate',
 'UnsetFlags',
 'Value',
 'ValueType',
 '__class__',
 '__delattr__',
 '__dict__',
 '__dir__',
 '__doc__',
 '__file__',
 '__format__',
 '__getattr__',
 '__getattribute__',
 '__hash__',
 '__init__',
 '__loader__',
 '__module__',
 '__name__',
 '__new__',
 '__path__',
 '__reduce__',
 '__reduce_ex__',
 '__repr__',
 '__setattr__',
 '__sizeof__',
 '__str__',
 '__subclasshook__',
 '__weakref__',
 '_introspection_module',
 '_load',
 '_namespace',
 '_overrides_module',
 '_version',
 'concat_dir_and_key',
 'debug_shutdown',
 'enum_to_string',
 'error_quark',
 'escape_key',
 'init',
 'is_initialized',
 'key_is_below',
 'postinit',
 'preinit',
 'string_to_enum',
 'unescape_key',
 'unique_key',
 'valid_key',
 'value_decode']
...