discordo/docs/config.md

16 KiB
Raw Blame History

auto_focus

Whether to focus the composer automatically when a channel is selected. Set to false to preview channels without moving focus.

Default: true

mouse

Whether to enable the mouse.

Default: true

editor

The program opened by the composer.open_editor keybind. "default" uses $EDITOR.

Default: "default"

status

"default" (unknown), "online", "dnd", "idle", "invisible" or "offline".

Default: "default"

hide_blocked_users

Default: true

autocomplete_limit

The maximum number of members in the mention autocomplete list. 0 disables it.

Default: 20

messages_limit

The number of messages to fetch when a text-based channel is selected, from 1 to 100.

Default: 50

attachments

Default: true

attachments.allowed_mime_types

Attachment MIME types that can be opened or downloaded without confirmation. Exact types and wildcards such as "image/*" are supported.

Default: ["image/*", "video/*"]

attachments.preview

Whether to draw image attachments and embedded images below their messages.

Default: true

attachments.protocol

How previews are drawn: "auto", "kitty" or "halfblocks".

Default: "auto"

markdown

markdown.enabled

Whether to parse and render markdown in messages.

Default: true

markdown.mask_spoilers

Replace spoiler contents with a placeholder.

Default: false

markdown.theme

Theme for fenced code blocks. Available themes: https://xyproto.github.io/splash/docs

Default: "monokai"

help

help.enabled

Whether to show keybind help.

Default: true

help.compact_modifiers

Show compact key modifiers in help, e.g. "^x" instead of "ctrl+x".

Default: true

help.padding

[left, right]

Default: [1, 1]

help.separator

Default: " • "

picker

picker.width

Default: 80

picker.height

Default: 25

timestamps

timestamps.enabled

Default: true

timestamps.format

https://pkg.go.dev/time#Layout

Default: "3:04PM"

date_separator

date_separator.enabled

Default: true

date_separator.format

https://pkg.go.dev/time#Layout

Default: "January 2, 2006"

date_separator.character

The fill character used on both sides of the date label.

Default: "─"

notifications

notifications.enabled

Default: true

notifications.when_unfocused

Whether to also notify about messages in the open channel while the terminal window is unfocused. Requires a terminal that reports focus.

Default: true

typing_indicator

typing_indicator.send

Whether to send typing status.

Default: true

typing_indicator.receive

Whether to receive typing status.

Default: true

sidebar

The guilds tree pane.

sidebar.visible

Whether the pane is visible at start-up. It can still be toggled at runtime with its toggle keybind.

Default: true

sidebar.width_percent

Percentage (%) of the available width used by the pane. Valid values are 1-99. Invalid values fall back to 20.

Default: 20

sidebar.markers

sidebar.markers.expanded

Default: "▾ "

sidebar.markers.collapsed

Default: "▸ "

sidebar.markers.leaf

Default: ""

sidebar.indents

Indentation for different item types.

sidebar.indents.guild

Default: 2

sidebar.indents.category

Default: 1

sidebar.indents.channel

Default: 2

sidebar.indents.forum

Default: 2

sidebar.indents.group_dm

Default: 1

sidebar.indents.dm

Default: 2

members_tree

The members tree pane, sized from the width right of the guilds tree.

members_tree.visible

Whether the pane is visible at start-up. It can still be toggled at runtime with its toggle keybind.

Default: true

members_tree.width_percent

Percentage (%) of the available width used by the pane. Valid values are 1-99. Invalid values fall back to 20.

Default: 20

composer

composer.max_height

Maximum height (in newline-separated rows) the composer grows to before it starts scrolling internally. Set to 1 for a fixed single-line input. Values below 1 fall back to 10.

Default: 10

ui

Layout and behavior of the widgets.

ui.tabs

The tabs of the login screen.

ui.tabs.alignment

Where tabs that fit are placed: "left", "center" or "right".

Default: "center"

ui.tabs.wrap

