X11アプリケーションでDBusシグナルをリッスンする方法。Dbusシグナルをリッスンするためにgmainloopを起動する必要があり、X11アプリの場合はXEventループを起動する必要があります。それで、これを行うためのエレガントな方法はありますか?または、別のスレッドでgmainloopを実行する必要がありますか?
よろしく、リーヴォン
2 つ以上のもの (X と dbus など) をブロックする場合は、メイン ループが必要です。GLib のメイン ループ、libev、またはその他のライブラリを使用できます。
以下に、GLib のメイン ループで Xlib を使用する 2 つの例を示します。
X イベント ループのファイル記述子を取得できるはずではありませんか? 次に、それを gobject メインループに追加できるはずです。
私が見る限り、ConnectionNumber(xdpy)
はファイル記述子を提供し、それをソースに追加して、 で使用できます
g_source_add_poll()
。