config.toml 5.0 KB

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