# Telepathy for Delta Chat ## Who Authored by [Nick Thomas](https://ur.gs) under the [MIT License](LICENSE). ## What [Delta Chat](https://delta.chat) is IM over email. [Telepathy](https://telepathy.freedesktop.org) is a framework for abstracting over multiple IM protocols. This project glues the two together, allowing Telepathy clients to send/receive Delta messages. Telepathy CMs should have a name that is not the same as their protocol; so this CM is hereby named "padfoot". ## Why Mobile IM, mostly. Desktop IM, also. It's ideal for my pinephone, and lighter than the electron desktop client. ## How This project is written in Rust, just like the main Delta library, so you'll need a rust compiler to build it. It makes use of the `dbus-codegen-rust` crate to convert the [telepathy interface specs](https://github.com/TelepathyIM/telepathy-spec) into the executable code in `src/telepathy`. This is checked in, but can be regenerated like so: ```bash $ git submodule init telepathy-spec $ git submodule update telepathy-spec $ cargo install dbus-codegen-rust $ ./scripts/dbus-codegen ``` `dbus-codegen-rust` doesn't seem to handle namespaced attributes properly, so we modify the XML files in `telepathy-spec`... with `sed`. The `tp:type` attribute is renamed to `tp:typehint`.