Come collegare X11 app per dBus
Domanda
Come fare domanda di X11 per ascoltare il segnale DBus. Che per ascoltare dovrebbe essere lanciato dBus gmainloop del segnale, e per X11 app Xevent loop. Quindi non v'è un modo elegante per fare questo? O devo correre gmainloop in un altro thread.
Saluti, Levon
Soluzione
Se si desidera bloccare in due o più cose (dire X e dbus) avete bisogno di un ciclo principale. Si potrebbe utilizzare ciclo principale di GLib o libev o di altre librerie.
Ecco due esempi di utilizzo Xlib con ciclo principale di GLib:
Altri suggerimenti
Non dovresti essere in grado di ottenere un descrittore di file per il ciclo degli eventi X? Poi si dovrebbe essere in grado di aggiungerlo al gobject mainloop.
Da quello che posso vedere, ConnectionNumber(xdpy)
darà il file
descrittore, che è quindi possibile aggiungere a una fonte, che è possibile utilizzare con
g_source_add_poll()
.