34 lines
1.0 KiB
Markdown
34 lines
1.0 KiB
Markdown
|
# Telepathy for Delta Chat
|
||
|
|
||
|
## 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, making the Deltachat
|
||
|
|
||
|
## 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`.
|