aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorTulir Asokan <tulir@maunium.net>2020-02-25 20:46:24 +0200
committerTulir Asokan <tulir@maunium.net>2020-02-25 20:46:24 +0200
commit699d0ea4e0f5a2d48a5e41c647cbbfa793983b48 (patch)
tree814df8ffce62bbb8f26b0f71a38a4a7eb925324f /README.md
parenta79de7ba76757931559af9a6639255a03eddbf18 (diff)
Update readme and /help
Diffstat (limited to 'README.md')
-rw-r--r--README.md66
1 files changed, 51 insertions, 15 deletions
diff --git a/README.md b/README.md
index 0163523..d1ae854 100644
--- a/README.md
+++ b/README.md
@@ -25,6 +25,9 @@ precompiled executables. For now, you can either download a CI build from
Simply pull changes (`git pull`) and run `go build` again to update.
+## Debugging
+If something doesn't work but it doesn't crash, check the `/tmp/gomuks/debug.log` file for any errors.
+
## Developing
Set `DEBUG=1` to enable partial deadlock detection and to write panics to stdout instead of a file.
@@ -33,8 +36,9 @@ use `go install -race` and set `GORACE='history_size=7 log_path=/tmp/gomuks/race
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:
+Proper debuggers are too fancy, but normal prints won't work in a TUI application. To write to the
+debug log mentioned previously, use the `maunium.net/go/gomuks/debug` package:
+
```go
package foo
@@ -55,16 +59,48 @@ func Foo() {
- 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
-* `/create <room name>` - Create a new Matrix 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
+#### General
+* `/help` - View command list.
+* `/quit` - Close gomuks.
+* `/clearcache` - Clear room state and close gomuks.
+* `/logout` - Log out, clear caches and go back to the login view.
+* `/toggle <rooms/users/baremessages/images/typingnotif>` - Change user preferences.
+
+#### Sending special messages
+* `/me <text>` - Send an emote.
+* `/notice <text>` - Send a notice (generally used for bot messages).
+* `/rainbow <text>` - Send rainbow text (markdown not supported).
+* `/rainbowme <text>` - Send rainbow text in an emote.
+
+#### Rooms
+##### Creating
+* `/pm <user id> [...]` - Start a private chat with the given user(s).
+* `/create [room name]` - Create a new room.
+##### Joining
+* `/join <room> [server]` - Join the room with the given room ID or alias, optionally through the given server.
+* `/accept` (in a room you're invited to) - Accept the invite.
+* `/reject` (in a room you're invited to) - Reject the invite.
+##### Existing
+* `/invite <user id>` - Invite the given user ID to the room.
+* `/roomnick <name>` - Change your per-room displayname.
+* `/tag <tag> <priority>` - Add the room to `<tag>`. `<tag>` should start with `u.` and `<priority>`
+ should be a float between 0 and 1. Rooms are sorted in ascending priority order.
+* `/untag <tag>` - Remove the room from `<tag>`.
+* `/tags` - List the tags the room is in.
+##### Leaving
+* `/leave` - Leave the current room.
+* `/kick <user id> [reason]` - Kick a user.
+* `/ban <user id> [reason]` - Ban a user.
+* `/unban <user id>` - Unban a user.
+
+#### Raw events
+* `/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.
+* `/id` - Get the current room ID.
+
+#### Debugging
+* `/hprof` - Create a heap profile and write it to `gomuks.heap.prof` in the current directory.
+* `/pprof <seconds>` - Profile the CPU usage for the given number of seconds and write it to `gomuks.cpu.prof`.
+* `/trace <seconds>` - Trace calls for the given number of seconds and write traces to `gomuks.trace`.