Whether moving past the last tab selects the first, and past the first selects the last.

Default: false

ui.tabs.separator

Text between tabs.

Default: "│"

ui.tabs.padding

Text on either side of each tab: [left, right]

Default: [" ", " "]

ui.tabs.arrows

Arrows shown while tabs are hidden past an end: [start, end]. An empty string turns that arrow off.

Default: ["◀", "▶"]

ui.tabs.clickable_arrows

Whether clicking an arrow selects the tab next to the active one.

Default: true

ui.title

ui.title.alignment

"left", "center" or "right".

Default: "left"

"left", "center" or "right".

Default: "left"

ui.border

ui.border.enabled

Default: true

ui.border.padding

[top, bottom, left, right]

Default: [0, 0, 1, 1]

ui.border.normal_set

"hidden", "plain", "round", "thick" or "double".

Default: "round"

ui.border.active_set

The set used while the widget is focused.

Default: "round"

ui.guilds_tree

ui.guilds_tree.graphics

Whether to draw lines that give the tree its shape.

Default: true

ui.guilds_tree.auto_expand_folders

Default: true

ui.members_tree

ui.members_tree.graphics

Whether to draw lines that give the tree its shape.

Default: true

ui.scroll_bar

ui.scroll_bar.visibility

"auto", "always" or "never".

Default: "auto"

ui.scroll_bar.symbol_set

"minimal", "box_drawing", "vertical" or "double_vertical".

Default: "box_drawing"

ui.messages_list

ui.messages_list.reply_indicator

Default: ">"

ui.messages_list.forwarded_indicator

Default: "<"

ui.mentions_list

The list of mention suggestions above the composer. Its width and height are capped to the available space.

ui.mentions_list.min_width

Minimum width. 0 makes the list as wide as possible.

Default: 20

ui.mentions_list.max_height

Maximum height. 0 makes the list as tall as needed.

Default: 0

icons

icons.guild_category

Default: ""

icons.guild_text

Default: "#"

icons.guild_voice

Default: "♪ "

icons.guild_stage_voice

Default: "♪ "

icons.guild_announcement_thread

Default: "a-"

icons.guild_public_thread

Default: "› "

icons.guild_private_thread

Default: "› "

icons.guild_announcement

Default: "a-"

icons.guild_forum

Default: "≡ "

icons.guild_store

Default: "s-"

keybinds

Global shortcuts. A keybind is a key such as "ctrl+k", or a list of keys.

keybinds.toggle_guilds_tree

Hide/show the guilds tree.

Default: "alt+g"

keybinds.toggle_members_tree

Hide/show the members tree.

Default: "alt+m"

keybinds.toggle_channels_picker

Default: "ctrl+k"

keybinds.toggle_help

Hide/show keybind help.

Default: "alt+."

keybinds.toggle_full_help

Switch between compact and full keybind help.

Default: "ctrl+."

keybinds.suspend

Default: "ctrl+z"

keybinds.focus_guilds_tree

Default: "ctrl+g"

keybinds.focus_members_tree

Default: "ctrl+y"

keybinds.focus_messages_list

Default: "ctrl+t"

keybinds.focus_composer

Default: "ctrl+i"

keybinds.focus_previous

Cycle focus between the widgets.

Default: "ctrl+h"

keybinds.focus_next

Default: "ctrl+l"

keybinds.picker

keybinds.picker.select_up

Default: "ctrl+p"

keybinds.picker.select_down

Default: "ctrl+n"

keybinds.picker.select_top

Default: "home"

keybinds.picker.select_bottom

Default: "end"

keybinds.picker.select

Default: "enter"

keybinds.picker.cancel

Default: "esc"

keybinds.guilds_tree

Only while focusing on the guilds tree.

keybinds.guilds_tree.select_up

Default: "k"

keybinds.guilds_tree.select_down

Default: "j"

keybinds.guilds_tree.select_top

