Vala でアプリケーションを作成しようとしていますが、Vala のドキュメントで GLib.Settings (dconf) の操作方法を調べました。値の取得と設定は機能します。changed
ただし、イベントを使用してスキーマまたは特定のキーへの変更を検出しようとすると、単にイベントが発生しません。
例: http://pastebin.com/dGuP9GyX
変更されたイベントは、何らかの理由で決して発生しません。このbind ()
方法も機能しません (一方向のみ)。
以下の例は忘れてください...何らかの理由で\nを追加すると実際に機能します...
説明する小さな例を次に示します。次のコマンドでコンパイルします。valac --pkg gio-2.0 --pkg gtk+-3.0 main.vala
int main (string[] args)
{
Gtk.init (ref args);
GLib.Settings settings = new GLib.Settings ("org.pantheon.terminal.settings");
settings.changed["allow-bold"].connect (somethingChanged);
Gtk.main ();
return 0;
}
void somethingChanged ()
{
stdout.printf ("Something changed");
}
この小さな例を実行すると、とにかく私の場合、プログラムは実行され続けます。指定した dconf スキーマでいくつ設定を変更しても、何も出力されません。
誰かが私がこの障壁を乗り越えるのを手伝ってくれることを願っています.
robin@RobinJ:~$ valac --version
Vala 0.20.1