https://github.com/yusdacra/icy_matrix
`icy_matrix` is a Matrix client focusing on being lightweight with a good OOTB experience. This is a mirror repository.
https://github.com/yusdacra/icy_matrix
chat chat-application matrix matrix-client rust
Last synced: 7 days ago
JSON representation
`icy_matrix` is a Matrix client focusing on being lightweight with a good OOTB experience. This is a mirror repository.
- Host: GitHub
- URL: https://github.com/yusdacra/icy_matrix
- Owner: yusdacra
- License: gpl-3.0
- Created: 2020-11-08T19:09:43.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-01-10T20:09:24.000Z (over 4 years ago)
- Last Synced: 2025-05-16T03:39:43.090Z (about 1 month ago)
- Topics: chat, chat-application, matrix, matrix-client, rust
- Language: Rust
- Homepage: https://gitlab.com/yusdacra/icy_matrix
- Size: 1.21 MB
- Stars: 4
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
`icy_matrix` is a Matrix client written in Rust using the `iced` GUI library. It uses `ruma` and `ruma-client` to interact with the Matrix network.
It aims to be lightweight with a good out-of-the-box experience. Currently WIP

## Current features
- Plain-text message and file sending
- Receiving messages and media, can show thumbnails (does not support location messages)
- Show state changes (kicks / bans, room title changes etc.)
- Change rooms (the ones you joined to)
- Room search (powered by [`fuzzy-matcher`](https://lib.rs/crates/fuzzy-matcher) using the `SkimMatcherV2` implementation)
- Remembers login## Requirements
- Current stable Rust and Cargo.
- Make sure you have a working Vulkan setup.
- gcc, python3, pkg-config, cmake; openssl, x11, xcb, freetype, fontconfig, expat, glib, gtk3, cairo, pango, atk, gdk_pixbuf libraries and development files.
- Above list may be incomplete, please find out what you need by looking at compiler errors.### Nix
- `nix develop` to get a dev shell. (or `nix-shell nix/shell.nix` if you don't have flakes enabled)## Building
- Clone the repo, and switch the working directory to it: `git clone https://gitlab.com/yusdacra/icy_matrix.git && cd icy_matrix`
- To build and run the project with debug info / checks use `cargo run`. Use `cargo run --release` for an optimized release build.### Nix
- `nix build .#icy_matrix-debug` to compile a debug build.
- `nix build .#icy_matrix` to compile a release build.
- If you don't have flakes enabled, `nix-build` will give you a debug build.## Installing
### Nix
- For flakes: `nix profile install gitlab:yusdacra/icy_matrix#icy_matrix`## Planned features (not ordered)
- Multiline message composer
- Play audio / video and show images in app
- HTML tag rendering of messages (need widget for iced)
- Embedding URLs (pictures / video thumbnails)
- Read markers
- Settings screen
- User list for rooms
- User presence
- Showing invites, leaving rooms
- Public room explorer
- Room settings
- Moderator actions (kick, ban, delete message etc.)
- Encryption (via [pantalaimon](https://github.com/matrix-org/pantalaimon)?)
- Animations for better UX (whenever iced supports this)
- Custom emotes (depends on HTML rendering of messages)## Not planned features
- Video / audio calls