I've written a GNOME panel applet that lets you control Rhythmbox via its Bonobo interface and creatively named it Rhythmbox Applet. This applet has several advantages over using the icon Rhythmbox currently puts in the notification area, which inspired me to write it: * The applet provides one-click access to the main playback controls, instead of putting them in a context menu. * The applet displays the current playing time without requiring a mouse-over. * The applet's tooltip also displays the current song's album. Screenshots, source code, and a mirror of the arch repository can be found at http://web.ics.purdue.edu/~kuliniew/rhythmbox-applet/. Since this is a development release, there's still a few rough edges and things to be done (most of which are listed in the TODO file), but all the main functionality is there. I'd like to get some feedback on it to see what you guys think and to hear what other features (if any) might be useful. I'd especially like to hear from anybody who uses a vertical panel on their desktop; since I don't use one myself, I don't know if the way the applet lays itself out in one works well or not, or if putting this applet in one makes much sense in the first place. Also, I've run into a problem trying to start Rhythmbox via Bonobo, but I'm not sure if it's a bug in my applet code or some misconfiguration on my computer. If Rhythmbox isn't running and you click the applet's Play button, it should launch Rhythmbox and tell it to start playing. The code I'm using to start Rhythmbox looks something like: const gchar *query = "((repo_ids.has('IDL:GNOME/Rhythmbox:1.0')))"; proxy->priv->rb = bonobo_activation_activate ( query, NULL, 0, NULL, &proxy->priv->ev); if (proxy->priv->rb == CORBA_OBJECT_NIL) { /* report the error... */ return; } (This is adapted from rb_proxy_connect in rb-proxy.c, for those playing along at home.) As far as I can tell this is correct, but when it runs I get this error: WARNING **: Bonobo error: Child process did not give an error message, unknown failure occurred If Rhythmbox is already running, there's no problem connecting to it. The query seems to run fine if I execute it with the bonobo-activation-run-query command. The same if I try to use the query "(iid == 'OAFIID:GNOME_Rhythmbox')". If anyone can reproduce the problem or tell me what's causing it, I'd appreciate it. Thanks!
Attachment:
signature.asc
Description: Digital signature