GNOME Bugzilla – Bug 535129
allow presenting the accounts dialog programmatically
Last modified: 2009-08-28 12:21:03 UTC
The bigboard (http://live.gnome.org/BigBoard) needs to communicate with empathy to: 1 Open a chat with a certain user, or present the current one if already open. 2 Open account configuration. I'm going to attach a patch which implements a dbus service to offer these functionalities.
Created attachment 111623 [details] [review] Add a DBus service A couple of notes: * I have to call empathy_dispatcher_chat_with_contact on idle, otherwise it blocks, not sure what is going on. * EditAccounts would ideally just present the current dialog if one is already open. I can do that in a separate patch.
Thanks for your interest in Empathy. This is not how it is supposed to work. Telepathy is already fully accessible via DBus, clients don't have to expose an interface. Even better empathy is composed of 2 librairies: libempathy and libempathy-gtk, they can be used by any program either by using the C API or the python binding. 1. Link on libempathy and call empathy_dispatcher_chat_with_contact() 2. Link on libempathy-gtk and call empathy_accounts_dialog_show() If that's not enough feel free to reopen.
Xavier, yeah I found these two possibilities while writing the patch. I see two issues with them: 1 If I call empathy_dispatcher_chat_with_contact I will get every time a new dialog, right? That's not what I want, the current conversation dialog should be raised instead. 2 Similary for the accounts dialog, I'd prefer to not have multiple instances of it around. If there is one open, I want to just present it. That's minor compared with 1, but still...
1. No, it will present an existing window. 2. Right it creates a new window so you could have 2 windows to configure accounts open at the same time. I think that's a minor issue.
(In reply to comment #4) > 1. No, it will present an existing window. Great. > 2. Right it creates a new window so you could have 2 windows to configure > accounts open at the same time. I think that's a minor issue. Yeah, I don't think it's worth a DBus service, for now at least.
(In reply to comment #2) > 2. Link on libempathy-gtk and call empathy_accounts_dialog_show() This is not working anymore on trunk, because the dialog has been made private. How do we go about it?
The plan is to have a "empathy --show-account-dialog", or directly calling the empathy-accounts binary, or something like that, so we can avoid having multiple dialogs.
Forgot the close this bug. You can launch "empathy -a" to get the account dialog.
Zdra: maybe we should break this feature out into a capplet?
What's the future of applets with gnome-shell? I don't think we should add more applets using gnome-panel's crappy bonobo stuff...
Do note Davyd proposed a *c*applet, not an applet.
A capplet could be a good idea actually. Not sure how this would fit with the about-me capplet though.
Empathy is now a single instance so launching "empathy -a" multi times won't open a lot of dialog any more. Closing this bug.