Evan Martin (evan) wrote in evan_tech,
Evan Martin

dbus activation, bmpx

D-BUS is an emerging standard negotiated by the Gnome and KDE people to allow interprocess calls. It's based on KDE's DCOP but it's used by a lot of recent Gnome software as well, to great effect. For example, Growl on OS X is mirrored by Galago on Gnome.

One of the interesting things about DBUS that I didn't appreciate when I first read about it is that it supports service "activation". For example, I can send a message to a music-playing service (services are identified by well-known and namespaced strings), and if the daemon behind the service isn't running, DBUS will bring it up and then send it the message. (If you're on a recent Gnome machine, you probably have a /usr/share/dbus-1/services/notification-daemon.service that provides org.freedesktop.Notifications.)

You can prod that service to life by sending a message its way:
% dbus-send --session --dest=org.freedesktop.Notifications --print-reply / org.freedesktop.DBus.Introspectable.Introspect
but from there, you're better off using dbus-viewer, which is a GUI frontend to the introspection APIs.

I mentioned a music-playing service: the one I've discovered is BMPx, which is a rewrite of beep-media-player (itself a fork of XMMS). It's a bit excessively complicated, as music players tend to be (it's an mp3 player with skins -- wait, no, it's a media player -- wait, no, it's a media streaming framework -- wait, no, it's a generalized media library management system hooked up to a framework -- wait, no it's a media-playing daemon ...). But it does have a DBUS interface as well, with the sorts of sorts of calls you'd expect.
Tags: d-bus, free software

  • dremel

    They published a paper on Dremel, my favorite previously-unpublished tool from the Google toolchest. Greg Linden discusses it: "[...] it is capable…

  • your vcs sucks

    I've been hacking on some Haskell stuff lately that's all managed in darcs and it's reminded me of an observation I made over two years ago now (see…

  • google ime

    Japanophiles might be interested to learn that Google released a Japanese IME. IME is the sort of NLP problem that Google is nearly uniquely…

  • Post a new comment


    default userpic
    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.