GNOME Bugzilla – Bug 605925
Possibility to activate/deactivate IMs in im-status plugin.
Last modified: 2018-05-24 14:55:26 UTC
Created attachment 150701 [details] [review] patch Hello. Today I wrote small patch that adding possibility to chose what IM's should get user tune status from Rhythmbox. My patch added one small dependency - gconf but that should not be a problem because it's part of Gnome platform. I'm using GtkBuilder to display configuration dialog. Enjoy :)
Created attachment 150702 [details] Full im-status plugin __init__.py file with my modifications.
Created attachment 150704 [details] GtkBuilder UI file for im-status.
Can you explain why you need this? It seems like it would only be useful if you run multiple IM clients and you don't want your status updated in some of them.
(In reply to comment #3) > Can you explain why you need this? It seems like it would only be useful if > you run multiple IM clients and you don't want your status updated in some of > them. Yes and that's a reason why I made that. Many users for now use both Pidgin and Empathy, like me. Someone ask me could I write something like that so I wrote and I wanted to share it with other people :)
Review of attachment 150701 [details] [review]: ::: code/git/rhythmbox/plugins/im-status/im-status/__init__.py @@ +31,2 @@ try: + import gconf I don't think there's any need for the exception handling here any more. Package dependencies should take care of this for most users, and people who build from source should be smart enough to deal with it themselves. @@ +40,3 @@ +gconf_keys = { 'use_mc5': '/apps/rhythmbox/plugins/im-status/use_mc5', + 'use_purple': '/apps/rhythmbox/plugins/im-status/use_purple', + 'use_gossip': '/apps/rhythmbox/plugins/im-status/use_gossip' need to add these gconf keys to data/rhythmbox.schemas @@ +67,3 @@ def __init__ (self): + if not libs: + message = "You have no required libraries (dbus or gconf for python). IM-Status plugin cannot work properly." If we keep this (and I don't think we should), the message needs to be translaed, and it should be specific about which modules are missing. @@ +313,3 @@ + return dialog + +class IMStatusConfigureDialog (object): this class should itself be the configuration dialog, rather than a container for it @@ +323,3 @@ + self.empathy_checkbutton = builder.get_object('empathy_checkbutton') + self.pidgin_checkbutton = builder.get_object('pidgin_checkbutton') + self.gossip_checkbutton = builder.get_object('gossip_checkbutton') This should work similarly to the way the lyrics configuration dialog works now - a single list of supported IM clients, giving their names, user-visible descriptions, gconf keys, and get/set methods. This would be used to build the configuration dialog and update gconf when the user changes the settings.
This seems like a feature creep to me. Updating status on either backends would use D-Bus. I think it would be better to update them all (plugin enabled) or update none (plugin disabled) and be done with it.
-- GitLab Migration Automatic Message -- This bug has been migrated to GNOME's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/rhythmbox/issues/857.