mirror of
https://github.com/youwen5/iamb.git
synced 2025-06-19 21:29:52 -07:00
A Matrix client for Vim addicts (personal fork with some random tweaks)
https://iamb.chat
![]() Fix files never downloading (unless it has been downloaded in the past and using `!` force flag). The logic should be: * If file does not exist, or `!` force flag used, then download it * Else if neither `!` or `:open` flag used, then error out and then return downloaded-message or open-and-message. I.e. `:open` should still open the file if it has already been downloaded. Otherwise the only way to open it is to use `!` and re-download it. |
||
---|---|---|
.github/workflows | ||
src | ||
.gitattributes | ||
.gitignore | ||
.rustfmt.toml | ||
Cargo.lock | ||
Cargo.toml | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md |
iamb
About
iamb
is a Matrix client for the terminal that uses Vim keybindings.
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.
Documentation
You can find documentation for installing, configuring, and using iamb on its website, iamb.chat.
Installation
Install Rust and Cargo, and then run:
cargo install --locked iamb
Configuration
You can create a basic configuration in $CONFIG_DIR/iamb/config.json
that looks like:
{
"profiles": {
"example.com": {
"url": "https://example.com",
"user_id": "@user:example.com"
}
}
}
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, showing two other TUI clients and Element Web:
iamb | gomuks | weechat-matrix | Element Web/Desktop | |
---|---|---|---|---|
Room directory | ❌ (#14) | ❌ | ✔️ | ✔️ |
Room tag showing | ✔️ | ✔️ | ❌ | ✔️ |
Room tag editing | ✔️ | ✔️ | ❌ | ✔️ |
Search joined rooms | ❌ (#16) | ✔️ | ❌ | ✔️ |
Room user list | ✔️ | ✔️ | ✔️ | ✔️ |
Display Room Description | ✔️ | ✔️ | ✔️ | ✔️ |
Edit Room Description | ✔️ | ❌ | ✔️ | ✔️ |
Highlights | ❌ (#8) | ✔️ | ✔️ | ✔️ |
Pushrules | ❌ | ✔️ | ❌ | ✔️ |
Send read markers | ✔️ | ✔️ | ✔️ | ✔️ |
Display read markers | ✔️ | ❌ | ❌ | ✔️ |
Sending Invites | ✔️ | ✔️ | ✔️ | ✔️ |
Accepting Invites | ✔️ | ✔️ | ✔️ | ✔️ |
Typing Notification | ✔️ | ✔️ | ✔️ | ✔️ |
E2E | ✔️ | ✔️ | ✔️ | ✔️ |
Replies | ✔️ | ✔️ | ❌ | ✔️ |
Attachment uploading | ✔️ | ❌ | ✔️ | ✔️ |
Attachment downloading | ✔️ | ✔️ | ✔️ | ✔️ |
Send stickers | ❌ | ❌ | ❌ | ✔️ |
Send formatted messages (markdown) | ✔️ | ✔️ | ✔️ | ✔️ |
Rich Text Editor for formatted messages | ❌ | ❌ | ❌ | ✔️ |
Display formatted messages | ✔️ | ✔️ | ✔️ | ✔️ |
Redacting | ✔️ | ✔️ | ✔️ | ✔️ |
Multiple Matrix Accounts | ✔️ | ❌ | ✔️ | ❌ |
New user registration | ❌ | ❌ | ❌ | ✔️ |
VOIP | ❌ | ❌ | ❌ | ✔️ |
Reactions | ❌ (#2) | ✔️ | ❌ | ✔️ |
Message editing | ✔️ | ✔️ | ❌ | ✔️ |
Room upgrades | ❌ | ✔️ | ❌ | ✔️ |
Localisations | ❌ | 1 | ❌ | 44 |
SSO Support | ❌ | ✔️ | ✔️ | ✔️ |
License
iamb is released under the Apache License, Version 2.0.