A personal build of the TUI matrix client including image-pasting and notifications for all rooms
config | ||
deb/DEBIAN | ||
debug | ||
interface | ||
lib | ||
matrix | ||
scripts | ||
ui | ||
.codeclimate.yml | ||
.editorconfig | ||
.gh-deployer.yaml | ||
.gitignore | ||
.travis.yml | ||
chat-preview.png | ||
go.mod | ||
go.sum | ||
gomuks.go | ||
LICENSE | ||
main.go | ||
README.md |
gomuks
A terminal Matrix client written in Go using mautrix and tview.
Basic usage is possible, but expect bugs and missing features.
Discussion
Matrix room: #gomuks:maunium.net
Installation
Once the client becomes actually usable, I'll start making GitHub releases with precompiled executables. For now, you can either download a CI build from dl.maunium.net/programs/gomuks or compile from source:
- Install Go 1.11 or higher
- Clone the repo:
git clone https://github.com/tulir/gomuks.git && cd gomuks
- Build:
go build
Simply pull changes (git pull
) and run go build
again to update.
Developing
For debugging, use tail -f /tmp/gomuks-debug.log
and write to it using the methods in the maunium.net/go/gomuks/debug
package:
import (
"maunium.net/go/gomuks/debug"
)
...
func Foo() {
debug.Print("WHY ISN'T IT WORKING?!?!?")
}
Usage
- switch rooms -
Ctrl + ↑
Ctrl + ↓
Alt + ↑
Alt + ↓
- scroll chat (line) -
↑
↓
- scroll chat (page) -
PgUp
PgDown
- jump to room -
Alt + Enter
, thenTab
andEnter
to navigate and select room
Commands
/help
- Is a known command/me <text>
- Send an emote/quit
- Close gomuks/clearcache
- Clear room state and close gomuks/leave
- Leave the current room/join <room>
- Join the room with the given room ID or alias/toggle <rooms/users/baremessages/images/typingnotif>
- Change user preferences/logout
- Log out, clear caches and go back to the login view/send <room id> <event type> <content>
- Send a custom event/setstate <room id> <event type> <state key/-> <content>
- Change room state