iamb/README.md

153 lines
7.5 KiB
Markdown
Raw Normal View History

2021-07-03 09:22:37 +03:00
# iamb
[![Build Status](https://github.com/ulyssa/iamb/actions/workflows/ci.yml/badge.svg)](https://github.com/ulyssa/iamb/actions?query=workflow%3ACI+)
[![License: Apache 2.0](https://img.shields.io/crates/l/iamb.svg?logo=apache)](https://crates.io/crates/iamb)
2023-03-11 05:08:42 +03:00
[![#iamb:0x.badd.cafe](https://img.shields.io/badge/matrix-%23iamb:0x.badd.cafe-blue)](https://matrix.to/#/#iamb:0x.badd.cafe)
[![Latest Version](https://img.shields.io/crates/v/iamb.svg?logo=rust)](https://crates.io/crates/iamb)
2024-03-03 00:48:46 +03:00
[![iamb](https://snapcraft.io/iamb/badge.svg)](https://snapcraft.io/iamb)
2021-07-03 09:22:37 +03:00
## About
`iamb` is a Matrix client for the terminal that uses Vim keybindings.
2021-07-03 09:22:37 +03:00
This project is a work-in-progress, and there's still a lot to be implemented,
but much of the basic client functionality is already present.
2021-07-03 09:22:37 +03:00
2023-03-06 00:28:08 +03:00
![Example Usage](https://iamb.chat/static/images/iamb-demo.gif)
2023-01-06 05:37:58 +03:00
## Documentation
You can find documentation for installing, configuring, and using iamb on its
website, [iamb.chat].
2021-07-03 09:22:37 +03:00
## Installation
2023-10-06 04:37:31 +03:00
Install Rust (1.67.0 or above) and Cargo, and then run:
2021-07-03 09:22:37 +03:00
```
cargo install --locked iamb
2021-07-03 09:22:37 +03:00
```
2023-03-09 13:26:30 +03:00
### NetBSD
On NetBSD a package is available from the official repositories. To install it simply run:
```
pkgin install iamb
```
### Arch Linux
2023-06-15 23:48:59 +03:00
On Arch Linux a [package](https://aur.archlinux.org/packages/iamb-git) is available in the
Arch User Repositories (AUR). To install it simply run with your favorite AUR helper:
```
paru iamb-git
```
### openSUSE Tumbleweed
On openSUSE Tumbleweed a [package](https://build.opensuse.org/package/show/home%3Asmolsheep/iamb) is available from openSUSE Build Service (OBS). To install just use OBS Package Installer:
```
opi iamb
```
2023-03-24 13:32:14 +03:00
### Nix / NixOS (flake)
```
nix profile install "github:ulyssa/iamb"
```
2024-03-03 00:48:46 +03:00
### Snap
A snap for Linux distributions which [support](https://snapcraft.io/docs/installing-snapd) the packaging system.
```
snap install iamb
```
## Configuration
You can create a basic configuration in `$CONFIG_DIR/iamb/config.json` that looks like:
```json
{
"profiles": {
"example.com": {
"user_id": "@user:example.com"
}
}
}
```
If you homeserver is located on a different domain than the server part of the
`user_id` and you don't have a [`/.well-known`][well_known_entry] entry, then
you can explicitly specify the homeserver URL to use:
```json
{
"profiles": {
"example.com": {
"url": "https://example.com",
"user_id": "@user:example.com"
}
}
}
```
2022-12-30 07:25:38 +03:00
## Comparison With Other Clients
To get an idea of what is and isn't yet implemented, here is a subset of the
Matrix website's [features comparison table][client-comparison-matrix], showing
two other TUI clients and Element Web:
2023-01-14 05:02:58 +03:00
| | iamb | [gomuks] | [weechat-matrix] | Element Web/Desktop |
| --------------------------------------- | :---------- | :------: | :--------------: | :-----------------: |
| Room directory | ❌ ([#14]) | ❌ | ✔️ | ✔️ |
2023-01-29 01:24:08 +03:00
| Room tag showing | ✔️ | ✔️ | ❌ | ✔️ |
| Room tag editing | ✔️ | ✔️ | ❌ | ✔️ |
2023-01-14 05:02:58 +03:00
| Search joined rooms | ❌ ([#16]) | ✔️ | ❌ | ✔️ |
| Room user list | ✔️ | ✔️ | ✔️ | ✔️ |
| Display Room Description | ✔️ | ✔️ | ✔️ | ✔️ |
| Edit Room Description | ✔️ | ❌ | ✔️ | ✔️ |
| Highlights | ❌ ([#8]) | ✔️ | ✔️ | ✔️ |
| Pushrules | ❌ | ✔️ | ❌ | ✔️ |
2023-01-29 01:24:08 +03:00
| Send read markers | ✔️ | ✔️ | ✔️ | ✔️ |
| Display read markers | ✔️ | ❌ | ❌ | ✔️ |
2023-01-14 05:02:58 +03:00
| Sending Invites | ✔️ | ✔️ | ✔️ | ✔️ |
| Accepting Invites | ✔️ | ✔️ | ✔️ | ✔️ |
| Typing Notification | ✔️ | ✔️ | ✔️ | ✔️ |
| E2E | ✔️ | ✔️ | ✔️ | ✔️ |
| Replies | ✔️ | ✔️ | ❌ | ✔️ |
| Attachment uploading | ✔️ | ❌ | ✔️ | ✔️ |
| Attachment downloading | ✔️ | ✔️ | ✔️ | ✔️ |
| Send stickers | ❌ | ❌ | ❌ | ✔️ |
| Send formatted messages (markdown) | ✔️ | ✔️ | ✔️ | ✔️ |
2023-01-14 05:02:58 +03:00
| Rich Text Editor for formatted messages | ❌ | ❌ | ❌ | ✔️ |
| Display formatted messages | ✔️ | ✔️ | ✔️ | ✔️ |
2023-01-14 05:02:58 +03:00
| Redacting | ✔️ | ✔️ | ✔️ | ✔️ |
| Multiple Matrix Accounts | ✔️ | ❌ | ✔️ | ❌ |
| New user registration | ❌ | ❌ | ❌ | ✔️ |
| VOIP | ❌ | ❌ | ❌ | ✔️ |
2023-02-10 10:22:19 +03:00
| Reactions | ✔️ | ✔️ | ❌ | ✔️ |
2023-01-20 03:05:02 +03:00
| Message editing | ✔️ | ✔️ | ❌ | ✔️ |
2023-03-06 00:28:08 +03:00
| Room upgrades | ❌ ([#41]) | ✔️ | ❌ | ✔️ |
2023-01-14 05:02:58 +03:00
| Localisations | ❌ | 1 | ❌ | 44 |
| SSO Support | ✔️ | ✔️ | ✔️ | ✔️ |
| Image preview | ✔️ | ❌ | ❌ | ✔️ |
2022-12-30 07:25:38 +03:00
2021-07-03 09:22:37 +03:00
## License
iamb is released under the [Apache License, Version 2.0].
[Apache License, Version 2.0]: https://github.com/ulyssa/iamb/blob/master/LICENSE
2022-12-30 07:25:38 +03:00
[client-comparison-matrix]: https://matrix.org/clients-matrix/
2023-01-06 05:37:58 +03:00
[iamb.chat]: https://iamb.chat
2022-12-30 07:25:38 +03:00
[gomuks]: https://github.com/tulir/gomuks
[weechat-matrix]: https://github.com/poljar/weechat-matrix
[well_known_entry]: https://spec.matrix.org/latest/client-server-api/#getwell-knownmatrixclient
2022-12-30 07:25:38 +03:00
[#8]: https://github.com/ulyssa/iamb/issues/8
[#14]: https://github.com/ulyssa/iamb/issues/14
[#16]: https://github.com/ulyssa/iamb/issues/16
2023-03-06 00:28:08 +03:00
[#41]: https://github.com/ulyssa/iamb/issues/41