A personal build of the TUI matrix client including image-pasting and notifications for all rooms
Go to file
2019-04-09 00:59:56 +03:00
config Use XDG config and cache home 2019-04-06 10:57:24 +03:00
deb/DEBIAN Add debian packaging and some build scripts 2018-05-03 10:03:25 +03:00
debug Even more changes 2019-03-28 23:28:27 +02:00
interface Move history storage to matrix package. Fixes #90 2019-04-05 23:44:17 +03:00
lib Maybe fix windows 2019-03-28 23:35:50 +02:00
matrix Fix syncing preferences from account data 2019-04-07 23:21:48 +03:00
scripts Update CI script and tcell 2019-01-12 00:35:42 +02:00
ui Fix non-syntax-highlighted code block newline rendering 2019-04-09 00:59:56 +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 Set GO111MODULE=on in CI 2019-01-22 21:34:51 +02:00
chat-preview.png Update preview image 2018-05-24 10:34:31 +03:00
go.mod Add syntax highlighting. Fixes #28 2019-04-07 20:13:23 +03:00
go.sum Add syntax highlighting. Fixes #28 2019-04-07 20:13:23 +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 Use XDG config and cache home 2019-04-06 10:57:24 +03:00
README.md Update compile instructions 2019-02-04 19:13:24 +02: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.11 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