/matrix-client-rs

TUI Matrix client in Rust.

Primary LanguageRustGNU Affero General Public License v3.0AGPL-3.0

TUI Matrix client in Rust.

Features

  • tmux windows for rooms.
  • Read-only.
  • No E2EE support. Use something like pantalaimon.

Dependencies

  • tmux - The TUI framework.
  • /etc/machine-id - Used to derive the device ID when logging in.

Usage

  1. Build:

    cargo build --release
  2. Run:

    ./target/release/matrix-client <user_id>

    Example:

    ./target/release/matrix-client '@arnavion:arnavion.dev'

    If you want to use a proxy like pantalaimon instead of connecting directly to the homeserver, set the MATRIX_HOMESERVER_BASE_URL env var.

    Example:

    MATRIX_HOMESERVER_BASE_URL='http://[::1]:8009' ./target/release/matrix-client '@arnavion:arnavion.dev'

TODO

  • Send events.
  • Mark events as read on homeserver.
  • Update events for redactions and replace.
  • Custom mouse events to support scrolling into prev batch.

License

AGPL-3.0-only

matrix-client-rs

https://github.com/Arnavion/matrix-client-rs

Copyright 2021 Arnav Singh

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, version 3 of the
License.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <https://www.gnu.org/licenses/>.