A very opinionated Matrix TUI. Text entry is done externally, as is opening of all attachements. The UI is kept as simple as possible and there's no mouse support (yet, at least).
Anyone who wants a very simple terminal Matrix client, but runs another client somewhere else for the missing features. There are some very basic actions that aren't supported at the moment, like joining rooms and moderation. Also, many events are still not suported, like threads (which are still shown, but not formatted very well). Also, this project is very early, so you need to be tolerant of some bugs.
You can download the latest release, unpack it, and move matui
to /usr/bin
(or anywhere else you like).
Matui is packaged for the AUR: paru -S matui
.
Modal UIs can be a bit overwhelming, but thankfully chat isn't terribly complicated. Especially if you don't implement too many features.
Key | Description |
---|---|
Space | Show the room switcher. |
j* | Select one line down. |
k* | Select one line up. |
i | Create a new message using the external editor. |
Enter | Open the selected message (images, videos, urls, etc). |
c | Edit the selected message in the external editor. |
r | React to the selected message. |
R | Reply to the selected message. |
v | View the selected message in the external editor. |
V | View the current room in the external editor. |
u | Upload a file. |
Key | Description |
---|---|
j* | Select one room down. |
k* | Select one room up. |
i | Search for a room. |
esc | Leave search mode, or close the popup. |
* arrow keys are fine too
The only requirement is an editor, and the $EDITOR environmental variable should be set. Vim is highly recommended, as Matui is optimized for it. When using Vim, the editor is started in insert mode for new messages and Enter sends them.
You will probably want to view attachements and should make sure xdg-open works with all the files you care about. I recommend mpv and imv at a minimum.
KDialog and/or Zenity is required to show the file picker.
# All the reactions that will show up in the picker.
reactions = [ "❤️", "👍", "👎", "😂", "‼️", "❓️"]
# Muted rooms.
muted = ["!hMPITSQBLFEleSJeVe:matrix.org"]
The config file is hot reloaded and can generally be found at ~/.config/matui/config.toml.
There's nothing explicitly preventing this, but it's untested and Linux is currently assumed.
There's a much more mature Matrix TUI here: