config.toml 4.9 KB

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