Jaron Swab 3ebfb87da2 Scale image message based on the user's text area.
Using the "image" package from the standard library the images loaded by
gomuks now scale to one third the size of the text area. The image data
contains both hight and width while the scaling uses only width the
option to scale by hight is possible if passed into `CalculateBuffer()`.
`ansimage.NewScaledFromReader()` now takes the new variable based off
the size of the buffers' width.

This may resolve issue #92
2019-06-15 11:01:05 -04:00
2019-04-10 02:47:47 +03:00
2019-05-12 17:34:47 +03:00
2019-01-12 00:35:42 +02:00
2018-04-19 11:33:59 +03:00
2018-03-20 23:49:37 +02:00
2019-01-12 00:35:42 +02:00
2018-05-15 19:59:17 +03:00
2019-04-10 02:19:27 +03:00
2018-05-24 10:34:31 +03:00
2019-05-12 17:34:47 +03:00
2019-05-12 17:34:47 +03:00
2019-04-06 10:57:24 +03:00
2019-01-23 00:26:51 +02:00
2019-04-27 15:44:11 +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

Set DEBUG=1 to enable partial deadlock detection and to write panics to stdout instead of a file.

To build and run with race detection, use go install -race and set GORACE='history_size=7 log_path=/tmp/gomuks/race.log' when starting gomuks, then check /tmp/gomuks/race.log.<pid>. Note that race detection will use a lot of extra resources.

For debugging, use tail -f /tmp/gomuks/debug.log and write to it using the methods in the maunium.net/go/gomuks/debug package:

package foo

import (
	"maunium.net/go/gomuks/debug"
)

func Foo() {
	debug.Print("WHY ISN'T IT WORKING?!?!?")
	debug.PrintStack()
}

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 - View command list
  • /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
  • /msend <event type> <content> - Send a custom event to the current room
  • /msetstate <event type> <state key/-> <content> - Change room state in the current room
Description
A personal build of the TUI matrix client including image-pasting and notifications for all rooms
Readme 5.1 MiB
Languages
Go 100%