Default: "g"

keybinds.guilds_tree.select_bottom

Default: "G"

keybinds.guilds_tree.select_current

Select the highlighted text-based channel, or expand or collapse the highlighted node.

Default: "enter"

keybinds.guilds_tree.yank_id

Default: "i"

keybinds.guilds_tree.collapse_all

Default: "_"

keybinds.guilds_tree.collapse_parent_node

Default: "-"

keybinds.guilds_tree.move_to_parent_node

Default: "p"

keybinds.guilds_tree.select_previous_unread

Highlight the previous or next unread guild or channel, wrapping around.

Default: "K"

keybinds.guilds_tree.select_next_unread

Default: "J"

keybinds.members_tree

Only while focusing on the members tree.

keybinds.members_tree.select_up

Default: "k"

keybinds.members_tree.select_down

Default: "j"

keybinds.members_tree.select_top

Default: "g"

keybinds.members_tree.select_bottom

Default: "G"

keybinds.members_tree.select_current

Select the highlighted text-based channel, or expand or collapse the highlighted node.

Default: "enter"

keybinds.members_tree.yank_id

Default: "i"

keybinds.members_tree.collapse_all

Default: "_"

keybinds.members_tree.collapse_parent_node

Default: "-"

keybinds.members_tree.move_to_parent_node

Default: "p"

keybinds.messages_list

Only while focusing on sent messages.

keybinds.messages_list.select_up

Default: "k"

keybinds.messages_list.select_down

Default: "j"

keybinds.messages_list.select_top

Default: "g"

keybinds.messages_list.select_bottom

Default: "G"

keybinds.messages_list.scroll_up

Scroll the messages list without changing the selection.

Default: "K"

keybinds.messages_list.scroll_down

Default: "J"

keybinds.messages_list.scroll_top

Default: "home"

keybinds.messages_list.scroll_bottom

Default: "end"

keybinds.messages_list.select_reply

Select the message that the selected message replies to.

Default: "s"

keybinds.messages_list.reply

Reply to the selected message.

Default: "R"

keybinds.messages_list.reply_mention

Reply (with mention) to the selected message.

Default: "r"

keybinds.messages_list.cancel

Default: "esc"

keybinds.messages_list.edit

Default: "e"

keybinds.messages_list.delete

Delete without confirmation. Unbound by default.

Default: ""

keybinds.messages_list.delete_confirm

Default: "d"

keybinds.messages_list.open

Open attachments with their associated application. MIME types outside the allowlist require confirmation. Hyperlinks still use the browser.

Default: "o"

keybinds.messages_list.open_in_browser

Open attachments or hyperlinks in the browser.

Default: "O"

keybinds.messages_list.download

Download one of the selected message's attachments.

Default: "D"

keybinds.messages_list.yank_content

Yank (copy) the selected message's content/url/id.

Default: "y"

keybinds.messages_list.yank_url

Default: "u"

keybinds.messages_list.yank_id

Default: "i"

keybinds.composer

Only while typing a message.

keybinds.composer.edit_last

Edit your newest editable message loaded in the current channel, with no age limit. Only when the composer is empty, with no reply, attachments, or edit in progress.

Default: "up"

keybinds.composer.paste

Paste from clipboard (supports both text and images).

Default: "ctrl+v"

keybinds.composer.send

Default: "enter"

keybinds.composer.newline

Insert a new line at the cursor.

Default: "shift+enter"

keybinds.composer.cancel

Remove existing text or cancel reply.

Default: "esc"

keybinds.composer.tab_complete

Complete usernames when mentioning.

Default: "tab"

keybinds.composer.toggle_reply_mention

Toggle whether a reply mentions its author.

Default: "shift+tab"

keybinds.composer.undo

Default: "ctrl+u"

keybinds.composer.open_editor

Default: "ctrl+e"

keybinds.composer.open_file_picker

Default: "ctrl+\\"

