Ubuntu

gajim doesn't have indicator support

Reported by Paulus on 2010-05-29
104
This bug affects 36 people
Affects Status Importance Assigned to Milestone
gajim (Ubuntu)
Wishlist
Unassigned

Bug Description

Binary package hint: gajim

This bug is similar to https://bugs.launchpad.net/ubuntu/+source/gajim/+bug/340213, but that one is marked invalid... hope this one doesn't :)

The big problem is: gajim doesn't support indicator. The indicator support was introduced in 0.13.4, but unfortunately it was removed from the mercurial version due to indicator API changes (http://trac.gajim.org/ticket/5760). I've created a patch for the recent API and recent mercurial code, but they do not accept it upstream saying that maintaining Ubuntu-only code is likely to be done in Ubuntu community. It sounds sane. So I hope that it will be accepted here.

Paulus (paulmd-ya) wrote :
tags: added: patch
Jonathan Michalon (johndescs) wrote :

This seems quite interesting. As I'm preparing the merge of gajim 0.13.4 (https://bugs.launchpad.net/ubuntu/+source/gajim/+bug/506049), this could be incorporated.
I will test it but I'm no python expert for a review…

Changed in gajim (Ubuntu):
status: New → In Progress
assignee: nobody → Jonathan Michalon (johndescs)
Paulus (paulmd-ya) wrote :

0.13.4 already has *some* indicator support (very limited) and it certainly will conflict with my patch. I think that applying the remove-indicator changeset from mercurial will make it work with 0.13.4:

changeset: 12097:06e6d0654ac7
user: Yann Leboulanger <email address hidden>
date: Tue May 11 17:20:23 2010 +0200
summary: indicator API changes too much, remove it's support. Fixes #5694

Jonathan Michalon (johndescs) wrote :

Hi,

I've been trying to apply all that stuff for quite some time today.
Applying that changeset (thanks to have pointed it to me) didn't go at all but I've created a new patch that remove all what was by the changeset.
Your patch didn't apply either, but now it almost works.
I've encountered mainly two problems, one is the switch from glade to gtkbuilder, the other is space / tabulation indentations (quite annoying)…
Now I'm stuck with that chunk:

diff -r ba59d9f1b8d9 src/gui_interface.py
--- a/src/gui_interface.py Wed May 26 08:59:01 2010 +0200
+++ b/src/gui_interface.py Thu May 27 01:23:14 2010 +0400
@@ -3524,6 +3524,14 @@
         import statusicon
         self.systray = statusicon.StatusIcon()

+ try:
+ import ubuntu_indicator
+ self.indicator = ubuntu_indicator.UbuntuIndicator()
+ if gajim.config.get('use_ubuntu_indicator'):
+ self.indicator.enable()
+ except:
+ self.indicator = None
+
         pix = gtkgui_helpers.get_icon_pixmap('gajim', 32)
         # set the icon to all windows
         gtk.window_set_default_icon(pix)

The file doesn't exist and I've no answer on where to put your code.
Have you an idea on what should be done? Do you know whether a new version is going to be released, for which we could wait before applying your patch and get ride of all these problems?
If you want to investigate and find what I didn't, I could send you my modified patch so that you haven't to redo what I already changed.

Thanks,
Jonathan

Paulus (paulmd-ya) wrote :

Hi, Jonathan.

Sorry for the delay. I don't know when there will be a new version release so I think that I should convert the patch for the current one. The differences are awful indeed, but we will overcome them :-)

I've converted my patch so that it applies cleanly on 0.13.4 sources. Hope it helps.

  done

Hi Paulus,

Thanks, it applies cleanly. Here are my impressions (note that I'm no Indicator
user and that I don't know a lot about it…)
 - When you check your toggle parameter, okay gajim appears in indicator but
   when you uncheck it, new events aren't displayed but the gajim line stays…
   If I click it then, the roster closes / open again. Is this intended?
 - Is there a way of integrating gajim to the global status thing? You know,
   when you click on your name and a list of status if proposed. It may be the
   same issue as being considered as "instant messaging" instead of having our
   own line when clicking on the envelope (like empathy). Not sure to be
   understandable here ;-).
 - The new option isn't translated. I don't know if there is a way of having
   it done as there are a lot of languages. I can translate into mine but…

