diff options
author | Tulir Asokan <tulir@maunium.net> | 2020-02-25 20:46:24 +0200 |
---|---|---|
committer | Tulir Asokan <tulir@maunium.net> | 2020-02-25 20:46:24 +0200 |
commit | 699d0ea4e0f5a2d48a5e41c647cbbfa793983b48 (patch) | |
tree | 814df8ffce62bbb8f26b0f71a38a4a7eb925324f /README.md | |
parent | a79de7ba76757931559af9a6639255a03eddbf18 (diff) |
Update readme and /help
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 66 |
1 files changed, 51 insertions, 15 deletions
@@ -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`. |