nheko − Desktop client for Matrix using Qt and C++17
nheko [OPTIONS]
The motivation behind the project is to provide a native desktop app for Matrix that feels more like a mainstream chat app (Element, Telegram etc) and less like an IRC client.
−h, −−help
Displays help on commandline options.
−−help−all
Displays help including Qt specific options.
−v, −−version
Displays version information.
−−debug
Enables debug output.
−p <profile>, −−profile <profile>
Creates a unique profile, which allows you to log into several accounts at the same time and start multiple instances of nheko. Use default to start with the default profile.
How do I add
stickers and custom emojis?
Stickers and custom emojis are organized in image packs.
There is one user image pack that only your account has
access to and there are room image packs that are accessible
by everyone in the room they are defined in. You can
activate a room image pack globally to use it in any
room.
To manage image packs in nheko, go to the room settings and enter the Sticker & Emote Settings. You will see the Private pack (your user image pack) and can edit it there. The Shortcode is a unique identifier you use to select the image with and the Body is the alternate text that is displayed on clients that don’t support images (like the alt tag in HTML images).
If you have the necessary permissions you can create new room packs with the button at the bottom of the image pack list. They are the same as the user pack but you can create as many as you want and everyone in the room can use them. It might be a good idea to create an extra room just for your image packs to make sharing easier.
Completers spawn a popup with completion candidates when you type them in the input line.
@
Open username completer.
#
Open room completer.
:
Open unicode emoji picker.
~
Open custom emoji picker. Requires an image pack with custom emojis. Selecting an emoji will add HTML code for the inline image into the input line.
Room list
Ctrl−Up/Ctrl−Down
Navigate within the room list.
Ctrl−W
Close the currently open room.
Ctrl−K
Search and select rooms from the room list.
Alt−A, Ctrl−Shift−A
Select next room with activity.
Timeline/Messaging
PgUp/PgDn
Scroll timeline per page.
Alt−Up/Alt−Down
Reply to a message.
Up/Down
Edit a message.
Ctrl−E
Edit message currently selected as reply.
Alt−F
Forward message currently selected as reply.
Ctrl−P/Ctrl−N
Reenter previous/next message.
Ctrl−U
Delete everything in the input line.
Ctrl−Left/Ctrl−Right
Jump one word left/right in the input line.
Shift−Enter
Insert line break.
Enter
Submit message.
Commands only work when they are used at the beginning of text.
Custom
messages
/me <message>
Send a message as an emote, where your username is prefixed.
/react <text>
Send a message as a reaction when youâre replying to a message.
/md <message>
Force Markdown when sending the current message.
/plain <message>
Force plain text when sending the current message.
/rainbow <message>
Send a message in rainbow colors.
/rainbowme <message>
Send a message as a rainbow−colored emote, where your username is prefixed.
/notice <message>
Send a message as a notice.
/rainbownotice <notice>
Send a message as a rainbow−colored notice.
Room
management
/join <roomname> [reason]
Join a room. reason is optional.
/knock <roomname> [reason]
Ask to join a room. reason is optional.
/part, /leave [reason]
Leave the current room. reason is optional.
/invite <username> [reason]
Invite a user into the current room. reason is optional.
/kick <username> [reason]
Kick a user from the current room. reason is optional.
/ban <username> [reason]
Ban a user from the current room. reason is optional.
/unban <username> [reason]
Unban a user. reason is optional.
/redact <username> [reason]
Redacts all visible messages of the specified user. You will run into rate limits quickly.
/redact <eventid> [reason]
Redacts a specific event.
/roomnick <roomname>
Change your nickname in a single room.
Emoticons
/shrug [message]
Inserts ¯_(ã)_/¯ followed by an optional message.
/fliptable
Inserts (â¯Â°â¡Â°)â¯ï¸µ â»ââ»
/unfliptable
Inserts â¯ââ¯â( º _ ºâ)
/sovietflip
Inserts ãâ¬ââ¬ã ︵ ( \\o°o)\\
Advanced
/clear−timeline
Removes all but the most recent messages from the currently rendered timeline and then refetches it from the server; can be used to fix some cache issues.
/reset−state
Fetches all the state events in the current room again; can be used to fix some cache issues.
/rotate−megolm−session
Rotates the encryption key used to send encrypted messages in a room.
/goto <address>
address can be one of:
<event ID>
Jumps to event with the specified ID and highlights it.
<message index>
Jumps to the message with the specified index and highlights it.
<Matrix URI>
Handles Matrix URI as if you clicked on it.
/converttodm
Converts a room to a direct conversation.
/converttoroom
Converts a direct conversation to a normal room.
Configuration file
${XDG_CONFIG_HOME:−~/.config}/nheko/nheko.conf
Log file
${XDG_CACHE_HOME:−~/.cache}/nheko/nheko/nheko.log
Database
${XDG_DATA_HOME:−~/.local/share}/nheko/nheko/*/data.mdb
Media cache
${XDG_CACHE_HOME:−~/.cache}/nheko/nheko/media_cache
Please report
issues on our bug tracker at
<https://github.com/Nheko−Reborn/nheko/issues>.