I can upload this to my PPA but I'll wait a little for your ideas about the
above ;-)

Thanks!

Jonathan

Paulus (paulmd-ya) wrote :

- This is not intended, but I don't know how to fix it. I explicitly hide the server line and then destroy the underlying object, but it simply doesn't hide from the applet. However it won't register itself in the applet after restart.

- There is a way of course, but it is a very hard one: indicator-me has no API to connect to, it uses different hacks both for empathy and pidgin (do they require other IM maintainers to write hacks for them too? and why?).

- For translations the only possibility I see is using the community. Actually there is only one string to translate. I can provide the Russian translation: "Использовать индикатор Ubuntu" ;-)

Jonathan Michalon (johndescs) wrote :

Okay, it's a pity that indicator-me be available but not usable… nevertheless
I've uploaded to my PPA. I've started a translation patch with yours and mine
(french). You seem to know better what's possible to do: "using the community".
How can we achieve this? Is there a way of using launchpad's system (it's
currently greyed out)? I'm no guru, just trying to help as I see gajim needs
lot of work…
About the first no-fix, I've found an example but I don't know if it will help.
Even you may have started with it. But to be sure you're aware:
/usr/share/doc/python-indicate/examples/im-client.py

Paulus (paulmd-ya) wrote :

Yes, I've seen the example of course. Unfortunately there is no "hide me" option. By the way, do you know any client that can successfully hide itself from the indicator while staying alive?

About translations — I do not know how it is done in launchpad at all. In regular projects they usually post something like "translation needed" on the front page and people do translate it (if the project is popular). Sorry for not being able to help in this area.

Jonathan Michalon (johndescs) wrote :

There are people complaining on not being able to hide.
https://answers.launchpad.net/indicator-applet/+question/86526
I've been playing with that this morning without success. Let's give up.

About translation, I've spoken on #ubuntu-translators with a very helpful guy and now a new branch with your patch applied and updated PO files is available on my account. Gajim launchpad maintainer has been pinged to make my branch available for translation. Wait and see!

Sebastien Bacher (seb128) wrote :

note that the indicator work started in Ubuntu but is not Ubuntu specific, there is no reason why "Ubuntu" should be in the naming scheme there

Paulus (paulmd-ya) wrote :

I don't think other Linux distros will incorporate the technology. At least not in the next 1-2 years. From my point of view it's rather useless now: all it does is copy the functionality of the gnome tray introducing many new bugs and inconveniances (for example the network manager, which should have been the first app to be ported to the indicator, is not ported at all — dbus menu does not allow it). There are positive sides of course, but simply not enough to make other distro maintainers to make the effort to merge it.

Sebastien Bacher (seb128) wrote :

that's only your opinion, the project is an upstream one not specific to ubuntu and dropbox and quite some other projects took such changes allowing to use those libraries, some other distributions are working on packaging those as well, you should not let your personal opinion reflect on user strings though

Changed in gajim (Ubuntu):
importance: Undecided → Wishlist
Jonathan Michalon (johndescs) wrote :

Hum, as this is ubuntu only patch it seems not a problem to speak about
ubuntu's indicator. Anyway, do we merely drop the "Ubuntu"? I'm just setting
translation up (at least trying) so it's time to decide this.

Paulus (paulmd-ya) wrote :

Good to hear it, Sebastien. Of course, I don't mind stripping Ubuntu from the patch.

By the way, Sebastien, do you know how to integrate gajim into indicator-me? Will there be an API of some kind?

Sebastien Bacher (seb128) wrote :

right, don't get "Ubuntu" in the string, Ubuntu users don't need to have "Ubuntu" in their option descriptions as well they know they are using Ubuntu. You could drop the reference to Ubuntu in the source as well and try to get it upstream as it's done with other changes...

What do you need to know for the indicator? You can maybe look to the pidgin-libnotify or empathy or xchat-gnome-indicator source?

Paulus (paulmd-ya) wrote :

The upstream developers do no accept the patch, because indicator API changes very often. They simply do not have ubuntu and they cannot therefore control the changes. They will not accept it until indicator becomes a rather common thing.

Indicator-me has different code for supporting pidgin and empathy. I really do not think that it is a good idea to make a patch for indicator itself just to support another IM. I thought you might know the plans for the API :)

Jonathan Michalon (johndescs) wrote :

