Pidgin

From Jon's Wiki
Revision as of 02:49, 5 September 2016 by Johnno (talk | contribs)

Pidgin is a multi-protocol IM client for Windows and *nix desktops (see Adium for Mac). Pidgin 2.x series is woefully crap in many technical ways, but mostly does what it says on the tin. Development on 2.x has been in maintenance mode since about 2011, and most dev effort is focused on the 3.0 branch, which is pretty much a ground-up rewrite.

Missing XMPP XEPs

XMPP support in Pidgin has been slow to adopt new shiny XMPP extensions (XEP). Tickets exist for them:

Here are instructions on how to fix them.

XEP-0280: Message Carbons

This is the bit that lets XMPP clients track message history like Hangouts does, when you are using multiple clients in a conversation (e.g. phone, tablet, gaming PC, work laptop). The perfectly working patch by "xnyhps" has been lurking on Ticket #15508 since January 2014 but everyone's busy with the 3.0 milestone, and things like realtime text and message receipts seem to have been deemed more important. Luckily, these instructions will build you a modified version you can install yourself:

apt-get source pidgin
sudo apt-get build-dep pidgin
cd pidgin-2.10.9
wget https://developer.pidgin.im/raw-attachment/ticket/15508/carbons.5.patch
patch -p1 < carbons.5.patch
dpkg-source --commit
vi debian/changelog  # bump to +nmu1
dpkg-buildpackage  # -us -uc if you can't be arsed with a PGP key
sudo dpkg -i ../pidgin*.deb ../libpurple*.deb

XEP-0313: Message Archive Management

This is the bit that lets the server stash messages sent to you while you're offline, and the client to sync the history when next online, also like Hangouts. Especially useful for multiuser chatrooms. A patch potentially exists in the meantime.

Facebook, Hangouts, and Steam

These protocols used to be XMPP-based, but because nobody seems to understand how to implement it properly, and the XEP standards body can't be bothered progressing draft standards that have been in use for years, they have been replaced by proprietary protocols, and there are now plugins for them for libpurple:

These just involve running make and lobbing the .so into your ~/.purple/plugins directory; see their respective README files for installation instructions. You will need Google protobuffers and GLib JSON libraries too:

sudo apt-get install libprotobuf-c1 libjson-glib-1.0-0

See also

  • Use Prosody to run your own XMPP (jabber) server, it's easy.
  • Use Conversations on your Android gadget.