~parasrah/mtrx

A modal matrix client

619b12c git: add .mailmap

~parasrah pushed to ~parasrah/mtrx git

2 years ago

f090fa5 matrix: populate rooms on launch

~parasrah pushed to ~parasrah/mtrx git

2 years ago

builds.sr.ht status

#mtrx

A chat client for matrix, implemented as a TUI (Terminal User Interface). It is a modal chat client, inspired by kakoune and vim.

a screenshot of mtrx in action

#current state

WIP

basic functionality is currently missing, and it is definitely not ready to be used. Features that absolutely need to be implemented before it can move on from this state:

#modes

There are a few different "modes" you can be in once the chat client is open

#insert mode

This is the mode you're probably most familiar with. Typing a character inserts a character into whatever input you have focused. This is the only mode that most graphical applications have.

#special keys
  • <c-b>: go back one character
  • <c-f>: go forward one character
  • <esc>: enter normal mode

#normal mode

Pressing <esc> while in any other mode will bring you to normal mode. While in normal mode, certain keybindings will allow you to navigate around the client, while the rest will do nothing.

  • q: quit the client
  • J: move focus down (remember j looks kind of like a down arrow)
  • K: move focus up
  • L: move focus right
  • H: move focus left
  • i: enter insert mode
  • :: enter command mode

In the future, this mode will also allow you to move around inside an input.

#command mode

Pressing : while in normal mode will switch the client to command mode. You will see a : appear at the bottom left side of your client. Command mode is similar to insert mode, but when you press <ret> (enter), it will "submit" the command you have written.

#commands
  • login <user_id> <password>: login to your matrix account
  • quit: quit the client

#Contributing

I don't have much information about how to contribute yet, but if you're interesting in helping out add a comment on this ticket, or if you know how to send plaintext emails send a public email to the mailing list.