On Thu, 2013-02-14 at 20:39 +0100, Michael Schwendt wrote:
On Thu, 14 Feb 2013 13:28:57 +0100, Bastien Nocera wrote:
On Thu, 2013-02-14 at 10:53 +0100, Michael Schwendt wrote:
On Thu, 14 Feb 2013 03:49:23 +0100, Kevin Kofler wrote:
DJ Delorie wrote:
Disadvantage, if you ask me. First thing audacious did was spew random errors to the screen and change my Firefox and emacs cursors.
So I suspect that Audacious started gnome-settings-daemon.
It doesn't do that when I use OpenBox instead of GNOME, so OpenBox does not auto-spawn g-s-d.
However, one of its plug-ins talks to DBus (org.gnome.SettingsDaemon) for GNOME media player keyboard shortcuts. That plug-in is enabled by default and by request, and anyone not running a compatible environment can easily switch it off in the preferences.
Or you could fix the plugin to not auto-start the daemon so we don't get blamed for Audacious bugs...
Could you tell me a test environment where auto-starting the daemon is reproducible? Then I might take a look at trying to avoid it.
It should be auto-started when your app pokes at the not-yet-spawned well-known D-Bus name.
As pointed out above, with Openbox the daemon is not started automatically when starting Audacious. I'm stuck there. The puzzle is incomplete.
Is there a session D-Bus running in your session? I don't know how it could not start.
The implementation of the plugin looks dubious in the bottom half of gnome_remote_init() -- I dunno why it does the 2nd dbus_g_proxy_call -- https://github.com/audacious-media-player/audacious-plugins/blob/master/src/... but other than that the only thing I could think of is dbus system activation as there's nothing else that would start the daemon automatically.
You make a call to GrabMediaPlayerKeys() on a well-known D-Bus name that isn't spawned. D-Bus will gladly allow you to make the call and spawn the service for you.
You should use dbus_g_proxy_new_for_name_owner() instead, which will round-trip and check whether the service exists. Hopefully it should stop it from auto-spawning.
GDBus has the separate and more practical G_DBUS_CALL_FLAGS_NO_AUTO_START flag to be used.
Cheers