discordo/internal/config/config.toml

353 lines
9.8 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Whether to focus the composer automatically when a channel is selected.
# Set to false to preview channels without moving focus.
auto_focus = true
# Whether to enable mouse or not.
mouse = true
# The program to open when the `composer.open_editor` keybind is pressed. Set the value to `"default"` to use `$EDITOR`.
editor = "default"
# "default" (unknown), "online", "dnd", "idle", "invisible", "offline"
status = "default"
hide_blocked_users = true
# Max members to be in the mention autocomplete suggestions list
# Note: Use autocomplete_limit = 0 to disable.
autocomplete_limit = 20
# The number of messages to fetch when a text-based channel is selected from guilds tree. The minimum and maximum value is 1 and 100, respectively.
messages_limit = 50
[attachments]
show_links = true
# Attachment MIME types that can be opened or downloaded without confirmation.
# Exact types and wildcards such as "image/*" are supported.
allowed_mime_types = ["image/*", "video/*"]
# Whether to draw image attachments and embedded images below their messages.
preview = true
# How previews are drawn: "auto", "kitty" or "halfblocks".
protocol = "auto"
[composer]
# Maximum height (in newline-separated rows) the composer grows to before it starts scrolling internally.
# Set to 1 for a fixed single-line input.
max_height = 10
[markdown]
# Whether to parse and render markdown in messages or not.
enabled = true
# Replace spoiler contents with a placeholder.
mask_spoilers = false
# Theme for fenced code blocks. Available themes: https://xyproto.github.io/splash/docs
theme = "monokai"
[help]
# Whether to show keybind help.
enabled = true
# Show compact key modifiers in help, e.g. "^x" instead of "ctrl+x".
compact_modifiers = true
# [left, right]
padding = [1, 1]
separator = " • "
[picker]
width = 80
height = 25
[ui.tabs]
# Where tabs that fit are placed: "left", "center" or "right".
alignment = "center"
# Whether moving past the last tab selects the first, and past the first selects the last.
wrap = false
# Text between tabs.
separator = "│"
# Text on either side of each tab: [left, right]
padding = [" ", " "]
# Arrows shown while tabs are hidden past an end: [start, end]. An empty string turns that arrow off.
arrows = ["◀", "▶"]
# Whether clicking an arrow selects the tab next to the active one.
clickable_arrows = true
[timestamps]
enabled = true
# https://pkg.go.dev/time#Layout
format = "3:04PM"
[date_separator]
enabled = true
# https://pkg.go.dev/time#Layout
format = "January 2, 2006"
# The fill character used on both sides of the date label.
character = "─"
[notifications]
enabled = true
# Whether to also notify about messages in the open channel while the terminal window is unfocused. Requires a terminal that reports focus.
when_unfocused = true
[typing_indicator]
# Whether to send typing status or not.
send = true
# Whether to receive typing status or not.
receive = true
[sidebar]
# Whether the guilds tree sidebar is visible by default at start-up.
# It can still be toggled at runtime with the `toggle_guilds_tree` keybind.
visible = true
# Percentage (%) of the available width used by the guilds tree sidebar.
# Valid values are 1-99. Invalid values fall back to 20.
width_percent = 20
[sidebar.markers]
expanded = "▾ "
collapsed = "▸ "
leaf = ""
# Indentation for different item types.
[sidebar.indents]
dm = 2
group_dm = 1
guild = 2
category = 1
channel = 2
forum = 2
[members_tree]
# Whether the members tree is visible by default at start-up.
# It can still be toggled at runtime with the `toggle_members_tree` keybind.
visible = true
# Percentage (%) of the width right of the guilds tree used by the members tree.
# Valid values are 1-99. Invalid values fall back to 20.
width_percent = 20
[icons]
guild_category = ""
guild_text = "#"
guild_voice = "♪ "
guild_stage_voice = "♪ "
guild_announcement_thread = "a-"
guild_public_thread = "› "
guild_private_thread = "› "
guild_announcement = "a-"
guild_forum = "≡ "
guild_store = "s-"
# Global shortcuts
# Esc: Reset message selection or close the channel selection popup.
[keybinds]
# Hide/show the guilds tree.
toggle_guilds_tree = "alt+g"
# Hide/show the members tree.
toggle_members_tree = "alt+m"
toggle_channels_picker = "ctrl+k"
# Hide/show keybind help.
toggle_help = "alt+."
# Switch between compact and full keybind help.
toggle_full_help = "ctrl+."
focus_guilds_tree = "ctrl+g"
focus_members_tree = "ctrl+y"
focus_messages_list = "ctrl+t"
focus_composer = "ctrl+i"
# Cycle focus between the widgets.
focus_previous = "ctrl+h"
focus_next = "ctrl+l"
# Log out and remove the authentication token from keyring.
# Requires re-login upon restart.
logout = "ctrl+d"
suspend = "ctrl+z"
quit = "ctrl+c"
[keybinds.picker]
cancel = "esc"
select_up = "ctrl+p"
select_down = "ctrl+n"
select_top = "home"
select_bottom = "end"
select = "enter"
# Only while focusing on the guilds tree
[keybinds.guilds_tree]
select_up = "k"
select_down = "j"
select_top = "g"
select_bottom = "G"
# Select the currently highlighted text-based channel or expand a guild or channel.
select_current = "enter"
yank_id = "i"
collapse_all = "_"
collapse_parent_node = "-"
move_to_parent_node = "p"
# Only while focusing on the members tree
[keybinds.members_tree]
select_up = "k"
select_down = "j"
select_top = "g"
select_bottom = "G"
# Expand or collapse the highlighted group.
select_current = "enter"
yank_id = "i"
collapse_all = "_"
collapse_parent_node = "-"
move_to_parent_node = "p"
# Only while focusing on sent messages
[keybinds.messages_list]
select_up = "k"
select_down = "j"
select_top = "g"
select_bottom = "G"
# Scroll the messages list without changing the selection.
scroll_up = "K"
scroll_down = "J"
scroll_top = "home"
scroll_bottom = "end"
# Select the message reference (reply) of the selected channel.
select_reply = "s"
# Reply to the selected message.
reply = "R"
# Reply (with mention) to the selected message.
reply_mention = "r"
cancel = "esc"
edit = "e"
# Delete without confirmation.
# delete = "D"
delete_confirm = "d"
# Open attachments with their associated application. MIME types outside the
# allowlist require confirmation. Hyperlinks still use the browser.
open = "o"
# Open attachments or hyperlinks in the browser.
open_in_browser = "O"
# Download one of the selected message's attachments.
download = "D"
# Yank (copy) the selected message's content/url/id.
yank_content = "y"
yank_url = "u"
yank_id = "i"
# Only while typing a message
[keybinds.composer]
# 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.
edit_last = "up"
# Paste from clipboard (supports both text and images)
paste = "ctrl+v"
send = "enter"
# Insert a new line at the cursor.
newline = "shift+enter"
# Remove existing text or cancel reply.
cancel = "esc"
# Complete usernames when mentioning
tab_complete = "tab"
# Toggle whether a reply mentions its author.
toggle_reply_mention = "shift+tab"
undo = "ctrl+u"
open_editor = "ctrl+e"
open_file_picker = "ctrl+\\"
[keybinds.mentions_list]
select_up = "ctrl+p"
select_down = "ctrl+n"
select_top = "home"
select_bottom = "end"
# style = { foreground = "", background = "", attributes = "" or ["",""], underline = "", underline_color = "" }
[theme.title]
alignment = "left" # `"left"`, `"center"`, or `"right"`.
normal_style = { attributes = "dim" }
active_style = { foreground = "green", attributes = "bold" }
[theme.footer]
alignment = "left"
normal_style = { attributes = "dim" }
active_style = { foreground = "green", attributes = "bold" }
[theme.border]
enabled = true
padding = [0, 0, 1, 1] # [top, bottom, left, right]
normal_style = { attributes = "dim" }
active_style = { foreground = "green", attributes = "bold" }
# `"hidden"`, `"plain"`, `"round"`, `"thick"`, or `"double"`.
normal_set = "round"
active_set = "round"
[theme.guilds_tree]
auto_expand_folders = true
# Give tree-like shape
graphics = true
graphics_color = "default"
# Direct-message recipient presence styles.
online_style = { foreground = "green" }
idle_style = { foreground = "yellow" }
dnd_style = { foreground = "red" }
offline_style = { foreground = "gray" }
[theme.members_tree]
# Give tree-like shape
graphics = true
graphics_color = "default"
# Styles of the status dot before each member.
online_style = { foreground = "green" }
idle_style = { foreground = "yellow" }
dnd_style = { foreground = "red" }
offline_style = { foreground = "gray" }
[theme.scroll_bar]
visibility = "auto"
# "minimal", "box_drawing", or "unicode"
glyph_set = "unicode"
track_style = { attributes = "dim" }
thumb_style = {}
[theme.messages_list]
reply_indicator = ">"
forwarded_indicator = "<"
mention_style = { foreground = "blue", attributes = "bold" }
emoji_style = { foreground = "green" }
url_style = { foreground = "blue" }
attachment_style = { foreground = "yellow" }
reaction_style = { attributes = "dim" }
own_reaction_style = { attributes = "bold" }
message_style = {}
selected_message_style = { attributes = "reverse" }
[theme.messages_list.embeds]
provider_style = { attributes = ["dim", "italic"] }
author_style = { attributes = "italic" }
title_style = { foreground = "blue", attributes = "bold" }
description_style = { attributes = "dim" }
field_name_style = { attributes = ["bold", "underline"] }
field_value_style = {}
footer_style = { attributes = ["dim", "italic"] }
url_style = { foreground = "blue", underline = "solid" }
[theme.mentions_list]
# Note: width and height are capped to the avaliable space
# Minimum width
# 0 = make the list as wide as possible
min_width = 20
# Maximum height
# 0 = make the list as tall as needed
max_height = 0
[theme.dialog]
style = {}
# Background style: everything else behind the dialog
background_style = { attributes = "dim" }
[theme.help]
short_key_style = { attributes = "dim" }
short_desc_style = {}
full_key_style = { attributes = "dim" }
full_desc_style = {}