Giter Site home page Giter Site logo

iamb's Introduction

iamb

Build Status License: Apache 2.0 #iamb:0x.badd.cafe Latest Version 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.

Example Usage

Documentation

You can find documentation for installing, configuring, and using iamb on its website, iamb.chat.

Installation

Install Rust (1.70.0 or above) and Cargo, and then run:

cargo install --locked iamb

NetBSD

On NetBSD a package is available from the official repositories. To install it simply run:

pkgin install iamb

Arch Linux

On Arch Linux a package 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 is available from openSUSE Build Service (OBS). To install just use OBS Package Installer:

opi iamb

Nix / NixOS (flake)

nix profile install "github:ulyssa/iamb"

Snap

A snap for Linux distributions which support the packaging system.

snap install iamb

Configuration

You can create a basic configuration in $CONFIG_DIR/iamb/config.json that looks like:

{
    "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 entry, then you can explicitly specify the homeserver URL to use:

{
    "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 ✔️ ✔️ ✔️
Message editing ✔️ ✔️ ✔️
Room upgrades ❌ (#41) ✔️ ✔️
Localisations 1 44
SSO Support ✔️ ✔️ ✔️ ✔️
Image preview ✔️ ✔️

License

iamb is released under the Apache License, Version 2.0.

iamb's People

Contributors

0323pin avatar aadityadhruv avatar alin742 avatar avdb13 avatar balejk avatar benjajaja avatar benjamin-l avatar capgelka avatar chlohal avatar errornointernet avatar formindver avatar jahway603 avatar jasalltime avatar jokeyrhyme avatar mpldr avatar octvs avatar paulcarroty avatar popey avatar rerum02 avatar satoqz avatar sempruijs avatar u20n avatar ulyssa avatar vodrazka avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.