Files
telepathy-padfoot/README.md
2020-05-09 01:48:14 +01:00

42 lines
1.3 KiB
Markdown

# 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`.