A personal build of the TUI matrix client including image-pasting and notifications for all rooms
Go to file
2019-04-27 15:44:01 +03:00
config Fix tests 2019-04-10 02:47:47 +03:00
deb/DEBIAN Add debian packaging and some build scripts 2018-05-03 10:03:25 +03:00
debug DOn't print debug init to log file when not logging to file 2019-04-27 15:44:01 +03:00
interface Use already parsed events for replies if possible 2019-04-10 21:06:19 +03:00
lib Maybe fix windows 2019-03-28 23:35:50 +02:00
matrix Add partial deadlock detection in debug mode 2019-04-27 15:02:52 +03:00
scripts Update CI script and tcell 2019-01-12 00:35:42 +02:00
ui Fix potential deadlock in room switching 2019-04-27 15:11:38 +03:00
.codeclimate.yml Add .codeclimate.yml 2018-04-19 11:33:59 +03:00
.editorconfig Update README and other files 2018-03-20 23:49:37 +02:00
.gh-deployer.yaml Update CI script and tcell 2019-01-12 00:35:42 +02:00
.gitignore Add .tmp to .gitignore 2018-05-15 19:59:17 +03:00
.travis.yml Fix Travis CI Go version 2019-04-10 02:19:27 +03:00
chat-preview.png Update preview image 2018-05-24 10:34:31 +03:00
go.mod Add partial deadlock detection in debug mode 2019-04-27 15:02:52 +03:00
go.sum Add partial deadlock detection in debug mode 2019-04-27 15:02:52 +03:00
gomuks.go Use XDG config and cache home 2019-04-06 10:57:24 +03:00
LICENSE Update license and sort imports 2019-01-23 00:26:51 +02:00
main.go Add partial deadlock detection in debug mode 2019-04-27 15:02:52 +03:00
README.md Add locks and other sync stuff 2019-04-27 15:02:21 +03:00

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.12 or higher
  2. Clone the repo: git clone https://github.com/tulir/gomuks.git && cd gomuks
  3. 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, 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