I'm afraid I'm going to give up.
I've done all the overkill work by setting up translation on gajim's launchpad, pinged ubuntu-translators, made a branch for ubuntu specific patches... the string is not going to be translated.
In addition I don't use indicator personally, and don't plane to (no right-click, yet-another-tool, ...).
This patch could be pushed without translation, no problem but I'm no capable of that and don't want to put effort on seeking for a sponsor etc. for such a small wishlist issue.
Anyway I've not as much time as I thought for contributing. Sorry.
If someone stands up, I can give more details about what I already did.

Changed in gajim (Ubuntu):
assignee: Jonathan Michalon (johndescs) → nobody
status: In Progress → Confirmed
Tigre-Bleu (tigre-bleu) wrote :

Excuse me for the very basic question (I'm not a developer and I don't fully understand how launchpad works):

You giving up does it mean that this patch will not be available on next release (and therefore on gajim ppa)?

BTW, thanks for your work. I wouldn't be able to replace you so I've got nothing to say but I would regret not having the indicator in next ubuntu releases. Gajim is the best jabber client I know so far (unfortunatly, not very well integrated in gnome/ubuntu)

Jonathan Michalon (johndescs) wrote :

Me giving up means that I'm now facing too much difficulties to make this
proper for Ubuntu official release, starting with the fact that I'm no
Indicator user/fan and that I'm really lacking time.
But the preliminaries (working indicator) are available on my _personnal_ PPA,
based on the patch provided here.
So, I don't think this would be in the next release(s) (unless someone more
capable and motivated stands up quickly), but it is on my PPA, which you could
use easly.
Perhaps things would change when a new release of gajim happen and get
packaged...
You say you couldn't replace me, but what you could try is find someone that
could ;-) this is the key of all that stuff since the patch looks (AFAICT) nice.

Albertas Agejevas (alga) wrote :

Bringing up gajim from the messages indicator breaks on your PPA on lucid. The error message:

TypeError: server_display() takes exactly 1 argument (2 given)

Patch:

--- notify.py.orig 2010-07-30 16:02:46.000000000 +0300
+++ notify.py 2010-07-30 16:03:20.000000000 +0300
@@ -64,7 +64,7 @@
  gajim.interface.handle_event(account, jid, msg_type)
  indicator.hide()

-def server_display(server):
+def server_display(server, arg):
  win = gajim.interface.roster.window
  win.present()

Jorge O. Castro (jorge) on 2010-08-20
tags: added: indicator-application
Changed in gajim (Ubuntu):
assignee: nobody → Karl Lattimer (karl-qdh)
Changed in gajim (Ubuntu):
assignee: Karl Lattimer (karl-qdh) → nobody
Xavier Guillot (valeryan-24) wrote :

Gajim supported Ubuntu Messaging Menu Indicator, but only through a plugin, not with the Debian or Ubuntu package, and it's a zip plugin not in the repositories but downloaded from Gajim:

http://trac-plugins.gajim.org/wiki/UbuntuIntegrationPlugin

But plugin does not work anymore on Ubuntu Quantal 12.10 and Raring 13.04 (impossible to activate it even with python-indicate and python-xdg installed) as developers changed libmessaging-menu api (deprecating the old libindicate library) :

https://bugs.launchpad.net/ubuntu/+source/indicator-messages/+bug/1040259

They corrected it for Gwibber, Thunderbird, Empathy, Pidgin... as there are packaged for Ubuntu, so for the moment there is no solution on Ubuntu for Gajim integration in Messaging menu.

I opened a bug in the right Gajim plugin tracker, but initial developer is not interested anymore to maintain it, and nobody else answered nor corrected the bug.

http://trac-plugins.gajim.org/ticket/14

As Gajim is a well-known opensource soft, I send a message here: if someone knows how and wants to help solving this bug in Gajim Ayatana Integration plugin, thanks in advance !

BDenis (borenko) wrote :

In 13.04 ubuntu suppress support tray whitelist and gajim became fully unusable for me.
So I wrote simple plugin that add appindicator support to gajim.
Since gajim have no GTK3 support and MessagingMenu have no GTK2 python bindings library there is hard for now to wrote plugin that provide gajim integration in to MessagingMenu. We can just use appindicator.
Just install plugin from attached zip file and enable it.
I must have python-appindicator installed.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.