tieto / sipe

A third-party Pidgin plugin for Microsoft Lync/OCS - clone of upstream http://repo.or.cz/w/siplcs.git
GNU General Public License v2.0
129 stars 24 forks source link

Fix Pidgin Message Notification plugin to work with Pidgin 3 #52

Closed xnandersson closed 7 years ago

xnandersson commented 8 years ago

Notifications does not work on Pidgin 3 due to API change. We should track the progress.

xhaakon commented 8 years ago

@xnandersson Sorry, I haven't made myself clear. I will fix the plugin in Pidgin source code and this ticket is for me to 1) not forget about it and 2) communicate my progress. purple-libnotify-plus is a project completely unrelated to this issue, so please close the ticket you've opened in their tracker.

xnandersson commented 8 years ago

@xhaakon Roger! But I'll leave the issue on purbple-libnotify-plus open as the owner already responded and added it as a feature request, and it looks like they'll fix it when Pidgin 3 is released.

xhaakon commented 8 years ago

@xnandersson Ok, that's fine then :)

tcprdg commented 8 years ago

Hi xhaakon, thanks a lot for taking this up. It's so important to have notification working in the new pidgin version. Just to get more clarity on this, are you saying that you will be fixing something in existing notification plugin such as message-notification which when installed and enabled, enables notification on the pidgin version (i.e. the one where we have sipe plugin supporting screen sharing)? Any timelines for this you have in your mind?

Again, thanks a lot for picking this up!

xhaakon commented 8 years ago

@tcprdg The original request was rather simpler and formulated like this:

I can't get pidgin to automatically put the window in front when an IM comes in (or any other event happens).

This should be possible to set using Message Notification plugin as described in the following blog post. The plugin hasn't been updated for Pidgin 3 and all I'm planning to do at the moment is make it work again.

If you're rather thinking about Pidgin being able to integrate with your desktop environment and create popup notification messages for various events, you may be more interested in purple-libnotify-plus plugin, which, however, isn't available for Pidgin3 yet, but will be once stable release is ready.

Any timelines for this you have in your mind?

To fix the Message Notification plugin, probably during this week.

tcprdg commented 8 years ago

Thanks a lot @xhaakon !

It's clear now. Yes, you are right. The Message Notification plugin stopped working for me from sometime ago. When I click on Configure plugin, no configuration window pops up where I can select different options.

Thanks a lot again for taking this. Once you fix this, would you mind pasting the steps here as to how to upgrade the plugin to make it work with Pidgin-3? I have subscribed to this thread already!

All the best in your work!

xhaakon commented 8 years ago

@tcprdg

would you mind pasting the steps here as to how to upgrade the plugin

The plugin is distributed with Pidgin itself, so once I fix it (which I'll surely mention in this thread), you'll only have to update pidgin package from sipe-collab PPA!

ehnvis commented 8 years ago

Just did an apt upgrade and saw a new pidgin upgrade rolling in. Now the Message notification config window pops up (which it didn't do before) when you click the configure plugin button. Seems @xhaakon has fixed the issue?

xhaakon commented 8 years ago

@ehnvis The dialog pops up now and you should be able to change the settings. I haven't tested if the conversation window is actually put in front when a message arrives yet. You may try it yourself if you wish :)

xhaakon commented 8 years ago

So the plugin's preferences dialog has been redone using libpurple 3.0 API and is available in PPA. You can enable "Raise conversation window" or "Present conversation window" as a Notification Method.

In order to bring the window to front, gtk_window_present() is used, which, however, doesn't work very well, mainly because it turns out its actual behavior largely depends on the used window manager.

When I run Pidgin on a desktop with Metacity as a WM, the conversation window appears on top of the stack as one would expect, whereas on Ubuntu 16.04 running Unity, the WM just briefly wiggles Pidgin icon in the side bar in response.

I'm not sure how to continue from here because I'm afraid any attempt to reliably control window stack position would in the end mean working around the peculiarities of different window managers. For those who aren't satisfied with this plugin's behavior with their desktop, I'd recommend looking at other notification solutions like purple-libnotify-plus mentioned before in this thread.

xnandersson commented 8 years ago

@xhaakon Yeah, I think it might be hard to draw the line where should the interface between the OS and Pidgin be in this case. As long as Pidgin triggers something a presumptive notifier could act on, it might be sufficient. And I guess we don't want to incorporate the features present in purple-libnotify-plus as that is somewhat outside our scope. Perhaps we should let this thread stay open for comments and pick up other opinions?

tcprdg commented 8 years ago

@xhaakon , thanks! I'll try this and keep this thread posted with my updates (on Ubuntu 14.04)

tcprdg commented 8 years ago

Hi, i am able to configure message notification plugin but its not of much use. The new IM notifications are not so intrusive, i.e. I don't get chat dock icon to either bounce continuously or come to the foreground to alert of new messages. I miss lots of IMs due to this. Please help me

xhaakon commented 8 years ago

@tcprdg If missed messages are so serious issue for you, I guess for the time being you'll be better off with Pidgin 2 from your distribution package, and in addition install pidgin-libnotify plugin that integrates Pidgin with the desktop environment notification popups. Those should be more noticeable.

Unfortunately the plugin isn't going to be available for Pidgin 3 - and thus used with Pidgin from our PPA - in the near future.