keybinds.mentions_list

Only while the mention suggestions are shown.

keybinds.mentions_list.select_up

Default: "ctrl+p"

keybinds.mentions_list.select_down

Default: "ctrl+n"

keybinds.mentions_list.select_top

Default: "home"

keybinds.mentions_list.select_bottom

Default: "end"

keybinds.logout

Log out and remove the authentication token from keyring. Requires re-login upon restart.

Default: "ctrl+d"

keybinds.quit

Default: "ctrl+c"

theme

Styles of the widgets, each written as { foreground = "", background = "", attributes = "" or ["", ""], underline = "", underline_color = "" }.

theme.title

theme.title.normal_style

Default: { attributes = "dim" }

theme.title.active_style

The style used while the widget is focused.

Default: { foreground = "green", attributes = "bold" }

Default: { attributes = "dim" }

The style used while the widget is focused.

Default: { foreground = "green", attributes = "bold" }

theme.border

theme.border.normal_style

Default: { attributes = "dim" }

theme.border.active_style

The style used while the widget is focused.

Default: { foreground = "green", attributes = "bold" }

theme.guilds_tree

The status styles are those of direct-message recipients.

theme.guilds_tree.graphics_color

The color of the lines that give the tree its shape.

Default: "default"

theme.guilds_tree.online_style

Default: { foreground = "green" }

theme.guilds_tree.idle_style

Default: { foreground = "yellow" }

theme.guilds_tree.dnd_style

Default: { foreground = "red" }

theme.guilds_tree.offline_style

Default: { foreground = "gray" }

theme.members_tree

The status styles are those of the dot before each member.

theme.members_tree.graphics_color

The color of the lines that give the tree its shape.

Default: "default"

theme.members_tree.online_style

Default: { foreground = "green" }

theme.members_tree.idle_style

Default: { foreground = "yellow" }

theme.members_tree.dnd_style

Default: { foreground = "red" }

theme.members_tree.offline_style

Default: { foreground = "gray" }

theme.scroll_bar

theme.scroll_bar.track_style

Default: { attributes = "dim" }

theme.scroll_bar.thumb_style

Default: {}

theme.messages_list

theme.messages_list.author_style

Default: {}

theme.messages_list.mention_style

Default: { foreground = "blue", attributes = "bold" }

theme.messages_list.emoji_style

Default: { foreground = "green" }

theme.messages_list.url_style

Default: { foreground = "blue" }

theme.messages_list.attachment_style

Default: { foreground = "yellow" }

theme.messages_list.reaction_style

Default: { attributes = "dim" }

theme.messages_list.own_reaction_style

Default: { attributes = "bold" }

theme.messages_list.message_style

Default: {}

theme.messages_list.selected_message_style

Default: { attributes = "reverse" }

theme.messages_list.embeds

theme.messages_list.embeds.provider_style

Default: { attributes = ["dim","italic"] }

theme.messages_list.embeds.author_style

Default: { attributes = "italic" }

theme.messages_list.embeds.title_style

Default: { foreground = "blue", attributes = "bold" }

theme.messages_list.embeds.description_style

Default: { attributes = "dim" }

theme.messages_list.embeds.field_name_style

Default: { attributes = "bold", underline = "solid" }

theme.messages_list.embeds.field_value_style

Default: {}

Default: { attributes = ["dim","italic"] }

theme.messages_list.embeds.url_style

Default: { foreground = "blue", underline = "solid" }

theme.mentions_list

theme.mentions_list.selected_style

Default: { attributes = "reverse" }

theme.dialog

theme.dialog.style

Default: {}

theme.dialog.background_style

The style of everything behind the dialog.

Default: { attributes = "dim" }

theme.help

theme.help.short_key_style

Default: { attributes = "dim" }

theme.help.short_desc_style

Default: {}

theme.help.full_key_style

Default: { attributes = "dim" }

theme.help.full_desc_style

Default: {}