config.toml 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229
  1. # Whether to focus the message input automatically when a channel is selected.
  2. # Set to false to preview channels without moving focus.
  3. auto_focus = true
  4. # Whether to enable mouse or not.
  5. mouse = true
  6. # The program to open when the `message_input.editor` keybind is pressed. Set the value to `"default"` to use `$EDITOR`.
  7. editor = "default"
  8. # "default" (unknown), "online", "dnd", "idle", "invisible", "offline"
  9. status = "default"
  10. hide_blocked_users = true
  11. show_attachment_links = true
  12. # Max members to be in the mention autocomplete suggestions list
  13. # Note: Use autocomplete_limit = 0 to disable.
  14. autocomplete_limit = 20
  15. # 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.
  16. messages_limit = 50
  17. [markdown]
  18. # Whether to parse and render markdown in messages or not.
  19. enabled = true
  20. # Theme for fenced code blocks. Available themes: https://xyproto.github.io/splash/docs
  21. theme = "monokai"
  22. [help]
  23. # Show compact key modifiers in help, e.g. "^x" instead of "ctrl+x".
  24. compact_modifiers = true
  25. # [left, right]
  26. padding = [1, 1]
  27. separator = " • "
  28. [picker]
  29. width = 60
  30. height = 20
  31. [timestamps]
  32. enabled = true
  33. # https://pkg.go.dev/time#Layout
  34. format = "3:04PM"
  35. [date_separator]
  36. enabled = true
  37. # https://pkg.go.dev/time#Layout
  38. format = "January 2, 2006"
  39. # The fill character used on both sides of the date label.
  40. character = "─"
  41. [notifications]
  42. enabled = true
  43. # The duration of the sound. Set the value to `0` to use default duration. This is only supported on Unix and Windows.
  44. duration = 0
  45. [notifications.sound]
  46. enabled = true
  47. only_on_ping = true
  48. [typing_indicator]
  49. # Whether to send typing status or not.
  50. send = true
  51. # Whether to receive typing status or not.
  52. receive = true
  53. [icons]
  54. guild_category = ""
  55. guild_text = "#"
  56. guild_voice = "♪ "
  57. guild_stage_voice = "♪ "
  58. guild_announcement_thread = "a-"
  59. guild_public_thread = "› "
  60. guild_private_thread = "› "
  61. guild_announcement = "a-"
  62. guild_forum = "≡ "
  63. guild_store = "s-"
  64. # Global shortcuts
  65. # Esc: Reset message selection or close the channel selection popup.
  66. [keybinds]
  67. toggle_help = "ctrl+."
  68. focus_guilds_tree = "ctrl+g"
  69. focus_messages_list = "ctrl+t"
  70. focus_message_input = "ctrl+i"
  71. # Cycle focus between the widgets.
  72. focus_previous = "ctrl+h"
  73. focus_next = "ctrl+l"
  74. # Hide/show the guilds tree.
  75. toggle_guilds_tree = "ctrl+b"
  76. quit = "ctrl+c"
  77. # Log out and remove the authentication token from keyring.
  78. # Requires re-login upon restart.
  79. logout = "ctrl+d"
  80. [keybinds.picker]
  81. toggle = "ctrl+k"
  82. cancel = "esc"
  83. up = "ctrl+p"
  84. down = "ctrl+n"
  85. top = "home"
  86. bottom = "end"
  87. select = "enter"
  88. # Only while focusing on the guilds tree
  89. [keybinds.guilds_tree]
  90. up = "k"
  91. down = "j"
  92. top = "g"
  93. bottom = "G"
  94. # Select the currently highlighted text-based channel or expand a guild or channel.
  95. select_current = "enter"
  96. yank_id = "i"
  97. collapse_parent_node = "-"
  98. move_to_parent_node = "p"
  99. # Only while focusing on sent messages
  100. [keybinds.messages_list]
  101. select_up = "k"
  102. select_down = "j"
  103. select_top = "g"
  104. select_bottom = "G"
  105. # Scroll the messages list without changing the selection.
  106. scroll_up = "K"
  107. scroll_down = "J"
  108. scroll_top = "home"
  109. scroll_bottom = "end"
  110. # Select the message reference (reply) of the selected channel.
  111. select_reply = "s"
  112. # Reply to the selected message.
  113. reply = "R"
  114. # Reply (with mention) to the selected message.
  115. reply_mention = "r"
  116. cancel = "esc"
  117. edit = "e"
  118. delete = "D"
  119. delete_confirm = "d"
  120. # Open the selected message's attachments or hyperlinks in the message
  121. # using the default browser application.
  122. open = "o"
  123. # Yank (copy) the selected message's content/url/id.
  124. yank_content = "y"
  125. yank_url = "u"
  126. yank_id = "i"
  127. # Only while typing a message
  128. # Alt+Enter: Insert a new line to the current text.
  129. [keybinds.message_input]
  130. # paste from clipboard (supports both text and images)
  131. paste = "ctrl+v"
  132. send = "enter"
  133. # Remove existing text or cancel reply.
  134. cancel = "esc"
  135. # Complete usernames when mentioning
  136. tab_complete = "tab"
  137. open_editor = "ctrl+e"
  138. open_file_picker = "ctrl+\\"
  139. [keybinds.mentions_list]
  140. up = "ctrl+p"
  141. down = "ctrl+n"
  142. top = "home"
  143. bottom = "end"
  144. # style = { foreground = "", background = "", attributes = "" or [""] }
  145. [theme.title]
  146. alignment = "left" # `"left"`, `"center"`, or `"right"`.
  147. normal_style = { attributes = "dim" }
  148. active_style = { foreground = "green", attributes = "bold" }
  149. [theme.footer]
  150. alignment = "left"
  151. normal_style = { attributes = "dim" }
  152. active_style = { foreground = "green", attributes = "bold" }
  153. [theme.border]
  154. enabled = true
  155. padding = [0, 0, 1, 1] # [top, bottom, left, right]
  156. normal_style = { attributes = "dim" }
  157. active_style = { foreground = "green", attributes = "bold" }
  158. # `"hidden"`, `"plain"`, `"round"`, `"thick"`, or `"double"`.
  159. normal_set = "round"
  160. active_set = "round"
  161. [theme.guilds_tree]
  162. auto_expand_folders = true
  163. # Give tree-like shape
  164. graphics = true
  165. graphics_color = "default"
  166. [theme.scroll_bar]
  167. visibility = "auto"
  168. # "minimal", "box_drawing", or "unicode"
  169. glyph_set = "unicode"
  170. track_style = { attributes = "dim" }
  171. thumb_style = {}
  172. [theme.messages_list]
  173. reply_indicator = ">"
  174. forwarded_indicator = "<"
  175. mention_style = { foreground = "blue" }
  176. emoji_style = { foreground = "green" }
  177. url_style = { foreground = "blue" }
  178. attachment_style = { foreground = "yellow" }
  179. message_style = {}
  180. selected_message_style = { attributes = "reverse" }
  181. [theme.mentions_list]
  182. # Note: width and height are capped to the avaliable space
  183. # Minimum width
  184. # 0 = make the list as wide as possible
  185. min_width = 20
  186. # Maximum height
  187. # 0 = make the list as tall as needed
  188. max_height = 0
  189. [theme.dialog]
  190. style = {}
  191. # Background style: everything else behind the dialog
  192. background_style = { attributes = "dim" }
  193. [theme.help]
  194. short_key_style = { attributes = "dim" }
  195. short_desc_style = {}
  196. full_key_style = { attributes = "dim" }
  197. full_desc_style = {}