./build.py
(requires Java ≥ 11)- make
accounts/profile.json
with:{ "accounts": [ { "type": "matrix", "server": "https://matrix.org", // or your homeserver "userid": "@example:matrix.org", "password": "yourPassword" // or "token": "tokenToUse" } // you can add more accounts here ], "global": {"theme": "dark"} // or "light" }
./run
(alternatively,./run path/to/alternateProfile.json
)
key | action |
---|---|
up | edit previous message |
down | edit next message (or stop editing if at last) |
alt+up | reply to message above current |
alt+down | reply to message below current |
alt+click | reply to currently hovered over message |
esc | cancel reply/edit/message |
ctrl+alt+shift+del | delete message currently selected for editing |
ctrl+up | go to room above |
ctrl+down | go to room below |
ctrl+plus | increase UI scale |
ctrl+minus | decrease UI scale |
ctrl+shift+v | paste clipboard as code block |
Most of those (along with some other things) are configurable.
res/chat.dzcfg
contains the defaults, and while it can be directly modified, it is preferred to make a file local.dzcfg
in the root folder of the project and copy the necessary fields in.
You can reload the config with f5 (some things may not update (instead requiring a restart), but most things reload live fine).
by default, messages are interpreted as a markdown-ish thing. This default can be changed in res/chat.dzcfg `markdown = true`
/md forced *markdown*
/text forced plain text (also "/plain ..." works)
/me does something
/html <p>manually enter HTML</p>
/goto https://matrix.to/#/!foo:matrix.org/$bar // same behavior as clicking a link containing that URL
/sort // if there were federation issues and messages are shown in non-chronological order, this command will (visually, locally, temporarily) sort them.
/theme light, /theme dark // change theme
File uploading mostly works; the client can display images & gifs inline, but videos will open externally.
Right click on many things (rooms, messages, links, images, user @s, code blocks) gives more options.
_italics_
*bold*
\*text surrounded by asterisks\*
[link text](https://example.org)
---strikethrough--- (alternatively, ~~strikethrough~~)
||spoiler||
`code block`
`backticks: \` inside code block`
`` alternatively: ` in doubled backticks ``
``` that continues for any number of backticks ```
select some text and press "`" to automatically escape things as needed
```java
public static void main(String[] args) {
System.out.println("codeblock with language");
}
```