Remove the unnecessary util.c/util.h files and use purple_debug_info() throughout instead. This is more direct. Also replace all usages of printf() with the same helper. This makes the Delta plugin usable in command-line applications like Finch. Previously, the printf() output was messing up the screen!
Delta Chat plugin for libpurple
Overview
Delta Chat is an instant messaging application based on email - which is to say, SMTP+IMAP.
Delta has:
- A mature core library
- A mature Android application
- An experimental iOS application
- An electron desktop application
This project is a libpurple
plugin that wraps deltachat-core
, allowing a number of existing desktop and
mobile clients to send and receive IMs over SMTP+IMAP. It may be useful for
Linux-based mobile devices, for
GUI desktop usage without an Electron dependency, or console desktop usage.
Current status is probably best described as "skunkworks", although connecting to an account and sending / receiving text messages should work reliably. You can view specific progress on the issue board.
Build
Very basic instructions at present. First, deltachat-core
isn't packaged, so
you'll need to build and install it according to
these instructions.
Now, you'll need some other build dependencies:
sudo apt install build-essential libpurple-dev libglib2.0-dev
Finally, run make
to create a libdelta.so
file.
Use
The easiest way to use this is to copy the libdelta.so
file into
~/.purple/plugins
. When running pidgin, you'll now have the option to add
a "Delta Chat" account.
If it doesn't show up, chances are pidgin can't find the various shared
libraries the .so depends on. You can run ldd ~/.purple/plugins/libdelta.so
to confirm. I'll document fixing this after the build and install system is
settled.
At present, the "Username" and "Password" account fields correspond to email address and password, respectively. Many important settings also show up on the "Advanced" tab - if left blank, the plugin will attempt to automatically detect the correct values, but you may need to fill some of them in manually to get the connection to work.
Run pidgin with --debug
to see interesting output.