【发布时间】:2012-11-24 01:45:52
【问题描述】:
我在 GSettings 中有一个存储为 a(ss) 类型的 GVariant 的数组,我想在 Cinnamon Applet 中使用它。我可以使用以下代码成功检索该值:
let schema = schema_source.lookup(SCHEMA_NAME, false);
let settings = new Gio.Settings({ settings_schema: schema });
let my_value = settings.get_value('myvalue');
但我无法打开它。据我所知,我可能需要使用GVariantIter 结构来解压它,但是文档有限,而且我在gjs API 中找不到正确的接口(如果确实存在的话)。有人知道怎么做吗?
谢谢!
编辑: 我的架构如下所示:
<key type="a(ss)" name="myvalue">
<default>[]</default>
<summary>an array of (string, string) tuples</summary>
<description></description>
</key>
目前我正在使用外部JSON 文件来存储设置,但这并不是一个100% 令人满意的解决方案。我想我可以维护两个as-type 变量,并保持它们对齐,但必须有办法正确地做到这一点,对吧?
【问题讨论】:
标签: javascript gobject gnome-3 gnome-shell-extensions gjs