A Matrix client for Vim addicts (personal fork with some random tweaks) https://iamb.chat
Find a file
Benjamin Große 8eef8787cc
fix: attachment download flags + exists check (#34)
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.
2023-02-09 22:31:01 -08:00
.github/workflows Update CI workflow to reduce warnings (#32) 2023-01-30 13:24:35 -08:00
src fix: attachment download flags + exists check (#34) 2023-02-09 22:31:01 -08:00
.gitattributes Want a Matrix client that uses Vim keybindings (#1) 2022-12-29 18:00:59 -08:00
.gitignore Want a Matrix client that uses Vim keybindings (#1) 2022-12-29 18:00:59 -08:00
.rustfmt.toml Want a Matrix client that uses Vim keybindings (#1) 2022-12-29 18:00:59 -08:00
Cargo.lock Support sending and displaying message reactions (#2) 2023-02-09 17:53:33 -08:00
Cargo.toml Support sending and displaying message reactions (#2) 2023-02-09 17:53:33 -08:00
CONTRIBUTING.md Support sending and displaying typing notifications (#9) 2023-01-03 13:57:28 -08:00
LICENSE Initial commit 2021-07-02 23:22:37 -07:00
README.md Release v0.0.4 (#26) 2023-01-28 14:24:08 -08:00

iamb

Build Status License: Apache 2.0 Latest Version

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.