Problems when trying to filter messages with a plugin

Hugo Herter hugo.herter at student.kuleuven.be
Thu Mar 27 16:01:40 EDT 2014


Hello,

I am working on a plugin for Pidgin that sends dummy messages to other users, and I have an issue to filter them from the user interface. I want dummy messages to be sent through the network but hidden from the users.

At the moment, I have two components :
a C Pidgin plugin filtering sent and received messages that start with "?DUMMY:"
a Python script sending dummy messages via the DBus interface

I have two issues I couldn't fix yet, one when sending dummy messages and one when receiving some.

First, when sending a dummy message via DBus from Python, my C plugin stops them from being show by binding on "writing-im-msg", but Pidgin still opens a window/tab for the dummy conversation and makes a sound for each dummy message sent. 

How can I prevent those from happening ?

Second, when receiving a dummy message, my plugin is bound on "receiving-im-msg" and I have a race condition with the loading of the Off-The-Record Messaging (OTR) plugin : If the OTR plugin is loaded after my plugin then everything works fine. But if my plugin is loaded after OTR then my plugin is unable to filter encrypted messages at the "receiving-im-msg" level. 
Messages can still be hidden from the user by binding on "writing-im-msg", but I then have similar issues: Pidgin opens a window for the hidden conversation, makes a sound for each dummy message received and Ubuntu shows a notification on the screen.

How could I make my plugin always load before OTR or prevent the side effects from appearing ?

Thank you !

Hugo Herter
Master Student in Artificial Intelligence
K.U. Leuven

PS: You will find a complete description of my project on the OTR-dev mailing list: http://lists.cypherpunks.ca/pipermail/otr-dev/2013-December/002068.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pidgin.im/pipermail/support/attachments/20140327/9ede9f01/attachment.html>


More information about the Support mailing list