[OTR-dev] pidgin-otr rewrite

Ian Goldberg ian at cypherpunks.ca
Sat Dec 17 10:43:00 EST 2011


On Sat, Dec 17, 2011 at 07:13:19AM -0800, Howard Chu wrote:
> [Resending; I attached the patch before but at 80KB it was too big
> for the mailing list to accept. Contact me if you want a copy of my
> work-in-progress patch.]
> 
> I've spent a couple days rewriting the pidgin-otr-3.2.0 plugin to
> only use libpurple, so that the plugin will work with finch. I've
> just now gotten something running, so I thought I'd post a snapshot
> of my changes to get some early feedback. You'll also need the
> latest finch source with my patch here
> 
> http://developer.pidgin.im/ticket/14818
> 
> otherwise the conversation menu won't be installed.
> 
> I've been trying to preserve the UI abstraction of the original
> code, but it's pretty awkward. I believe ultimately the abstraction
> could be removed, since the libpurple version will work in both
> finch and pidgin. (Even if its UI is not as sophisticated as the
> original pidgin code...)
> 
> The two sections that are still unimplemented are management of
> buddies' fingerprints, and authentication of buddies.
> 
> For the latter, I believe I'm just going to add another sub-menu to
> the conversation menu, with three choices "Secret Question" (SMP),
> "Shared Secret", and "Fingerprint" since I don't think I can update
> a dialog in realtime while changing a combo box like the pidgin/GTK
> code does.
> 
> For the fingerprint list I believe the purple_notify_searchresults()
> API will let me create the multi-column list of fingerprint info,
> and the appropriate action buttons to go with.

Very cool!  The original reason for the UI separation in pidgin-otr is
that Adium used to use the same codebase, but with different UI bits.
It was envisioned that finch would also eventually do that.  Did you
find that there was gtk-specific stuff in the non-UI parts of
pidgin-otr?  [I believe Adium now has its own code, though.  Not sure
what will happen when libotr 4.0 comes out.]

> Going with the generic libpurple code sacrifices some of the widgets
> of the pidgin UI. Personally I can live with that, especially since
> I almost always use Finch anyway.

This worries me a bit; ideally, the refactored pidgin-otr that also
worked with finch if compiled that way would be identical to the current
pidgin-otr.  You're saying that's not the case at the moment?

Thanks,

   - Ian



More information about the OTR-dev mailing list