xfrun + dbus integration

Brian J. Tarricone bjt23 at cornell.edu
Sun Jul 16 12:28:16 CEST 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi all,

I finally got around to implementing all that dbus stuff in xfrun we
talked about months ago.  If it doesn't pass muster, we can always
disable it for 4.4.0 final.  In the meantime, please give it a lot of
testing.

'xfrun4 --daemon' starts the daemon.  'xfrun4' instructs the daemon to
pop up a dialog.  'xfrun4 --quit' instructs the daemon to quit.

If you don't have dbus support, you'll get the normal old
single-instance dialog, which is probably slightly slower now, but
that's the breaks.  Don't complain unless you've benchmarked and want to
provide patches to speed it up.

Known issues:

* The first time you run 'xfrun4', it does nothing but start the daemon.
 Perhaps someone with more knowledge about dbus activation can help
here.  Do I have to have the daemon show the dialog on startup?  If so,
how can it know about any arguments passed to the 'client'?

* There might be a small memleak (about 100kB) every time the dialog is
opened and closed.  This is from staring at top, so that's not
necessarily all that accurate.  I spent several hours with valgrind, and
it doesn't seem to be able to find it.  If anyone wants to try, I'm
running the daemon with:

G_SLICE=always-malloc G_DEBUG=gc-friendly valgrind --tool=memcheck -v \
    --leak-check=full --log-file=xfrun-valgrind --num-callers=50 \
    --leak-resolution=high xfrun4 --daemon --no-detach

Note that if you want to try also with --show-reachable=yes, there are
several spurious records because the daemon creates a dialog instance
that it never destroys.  You also get around 8000 records worth of stuff
to sift through, which isn't terribly fun.

* If xfrun is compiled with dbus support, but the dbus session bus isn't
running for some reason, it just won't work at all.  The 'client'
portion should note failure to connect and show the dialog itself (which
is pretty easy since it's all in one binary).  If someone wants to
implement this, post a patch on bugzilla and I'll give it a look.

For now, I'm going to bed...

	-brian

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)

iD8DBQFEuhTA6XyW6VEeAnsRAsejAJ9PlYjHsIrUK8KSmqKqMOiDP91hWACg3JlO
GFA3f1oXfqHk2rjC3upm1k8=
=Xj/T
-----END PGP SIGNATURE-----



More information about the Xfce4-dev mailing list