Skip to content

Latest commit

 

History

History
218 lines (191 loc) · 9.1 KB

File metadata and controls

218 lines (191 loc) · 9.1 KB

Keybindings

* - Rebound keybinding on some OS, see OS specific keybindings

tree

  • Ctrl+Up/Down * - Navigating channel tree
  • Ctrl+Space * - Expand selected categories and servers or enter selected channel
  • Alt+H - Un/collapse channel with threads in tree
  • Alt+J - Join/leave selected thread in tree
  • Alt+I - View channel info (selected in tree)
  • Alt+Shift+U- Copy selected channel (in tree) URL to clipboard
  • Shift+Up/Down - Select prev/next server and collapse all other servers

input line

  • Left/Right - character left/right
  • Ctrl+Left/Right - word left/right
  • Shift+Left/Right - select left/right
  • Ctrl+Shift+Left/Right - select word left/right
  • Ctrl+N - Insert newline in input line (warning Shift+Enter doesn't work in terminals)
  • Alt+Z - Undo
  • Alt+Shift+Z - Redo
  • Alt+A - Select all
  • Alt+C - Copy selection
  • Alt+X - Cut selection
  • Ctrl+Backspace - Delete word

chat

  • Enter - Send message
  • Arrow-Up/Down - Navigating messages
  • Ctrl+R - Reply to selected message
  • Ctrl+E - Edit selected message
  • Ctrl+D - Delete selected message
  • Ctrl+P - Toggle reply ping when replying
  • Ctrl+B - Scroll back to chat bottom
  • Ctrl+G - Go to replied message from selected message
  • Ctrl+W - Download selected attachment
  • Ctrl+U Upload attachments
  • Ctrl+O * - Open selected link in browser
  • Ctrl+L - Copy selected message to clipboard
  • Ctrl+V * - View selected attachment (image, gif, video, audio) in media player
  • Alt+S - Reveal one spoiler in selected messages
  • Ctrl+F - Search messages in current server
  • Alt+F - Search gifs
  • Alt+P - View user profile (selected message)
  • Alt+U - Copy selected message URL to clipboard
  • Alt+R - Add reaction to selected message
  • Alt+W - Show reactions details for selected message
  • Alt+N - Show pinned messages in current channel
  • Ctrl+Shift+V - This is common terminal binding to paste text, better use: paste command

extra line

  • Alt+< - Previous uploaded/uploading attachment
  • Alt+> - Next uploaded/uploading attachment
  • Ctrl+Y-Up/Down - Resize extra window +/- 1

extra window

  • Alt+Up/Down - navigate in extra window / member list
  • Alt+Enter - select in extra window / member list
  • Alt+V - Preview selected file in upload assist or when searching gif

other

  • Ctrl+/ * - Open command palette
  • Ctrl+X - Cancel all downloads and uploads
  • Alt+D - Cycle user status (online/away/DnD/invisible)
  • Alt+M - Toggle member list
  • Ctrl+T - Toggle channel tabbed (pinned) state
  • Alt+NUM- Switch to tab, NUM is 1-9 in number row, not numeric keypad!
  • Alt+E - Open external editor to type message in it
  • Ctrl+K - Open command palette and type goto and show recent channels
  • Alt+Left/Right - Switch tabs incrementally (next/previous)
  • Ctrl+C - Quit
  • Enter - Open selected post in forum
  • Escape - Close assist, exit command mode, cancel...

media player controls

  • escape - quit
  • Space - pause
  • Left/Right - seek
  • Up/Down - volume
  • Z - replay

OS specific keybindings

Some keybindings are used by terminals or OS itself, so they are by default rebound to something else.

Windows:

  • Ctrl+\ - Open command palette
  • Ctrl+A - Expand selected categories and servers
  • Alt+Y - View attached media (image, gif, video, audio)

macOS:

  • Shift+Up/Down - Navigating channel tree
  • Alt+O - Open link in browser

Mouse controls

Double click in:

  • Tree - or enter channel
  • Extra window - select item
  • Member list - view member profile
  • Input line - select a word

Double click in chat on:

  • Message time - start replying to message
  • Message reply line - go to that message
  • Username - view profile
  • Reaction - toggle that reaction
  • URL - open media / download file / open in browser
  • Spoiler - reveal that spoiler
  • User mention - view profile of mentioned user
  • Channel - go to that channel
  • Custom discord emoji - view that emoji in media player

Other

  • Scroll up/down in all windows
  • Click to select in all windows, in tree also: un/collapse
  • Click on tab string to switch tabs (only if exactly format_title_line_r = "%tabs" in config)
  • Click on extra window title and drag it to resize it
  • Click on tree border to toggle minimized tree state
  • Click on buttons in call UI, click on input/output volume values to toggle mute each

On Windows, double click isn't working, use triple click instead.

Configuring keybindings

Standard keybindings

Keybindings are configured in separate sections in config.ini. Main keybindings section is [keybindings].
Key combinations are saved as integer codes, that can be generated by running endcord -k.
Alt+Key codes are stored as string with format: "ALT+[KEY]", where [KEY] is integer. On Windows they are integers but ALT+Key string in keymap will still work.
In xterm they are also integers (not the same as on Windows) and ALT+Key string in keymap will still work.
Ctrl+Shift+Key combinations are not supported by most terminal emulators, but Alt+Shift+Key are.
Keybindings can also be chained like this (maximum 2 bindings in chain, separated with -):
"25-97" for Ctrl+X-A which means: press Ctrl+X then A, "ALT+120-ALT+100" for Alt+X-Alt+D and so on.
To specify multiple keybindings for same action put them in a tuple, eg.: (2, "25-97", "ALT+120").
Switch tab keybinding is special - NUM is placeholder for 1-9 number keys, eg.:ALT+NUM or ALT+120-NUM.

Configuring vim mode keybindings

Keybindings for vim mode are configured in section [vim_mode_bindings] can be typed as characters but they must be in "". Eg.: "edit" = "e".
Alternatively key codes can be used too. When specifying chained or multiple bindings, key codes must be used!
There is one special keybinding, used only in vim mode: "insert_mode" = "i".
Command bindings can also use vim mode bindings, but they must be typed as key codes in quotes!

Command keybinding (macros)

There is additional section [command_bindings], used to make custom client command string or even macros executed when keybinding is pressed.
Command keybinding is added like this: "25" = "send_message Hello World!". This will execute that command when Ctrl+X is pressed.
Note that all bindings must be inside quotes, even a single integer. To use same binding as standard keybindings, set standard keybinding to None.
Alongside commands, standard keybinding names can be used here too. Eg. "25" = "tree_up; tree_up" will "press" tree_up binding twice.
To execute multiple commands in a sequence, type them separated with ; character. To use actual ; character in command type it as \;.
Special commands available only for command-bindings are documented in Commands list.

Vim mode keybindings

  • i - Enter insert mode

tree

  • K/J - Navigating channel tree
  • Space - Expand selected categories and servers or enter selected channel
  • W - Un/collapse channel with threads in tree
  • O - Join/leave selected thread in tree
  • I - View channel info (selected in tree)
  • C- Copy selected channel (in tree) URL to clipboard

input line

  • h/l - character left/right
  • b/w - word left/right
  • Ctrl+h/l - select left/right
  • H/L - select word left/right
  • Ctrl+N - Insert newline in input line (warning Shift+Enter doesn't work in terminals)
  • u - Undo
  • Ctrl+R - Redo
  • a - Select all
  • y - Copy selection
  • Y - Cut selection
  • X - Delete word

chat

  • Enter - Send message
  • k/j - Navigating messages
  • r - Reply to selected message
  • e - Edit selected message
  • d - Delete selected message
  • p - Toggle reply ping when replying
  • B - Scroll back to chat bottom
  • g - Go to replied message from selected message
  • D - Download selected attachment
  • U - Upload attachments
  • o - Open selected link in browser
  • c - Copy selected message to clipboard
  • v - View selected attachment (image, gif, video, audio) in media player
  • S - Reveal one spoiler in selected messages
  • f - Search messages in current server
  • F - Search gifs
  • P - View user profile (selected message)
  • M - Copy selected message URL to clipboard
  • R - Add reaction to selected message
  • A - Show reactions details for selected message
  • n - Show pinned messages in current channel
  • Ctrl+Shift+V - This is common terminal binding to paste text, better use: paste command

extra line

  • < - Previous uploaded/uploading attachment
  • > - Next uploaded/uploading attachment

extra window

  • ,/. - navigate in extra window / member list
  • q - select in extra window / member list
  • V - Preview selected file in upload assist or when searching gif

other

  • : - Open command palette
  • X - Cancel all downloads and uploads
  • s - Cycle user status (online/away/DnD/invisible)
  • m - Toggle member list
  • t - Toggle channel tabbed (pinned) state
  • NUM- Switch to tab, NUM is 1-9.
  • E - Open external editor to type message in it
  • Ctrl+K - Open command palette and type goto and show recent channels
  • Alt+Left/Right - Switch tabs incrementally (next/previous)
  • Q - Quit