config.toml 5.2 KB

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