config.toml 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  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. [picker]
  23. width = 60
  24. height = 20
  25. [timestamps]
  26. enabled = true
  27. # https://pkg.go.dev/time#Layout
  28. format = "3:04PM"
  29. [date_separator]
  30. enabled = true
  31. # https://pkg.go.dev/time#Layout
  32. format = "January 2, 2006"
  33. # The fill character used on both sides of the date label.
  34. character = "─"
  35. [notifications]
  36. enabled = true
  37. # The duration of the sound. Set the value to `0` to use default duration. This is only supported on Unix and Windows.
  38. duration = 0
  39. [notifications.sound]
  40. enabled = true
  41. only_on_ping = true
  42. [typing_indicator]
  43. # Whether to send typing status or not.
  44. send = true
  45. # Whether to receive typing status or not.
  46. receive = true
  47. [icons]
  48. guild_category = ""
  49. guild_text = "#"
  50. guild_voice = "♪ "
  51. guild_stage_voice = "♪ "
  52. guild_announcement_thread = "a-"
  53. guild_public_thread = "› "
  54. guild_private_thread = "› "
  55. guild_announcement = "a-"
  56. guild_forum = "≡ "
  57. guild_store = "s-"
  58. # Global shortcuts
  59. # Esc: Reset message selection or close the channel selection popup.
  60. [keybinds]
  61. focus_guilds_tree = "Ctrl+G"
  62. focus_messages_list = "Ctrl+T"
  63. focus_message_input = "Ctrl+I"
  64. # Cycle focus between the widgets.
  65. focus_previous = "Ctrl+H"
  66. focus_next = "Ctrl+L"
  67. # Hide/show the guilds tree.
  68. toggle_guilds_tree = "Ctrl+B"
  69. quit = "Ctrl+C"
  70. # Log out and remove the authentication token from keyring.
  71. # Requires re-login upon restart.
  72. logout = "Ctrl+D"
  73. [keybinds.picker]
  74. toggle = "Ctrl+K"
  75. cancel = "Esc"
  76. up = "Ctrl+P"
  77. down = "Ctrl+N"
  78. top = "Home"
  79. bottom = "End"
  80. select = "Enter"
  81. # Only while focusing on the guilds tree
  82. [keybinds.guilds_tree]
  83. up = "Rune[k]"
  84. down = "Rune[j]"
  85. top = "Rune[g]"
  86. bottom = "Rune[G]"
  87. # Select the currently highlighted text-based channel or expand a guild or channel.
  88. select_current = "Enter"
  89. yank_id = "Rune[i]"
  90. collapse_parent_node = "Rune[-]"
  91. move_to_parent_node = "Rune[p]"
  92. # Only while focusing on sent messages
  93. [keybinds.messages_list]
  94. select_up = "Rune[k]"
  95. select_down = "Rune[j]"
  96. select_top = "Rune[g]"
  97. select_bottom = "Rune[G]"
  98. # Scroll the messages list without changing the selection.
  99. scroll_up = "Rune[K]"
  100. scroll_down = "Rune[J]"
  101. scroll_top = "Home"
  102. scroll_bottom = "End"
  103. # Select the message reference (reply) of the selected channel.
  104. select_reply = "Rune[s]"
  105. # Reply to the selected message.
  106. reply = "Rune[R]"
  107. # Reply (with mention) to the selected message.
  108. reply_mention = "Rune[r]"
  109. cancel = "Esc"
  110. edit = "Rune[e]"
  111. delete = "Rune[D]"
  112. delete_confirm = "Rune[d]"
  113. # Open the selected message's attachments or hyperlinks in the message
  114. # using the default browser application.
  115. open = "Rune[o]"
  116. # Yank (copy) the selected message's content/url/id.
  117. yank_content = "Rune[y]"
  118. yank_url = "Rune[u]"
  119. yank_id = "Rune[i]"
  120. # Only while typing a message
  121. # Alt+Enter: Insert a new line to the current text.
  122. [keybinds.message_input]
  123. # paste from clipboard (supports both text and images)
  124. paste = "Ctrl+V"
  125. send = "Enter"
  126. # Remove existing text or cancel reply.
  127. cancel = "Esc"
  128. # Complete usernames when mentioning
  129. tab_complete = "Tab"
  130. open_editor = "Ctrl+E"
  131. open_file_picker = "Ctrl+Rune[\\]"
  132. [keybinds.mentions_list]
  133. up = "Ctrl+P"
  134. down = "Ctrl+N"
  135. top = "Home"
  136. bottom = "End"
  137. # style = { foreground = "", background = "", attributes = "" or [""] }
  138. [theme.title]
  139. alignment = "left" # `"left"`, `"center"`, or `"right"`.
  140. normal_style = { attributes = "dim" }
  141. active_style = { foreground = "green", attributes = "bold" }
  142. [theme.footer]
  143. alignment = "left"
  144. normal_style = { attributes = "dim" }
  145. active_style = { foreground = "green", attributes = "bold" }
  146. [theme.border]
  147. enabled = true
  148. padding = [0, 0, 1, 1] # [top, bottom, left, right]
  149. normal_style = { attributes = "dim" }
  150. active_style = { foreground = "green", attributes = "bold" }
  151. # `"hidden"`, `"plain"`, `"round"`, `"thick"`, or `"double"`.
  152. normal_set = "round"
  153. active_set = "round"
  154. [theme.guilds_tree]
  155. auto_expand_folders = true
  156. # Give tree-like shape
  157. graphics = true
  158. graphics_color = "default"
  159. [theme.scroll_bar]
  160. visibility = "auto"
  161. # "minimal", "box_drawing", or "unicode"
  162. glyph_set = "unicode"
  163. track_style = { attributes = "dim" }
  164. thumb_style = {}
  165. [theme.messages_list]
  166. reply_indicator = ">"
  167. forwarded_indicator = "<"
  168. mention_style = { foreground = "blue" }
  169. emoji_style = { foreground = "green" }
  170. url_style = { foreground = "blue" }
  171. attachment_style = { foreground = "yellow" }
  172. message_style = {}
  173. selected_message_style = { attributes = "reverse" }
  174. [theme.mentions_list]
  175. # Note: width and height are capped to the avaliable space
  176. # Minimum width
  177. # 0 = make the list as wide as possible
  178. min_width = 20
  179. # Maximum height
  180. # 0 = make the list as tall as needed
  181. max_height = 0
  182. [theme.dialog]
  183. style = {}
  184. # Background style: everything else behind the dialog
  185. background_style = { attributes = "dim" }