A terminal based Matrix client written in Go.
Switch branches/tags
Nothing to show
Clone or download
Latest commit 2fc3378 Nov 14, 2018

README.md

gomuks

Languages License Release Build Status Maintainability Coverage

Chat Preview

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:

  1. Install Go 1.10 or higher
  2. Run go get -u maunium.net/go/gomuks
  3. gomuks should now be in $GOPATH/bin/gomuks

Developing

Running go install in $GOPATH/src/maunium.net/go/gomuks will recompile the project and dependencies into $GOPATH/bin/gomuks.

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, then Tab and Enter 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