🐝
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1207 lines
28 KiB

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
  1. .\" meli - meli.conf.5
  2. .\"
  3. .\" Copyright 2017-2019 Manos Pitsidianakis
  4. .\"
  5. .\" This file is part of meli.
  6. .\"
  7. .\" meli is free software: you can redistribute it and/or modify
  8. .\" it under the terms of the GNU General Public License as published by
  9. .\" the Free Software Foundation, either version 3 of the License, or
  10. .\" (at your option) any later version.
  11. .\"
  12. .\" meli is distributed in the hope that it will be useful,
  13. .\" but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. .\" GNU General Public License for more details.
  16. .\"
  17. .\" You should have received a copy of the GNU General Public License
  18. .\" along with meli. If not, see <http://www.gnu.org/licenses/>.
  19. .\"
  20. .Dd September 16, 2019
  21. .Dt MELI.CONF 5
  22. .Os
  23. .Sh NAME
  24. .Nm meli.conf
  25. .Nd configuration file for the Meli Mail User Agent
  26. .Sh SYNOPSIS
  27. .Pa $XDG_CONFIG_HOME/meli/config.toml
  28. .Sh DESCRIPTION
  29. Configuration for meli is written in TOML which has a few things to consider (quoting the spec):
  30. .Pp
  31. .Bl -bullet -compact
  32. .It
  33. TOML is case sensitive.
  34. .It
  35. A TOML file must be a valid UTF-8 encoded Unicode document.
  36. .It
  37. Whitespace means tab (0x09) or space (0x20).
  38. .It
  39. Newline means LF (0x0A) or CRLF (0x0D 0x0A).
  40. .El
  41. .Pp
  42. Refer to TOML documentation for valid TOML syntax.
  43. .sp
  44. Though not part of TOML syntax,
  45. .Nm
  46. can have nested configuration files by using the following
  47. .Xr m4 1
  48. include macro:
  49. .Dl include(\&"/path/to/file\&")
  50. .Sh SECTIONS
  51. The top level sections of the config are:
  52. .Bl -bullet -compact
  53. .It
  54. accounts
  55. .It
  56. shortcuts
  57. .It
  58. notifications
  59. .It
  60. pager
  61. .It
  62. listing
  63. .It
  64. composing
  65. .It
  66. pgp
  67. .It
  68. terminal
  69. .It
  70. log
  71. .El
  72. .Sh EXAMPLES
  73. example configuration
  74. .sp
  75. .Bd -literal
  76. # Setting up a Maildir account
  77. [accounts.account-name]
  78. root_mailbox = "/path/to/root/folder"
  79. format = "Maildir"
  80. index_style = "Compact"
  81. identity="email@address.tld"
  82. subscribed_mailboxes = ["folder", "folder/Sent"] # or [ "*", ] for all mailboxes
  83. display_name = "Name"
  84. # Set mailbox-specific settings
  85. [accounts.account-name.mailboxes]
  86. "INBOX" = { alias="Inbox" } #inline table
  87. "drafts" = { alias="Drafts" } #inline table
  88. [accounts.account-name.mailboxes."foobar-devel"] # or a regular table
  89. ignore = true # don't show notifications for this mailbox
  90. # Setting up an mbox account
  91. [accounts.mbox]
  92. root_mailbox = "/var/mail/username"
  93. format = "mbox"
  94. index_style = "Compact"
  95. identity="username@hostname.local"
  96. composing.send_mail = { hostname = "localhost", port = 25, auth = { type = "none" }, security = { type = "none" } }
  97. [pager]
  98. filter = "COLUMNS=72 /usr/local/bin/pygmentize -l email"
  99. html_filter = "w3m -I utf-8 -T text/html"
  100. [notifications]
  101. script = "notify-send"
  102. [composing]
  103. # required for sending e-mail
  104. send_mail = 'msmtp --read-recipients --read-envelope-from'
  105. #send_mail = { hostname = "smtp.mail.tld", port = 587, auth = { type = "auto", username = "user", password = { type = "command_eval", value = "gpg2 --no-tty -q -d ~/.passwords/user.gpg" } }, security = { type = "STARTTLS" } }
  106. editor_command = 'vim +/^$'
  107. [shortcuts]
  108. [shortcuts.composing]
  109. edit_mail = 'e'
  110. [shortcuts.listing]
  111. new_mail = 'm'
  112. set_seen = 'n'
  113. [terminal]
  114. theme = "light"
  115. .Ed
  116. .Pp
  117. Available options are listed below.
  118. Default values are shown in parentheses.
  119. .Sh ACCOUNTS
  120. .Bl -tag -width 36n
  121. .It Ic root_mailbox Ar String
  122. The backend-specific path of the root_mailbox, usually INBOX.
  123. .It Ic format Ar String Op maildir mbox imap notmuch jmap
  124. The format of the mail backend.
  125. .It Ic subscribed_mailboxes Ar [String,]
  126. An array of mailbox paths to display in the UI.
  127. Paths are relative to the root mailbox (eg "INBOX/Sent", not "Sent").
  128. The glob wildcard
  129. .Em \&*
  130. can be used to match every mailbox name and path.
  131. .It Ic identity Ar String
  132. Your e-mail address that is inserted in the From: headers of outgoing mail.
  133. .It Ic index_style Ar String
  134. Sets the way mailboxes are displayed.
  135. .El
  136. .TS
  137. allbox tab(:);
  138. lb l.
  139. conversations:shows one entry per thread
  140. compact:shows one row per thread
  141. threaded:shows threads as a tree structure
  142. plain:shows one row per mail, regardless of threading
  143. .TE
  144. .Bl -tag -width 36n
  145. .It Ic display_name Ar String
  146. .Pq Em optional
  147. A name which can be combined with your address: "Name <email@address.tld>".
  148. .It Ic read_only Ar boolean
  149. Attempt to not make any changes to this account.
  150. .Pq Em false
  151. .It Ic manual_refresh Ar boolean
  152. .Pq Em optional
  153. If true, do not monitor account for changes (you can use shortcut listing.refresh)
  154. .Pq Em false
  155. .It Ic refresh_command Ar String
  156. .Pq Em optional
  157. command to execute when manually refreshing (shortcut listing.refresh)
  158. .Pq Em None
  159. .It Ic search_backend Ar String
  160. .Pq Em optional
  161. Choose which search backend to use.
  162. Available options are 'none' and 'sqlite3'
  163. .Pq Em "sqlite3"
  164. .It Ic vcard_folder Ar String
  165. .Pq Em optional
  166. Folder that contains .vcf files.
  167. They are parsed and imported read-only.
  168. .It Ic mailboxes Ar mailbox
  169. .Pq Em optional
  170. Configuration for each mailbox.
  171. Its format is described below in
  172. .Sx mailboxes Ns
  173. \&.
  174. .El
  175. .Ss notmuch only
  176. .Ic root_mailbox
  177. points to the directory which contains the
  178. .Pa .notmuch/
  179. subdirectory.
  180. notmuch mailboxes are virtual, since they are defined by user-given notmuch queries.
  181. You must explicitly state the mailboxes you want in the
  182. .Ic mailboxes
  183. field and set the
  184. .Ar query
  185. property to each of them.
  186. Example:
  187. .Bd -literal
  188. [accounts.notmuch]
  189. format = "notmuch"
  190. \&...
  191. [accounts.notmuch.mailboxes]
  192. "INBOX" = { query="tag:inbox", subscribe = true }
  193. "Drafts" = { query="tag:draft", subscribe = true }
  194. "Sent" = { query="from:username@server.tld from:username2@server.tld", subscribe = true }
  195. .Ed
  196. .Ss IMAP only
  197. IMAP specific options are:
  198. .Bl -tag -width 36n
  199. .It Ic server_hostname Ar String
  200. example:
  201. .Qq mail.example.tld
  202. .It Ic server_username Ar String
  203. Server username
  204. .It Ic server_password Ar String
  205. Server password
  206. .It Ic server_password_command Ar String
  207. .Pq Em optional
  208. Use instead of
  209. .Ic server_password
  210. .It Ic server_port Ar number
  211. .Pq Em optional
  212. The port to connect to
  213. .\" default value
  214. .Pq Em 143
  215. .It Ic use_starttls Ar boolean
  216. .Pq Em optional
  217. If port is 993 and use_starttls is unspecified, it becomes false by default.
  218. .\" default value
  219. .Pq Em true
  220. .It Ic danger_accept_invalid_certs Ar boolean
  221. .Pq Em optional
  222. Do not validate TLS certificates.
  223. .\" default value
  224. .Pq Em false
  225. .It Ic use_idle Ar boolean
  226. .Pq Em optional
  227. Use IDLE extension.
  228. .\" default value
  229. .Pq Em true
  230. .It Ic use_condstore Ar boolean
  231. .Pq Em optional
  232. Use CONDSTORE extension.
  233. .\" default value
  234. .Pq Em true
  235. .It Ic use_deflate Ar boolean
  236. .Pq Em optional
  237. Use COMPRESS=DEFLATE extension (if built with DEFLATE support).
  238. .\" default value
  239. .Pq Em true
  240. .It Ic use_oauth2 Ar boolean
  241. .Pq Em optional
  242. Use OAUTH2 authentication.
  243. Can only be used with
  244. .Ic server_password_command
  245. which should return a base64-encoded OAUTH2 token ready to be passed to IMAP.
  246. For help on setup with Gmail, see Gmail section below.
  247. .\" default value
  248. .Pq Em false
  249. .It Ic timeout Ar integer
  250. .Pq Em optional
  251. Timeout to use for server connections in seconds.
  252. A timeout of 0 seconds means there's no timeout.
  253. .\" default value
  254. .Pq Em 16
  255. .El
  256. .Ss Gmail
  257. Gmail has non-standard IMAP behaviors that need to be worked around.
  258. .Ss Gmail - sending mail
  259. Option
  260. .Ic store_sent_mail
  261. should be disabled since Gmail auto-saves sent mail by its own.
  262. .Ss Gmail OAUTH2
  263. To use OAUTH2, you must go through a process to register your own private "application" with Google that can use OAUTH2 tokens.
  264. For convenience in the meli repository under the
  265. .Pa contrib/
  266. directory you can find a python3 file named oauth2.py to generate and request the appropriate data to perform OAUTH2 authentication.
  267. Steps:
  268. .Bl -bullet -compact
  269. .It
  270. In Google APIs, create a custom OAuth client ID and note down the Client ID and Client Secret.
  271. You may need to create a consent screen; follow the steps described in the website.
  272. .It
  273. Run the oauth2.py script as follows (after adjusting binary paths and credentials):
  274. .Cm python3 oauth2.py --user=xxx@gmail.com --client_id=1038[...].apps.googleusercontent.com --client_secret=VWFn8LIKAMC-MsjBMhJeOplZ --generate_oauth2_token
  275. and follow the instructions.
  276. Note down the refresh token.
  277. .It
  278. In
  279. .Ic server_password_command
  280. enter a command like this (after adjusting binary paths and credentials):
  281. .Cm TOKEN=$(python3 oauth2.py --user=xxx@gmail.com --quiet --client_id=1038[...].apps.googleusercontent.com --client_secret=VWFn8LIKAMC-MsjBMhJeOplZ --refresh_token=1/Yzm6MRy4q1xi7Dx2DuWXNgT6s37OrP_DW_IoyTum4YA) && python3 oauth2.py --user=xxx@gmail.com --generate_oauth2_string --quiet --access_token=$TOKEN
  282. .It
  283. On startup, meli should evaluate this command which if successful must only return a base64-encoded token ready to be passed to IMAP.
  284. .El
  285. .Ss JMAP only
  286. JMAP specific options
  287. .Bl -tag -width 36n
  288. .It Ic server_hostname Ar String
  289. example:
  290. .Qq mail.example.tld
  291. .It Ic server_username Ar String
  292. Server username
  293. .It Ic server_password Ar String
  294. Server password
  295. .It Ic server_port Ar number
  296. .Pq Em optional
  297. The port to connect to
  298. .\" default value
  299. .Pq Em 443
  300. .It Ic danger_accept_invalid_certs Ar boolean
  301. .Pq Em optional
  302. Do not validate TLS certificates.
  303. .\" default value
  304. .Pq Em false
  305. .El
  306. .Ss mbox only
  307. mbox specific options
  308. .Bl -tag -width 36n
  309. .It Ic prefer_mbox_type Ar String
  310. .Pq Em optional
  311. Prefer specific mbox format reader for each message.
  312. Default is mboxcl2 format.
  313. If the preferred format fails, the message is retried with mboxrd and then if it fails again there's a recover attempt, which discards the invalid message.
  314. Valid values
  315. .Bl -bullet -compact
  316. .It
  317. .Ar auto
  318. .It
  319. .Ar mboxo
  320. .It
  321. .Ar mboxrd
  322. .It
  323. .Ar mboxcl
  324. .It
  325. .Ar mboxcl2
  326. .El
  327. .\" default value
  328. .Pq Em auto
  329. .El
  330. To set multiple mailboxes, you have to explicitly state the mailboxes you want in the
  331. .Ic mailboxes
  332. field and set the
  333. .Ar path
  334. property to each of them.
  335. Example:
  336. .Bd -literal
  337. [accounts.mbox]
  338. format = "mbox"
  339. mailboxes."Python mailing list" = { path = "~/.mail/python.mbox", subscribe = true, autoload = true }
  340. .Ed
  341. .Ss MAILBOXES
  342. .Bl -tag -width 36n
  343. .It Ic alias Ar String
  344. .Pq Em optional
  345. Show a different name for this mailbox in the UI
  346. .It Ic autoload Ar boolean
  347. .Pq Em optional
  348. Load this mailbox on startup
  349. .\" default value
  350. .Pq Em true
  351. .It Ic subscribe Ar boolean
  352. .Pq Em optional
  353. Watch this mailbox for updates
  354. .\" default value
  355. .Pq Em true
  356. .It Ic ignore Ar boolean
  357. .Pq Em optional
  358. Silently insert updates for this mailbox, if any
  359. .\" default value
  360. .Pq Em false
  361. .It Ic usage Ar boolean
  362. .Pq Em optional
  363. special usage of this mailbox.
  364. Valid values are:
  365. .Bl -bullet -compact
  366. .It
  367. .Ar Normal
  368. .Pq Em default
  369. .It
  370. .Ar Inbox
  371. .It
  372. .Ar Archive
  373. .It
  374. .Ar Drafts
  375. .It
  376. .Ar Flagged
  377. .It
  378. .Ar Junk
  379. .It
  380. .Ar Sent
  381. .It
  382. .Ar Trash
  383. .El
  384. otherwise usage is inferred from the mailbox title.
  385. If for example your Sent folder is not named "Sent", you must explicitly set it.
  386. .It Ic conf_override Ar boolean
  387. .Pq Em optional
  388. Override global settings for this mailbox.
  389. Available sections to override are
  390. .Em pager, notifications, shortcuts, composing
  391. and the account options
  392. .Em identity
  393. and
  394. .Em index_style Ns
  395. \&.
  396. Example:
  397. .Bd -literal
  398. [accounts."imap.domain.tld".mailboxes."INBOX"]
  399. index_style = "plain"
  400. [accounts."imap.domain.tld".mailboxes."INBOX".pager]
  401. filter = ""
  402. .Ed
  403. .El
  404. .Sh COMPOSING
  405. Composing specific options
  406. .Bl -tag -width 36n
  407. .It Ic send_mail Ar String|SmtpServerConf
  408. Command to pipe new mail to (exit code must be 0 for success) or settings for an SMTP server connection.
  409. See section
  410. .Sx SMTP Connections
  411. for its fields.
  412. .It Ic editor_command Ar String
  413. Command to launch editor.
  414. Can have arguments.
  415. Draft filename is given as the last argument.
  416. If it's missing, the environment variable $EDITOR is looked up.
  417. .It Ic embed Ar boolean
  418. .Pq Em optional
  419. Embed editor within meli.
  420. Editor must be xterm compliant.
  421. .\" default value
  422. .Pq Em false
  423. .It Ic format_flowed Ar boolean
  424. .Pq Em optional
  425. Set format=flowed [RFC3676] in text/plain attachments.
  426. .\" default value
  427. .Pq Em true
  428. .It Ic insert_user_agent Ar boolean
  429. .Pq Em optional
  430. Add meli User-Agent header in new drafts
  431. .\" default value
  432. .Pq Em true
  433. .It Ic default_header_values Ar hash table String[String]
  434. Default header values used when creating a new draft.
  435. .It Ic store_sent_mail Ar boolean
  436. .Pq Em optional
  437. Store sent mail after successful submission.
  438. This setting is meant to be disabled for non-standard behaviour in gmail, which auto-saves sent mail on its own.
  439. .\" default value
  440. .Pq Em true
  441. .El
  442. .Sh SHORTCUTS
  443. Shortcuts can take the following values:
  444. .Bl -bullet -compact
  445. .It
  446. .Em Backspace
  447. .It
  448. .Em Left
  449. .It
  450. .Em Right
  451. .It
  452. .Em Up
  453. .It
  454. .Em Down
  455. .It
  456. .Em Home
  457. .It
  458. .Em End
  459. .It
  460. .Em PageUp
  461. .It
  462. .Em PageDown
  463. .It
  464. .Em Delete
  465. .It
  466. .Em Insert
  467. .It
  468. .Em Enter
  469. .It
  470. .Em Tab
  471. .It
  472. .Em Esc
  473. .It
  474. .Em F1..F12
  475. .It
  476. .Em M-char
  477. .It
  478. .Em C-char
  479. .It
  480. .Em char
  481. .El
  482. .Em char
  483. is a single character string.
  484. .sp
  485. The headings before each list indicate the map key of the shortcut list.
  486. For example for the first list titled
  487. .Em general
  488. the configuration is typed as follows:
  489. .Bd -literal
  490. [shortcuts.general]
  491. next_tab = 'T'
  492. .Ed
  493. .sp
  494. and for
  495. .Em compact-listing Ns
  496. :
  497. .Bd -literal
  498. [shortcuts.compact-listing]
  499. open_thread = "Enter"
  500. exit_thread = 'i'
  501. .Ed
  502. .sp
  503. .Pp
  504. .Em general
  505. .Bl -tag -width 36n
  506. .It Ic toggle_help
  507. Toggle help and shortcuts view.
  508. .\" default value
  509. .Pq Em \&?
  510. .It Ic quit
  511. Quit application.
  512. .\" default value
  513. .Pq Ql Em q
  514. .It Ic enter_command_mode
  515. Enter
  516. .Em COMMAND
  517. mode.
  518. .\" default value
  519. .Pq Ql Em \&:
  520. .It Ic next_tab
  521. Go to next tab.
  522. .\" default value
  523. .Pq Em T
  524. .It Ic go_to_tab
  525. Go to the
  526. .Em n Ns
  527. th tab
  528. .Pq Em cannot be redefined
  529. .El
  530. .sp
  531. .Em listing
  532. .Bl -tag -width 36n
  533. .It Ic prev_page
  534. Go to previous page.
  535. .\" default value
  536. .Pq Em PageUp
  537. .It Ic next_page
  538. Go to next page.
  539. .\" default value
  540. .Pq Em PageDown
  541. .It Ic prev_mailbox
  542. Go to previous mailbox.
  543. .\" default value
  544. .Pq Em K
  545. .It Ic next_mailbox
  546. Go to next mailbox.
  547. .\" default value
  548. .Pq Em J
  549. .It Ic prev_account
  550. Go to previous account.
  551. .\" default value
  552. .Pq Em l
  553. .It Ic next_account
  554. Go to next account.
  555. .\" default value
  556. .Pq Em h
  557. .It Ic new_mail
  558. Start new mail draft in new tab
  559. .\" default value
  560. .Pq Em m
  561. .It Ic set_seen
  562. Set thread as seen.
  563. .\" default value
  564. .Pq Em n
  565. .It Ic refresh
  566. Manually request a mailbox refresh.
  567. .\" default value
  568. .Pq Em F5
  569. .It Ic search
  570. Search within list of e-mails.
  571. .\" default value
  572. .Pq Em /
  573. .It Ic toggle_menu_visibility
  574. Toggle visibility of side menu in mail list.
  575. .\" default value
  576. .Pq Em `
  577. .El
  578. .sp
  579. .Em compact-listing
  580. .Bl -tag -width 36n
  581. .It Ic exit_thread
  582. Exit thread view
  583. .\" default value
  584. .Pq Em i
  585. .It Ic open_thread
  586. Open thread.
  587. .\" default value
  588. .Pq Em Enter
  589. .It Ic select_entry
  590. Select thread entry.
  591. .\" default value
  592. .Pq Em v
  593. .El
  594. .sp
  595. .Em pager
  596. .Bl -tag -width 36n
  597. .It Ic scroll_up
  598. Scroll up pager.
  599. .\" default value
  600. .Pq Em k
  601. .It Ic scroll_down
  602. Scroll down pager.
  603. .\" default value
  604. .Pq Em j
  605. .It Ic page_up
  606. Go to previous pager page
  607. .\" default value
  608. .Pq Em PageUp
  609. .It Ic page_down
  610. Go to next pager pag
  611. .\" default value
  612. .Pq Em PageDown
  613. .El
  614. .sp
  615. .Em contact-list
  616. .Bl -tag -width 36n
  617. .It Ic create_contact
  618. Create new contact.
  619. .\" default value
  620. .Pq Em c
  621. .It Ic edit_contact
  622. Edit contact under cursor
  623. .\" default value
  624. .Pq Em e
  625. .It Ic mail_contact
  626. Mail contact under cursor
  627. .\" default value
  628. .Pq Em m
  629. .It Ic toggle_menu_visibility
  630. Toggle visibility of side menu in mail list.
  631. .\" default value
  632. .Pq Em `
  633. .El
  634. .sp
  635. .sp
  636. .Em composing
  637. .Bl -tag -width 36n
  638. .It Ic send_mail
  639. Deliver draft to mailer
  640. .\" default value
  641. .Pq Em s
  642. .It Ic edit_mail
  643. Edit mail.
  644. .\" default value
  645. .Pq Em e
  646. .El
  647. .sp
  648. .Em envelope-view
  649. .Pp
  650. To select an attachment, type its index (you will see the typed result in the command buffer on the bottom right of the status line), then issue the corresponding command.
  651. .Bl -tag -width 36n
  652. .It Ic add_addresses_to_contacts Ns
  653. Select addresses from envelope to add to contacts.
  654. .\" default value
  655. .Pq Em c
  656. .It Ic view_raw_source
  657. View raw envelope source in a pager.
  658. .\" default value
  659. .Pq Em M-r
  660. .It Ic reply
  661. Reply to envelope.
  662. .\" default value
  663. .Pq Em R
  664. .It Ic edit
  665. Open envelope in composer.
  666. .\" default value
  667. .Pq Em e
  668. .It Ic return_to_normal_view
  669. Return to envelope if viewing raw source or attachment.
  670. .\" default value
  671. .Pq Em r
  672. .It Ic open_attachment
  673. Opens selected attachment with
  674. .Cm xdg-open
  675. .\" default value
  676. .Pq Em a
  677. .It Ic open_mailcap
  678. Opens selected attachment according to its mailcap entry.
  679. See
  680. .Xr meli 1 FILES
  681. for the mailcap file locations.
  682. .\" default value
  683. .Pq Em m
  684. .It Ic go_to_url
  685. Go to url of given index
  686. .\" default value
  687. .Pq Em g
  688. .It Ic toggle_url_mode
  689. Toggles url open mode.
  690. When active, it prepends an index next to each url that you can select by typing the index and open by issuing
  691. .Ic go_to_url
  692. .\" default value
  693. .Pq Em u
  694. .It Ic toggle_expand_headers
  695. Expand extra headers (References and others)
  696. .\" default value
  697. .Pq Em h
  698. .El
  699. .sp
  700. .Em thread-view
  701. .Bl -tag -width 36n
  702. .It Ic reverse_thread_order
  703. Reverse thread order.
  704. .\" default value
  705. .Pq Em r
  706. .It Ic toggle_mailview
  707. Toggle mail view visibility.
  708. .\" default value
  709. .Pq Em p
  710. .It Ic toggle_threadview
  711. Toggle thread view visibility.
  712. .\" default value
  713. .Pq Em t
  714. .It Ic collapse_subtree
  715. Collapse thread branches.
  716. .\" default value
  717. .Pq Em h
  718. .It Ic prev_page
  719. Go to previous page.
  720. .\" default value
  721. .Pq Em PageUp
  722. .It Ic next_page
  723. Go to next page.
  724. .\" default value
  725. .Pq Em PageDown
  726. .El
  727. .sp
  728. .Sh NOTIFICATIONS
  729. .Bl -tag -width 36n
  730. .It Ic enable Ar boolean
  731. Enable notifications.
  732. .\" default value
  733. .Pq Em true
  734. .It Ic script Ar String
  735. .Pq Em optional
  736. Script to pass notifications to, with title as 1st arg and body as 2nd
  737. .\" default value
  738. .Pq Em none Ns
  739. \&.
  740. .It Ic xbiff_file_path Ar String
  741. .Pq Em optional
  742. File that gets its size updated when new mail arrives.
  743. .Pq Em none
  744. .\" default value
  745. .It Ic play_sound Ar boolean
  746. .Pq Em optional
  747. Play theme sound in notifications if possible.
  748. .Pq Em false
  749. .\" default value
  750. .It Ic sound_file Ar String
  751. .Pq Em optional
  752. Play sound file in notifications if possible.
  753. .\" default value
  754. .Pq Em none
  755. .El
  756. .Sh PAGER
  757. .Bl -tag -width 36n
  758. .It Ic headers_sticky Ar boolean
  759. .Pq Em optional
  760. Always show headers when scrolling.
  761. .\" default value
  762. .Pq Em true
  763. .It Ic html_filter Ar String
  764. .Pq Em optional
  765. Pipe html attachments through this filter before display
  766. .\" default value
  767. .Pq Em none
  768. .It Ic filter Ar String
  769. .Pq Em optional
  770. A command to pipe mail output through for viewing in pager.
  771. .\" default value
  772. .Pq Em none
  773. .It Ic format_flowed Ar bool
  774. .Pq Em optional
  775. Respect format=flowed
  776. .\" default value
  777. .Pq Em true
  778. .It Ic split_long_lines Ar bool
  779. .Pq Em optional
  780. Split long lines that would overflow on the x axis.
  781. .\" default value
  782. .Pq Em true
  783. .It Ic minimum_width Ar num
  784. .Pq Em optional
  785. Minimum text width in columns.
  786. .\" default value
  787. .Pq Em 80
  788. .It Ic auto_choose_multipart_alternative Ar boolean
  789. .Pq Em optional
  790. Choose `text/html` alternative if `text/plain` is empty in `multipart/alternative` attachments.
  791. .\" default value
  792. .Pq Em true
  793. .El
  794. .Sh LISTING
  795. .Bl -tag -width 36n
  796. .It Ic datetime_fmt Ar String
  797. .Pq Em optional
  798. Datetime formatting passed verbatim to strftime(3).
  799. .\" default value
  800. .Pq Em \&%Y-\&%m-\&%d \&%T
  801. .It Ic recent_dates Ar Boolean
  802. .Pq Em optional
  803. Show recent dates as `X {minutes,hours,days} ago`, up to 7 days.
  804. .\" default value
  805. .Pq Em true
  806. .It Ic filter Ar Query
  807. .Pq Em optional
  808. Show only envelopes matching this query.
  809. .Po
  810. For query syntax see
  811. .Xr meli 1 QUERY ABNF SYNTAX
  812. .Pc
  813. .\" default value
  814. .Pq Em None
  815. .Pp
  816. Example:
  817. .Bd -literal
  818. filter = "not flags:seen" # show only unseen messages
  819. .Ed
  820. .It Ic index_style Ar String
  821. Sets the way mailboxes are displayed.
  822. .It Ic sidebar_mailbox_tree_has_sibling Ar String
  823. .Pq Em optional
  824. Sets the string to print in the mailbox tree for a level where its root has a sibling.
  825. See example below for a clear explanation and examples.
  826. .It Ic sidebar_mailbox_tree_no_sibling Ar String
  827. .Pq Em optional
  828. Sets the string to print in the mailbox tree for a level where its root has no sibling.
  829. .It Ic sidebar_mailbox_tree_has_sibling_leaf Ar String
  830. .Pq Em optional
  831. Sets the string to print in the mailbox tree for a leaf level where its root has a sibling.
  832. .It Ic sidebar_mailbox_tree_no_sibling_leaf Ar String
  833. .Pq Em optional
  834. Sets the string to print in the mailbox tree for a leaf level where its root has no sibling.
  835. .El
  836. .Ss Examples of sidebar mailbox tree customization
  837. The default values
  838. .sp
  839. .Bd -literal
  840. has_sibling = " "
  841. no_sibling = " ";
  842. has_sibling_leaf = " "
  843. no_sibling_leaf = " "
  844. .Ed
  845. .sp
  846. render a mailbox tree like the following:
  847. .sp
  848. .Bd -literal
  849. 0 Inbox 3
  850. 1 Archive
  851. 2 Drafts
  852. 3 Lists
  853. 4 example-list-a
  854. 5 example-list-b
  855. 6 Sent
  856. 7 Spam
  857. 8 Trash
  858. .Ed
  859. .sp
  860. Other possible trees:
  861. .sp
  862. .Bd -literal
  863. has_sibling = " ┃"
  864. no_sibling = " "
  865. has_sibling_leaf = " ┣━"
  866. no_sibling_leaf = " ┗━"
  867. .Ed
  868. .sp
  869. .Bd -literal
  870. 0 Inbox 3
  871. 1 ┣━Archive
  872. 2 ┣━Drafts
  873. 3 ┣━Lists
  874. 4 ┃ ┣━example-list-a
  875. 5 ┃ ┗━example-list-b
  876. 6 ┣━Sent
  877. 7 ┣━Spam
  878. 8 ┗━Trash
  879. .Ed
  880. .sp
  881. A completely ASCII one:
  882. .sp
  883. .Bd -literal
  884. has_sibling = " |"
  885. no_sibling = " "
  886. has_sibling_leaf = " |\\_"
  887. no_sibling_leaf = " \\_"
  888. .Ed
  889. .sp
  890. .Bd -literal
  891. 0 Inbox 3
  892. 1 |\\_Archive
  893. 2 |\\_Drafts
  894. 3 |\\_Lists
  895. 4 | |\\_example-list-a
  896. 5 | \\_example-list-b
  897. 6 |\\_Sent
  898. 7 |\\_Spam
  899. 8 \\_Trash
  900. .Ed
  901. .sp
  902. .Sh TAGS
  903. .Bl -tag -width 36n
  904. .It Ic colours Ar hash table String[Color]
  905. .Pq Em optional
  906. Set UI colors for tags
  907. .It Ic ignore_tags Ar Array String
  908. .Pq Em optional
  909. Hide tags (not the tagged messages themselves)
  910. .El
  911. .sp
  912. Example:
  913. .sp
  914. .Bd -literal
  915. [tags]
  916. # valid inputs: #HHHHHH, #ABC -> #AABBCC, XTERM_NAME, 0-255 byte
  917. colors = { signed="#Ff6600", replied="DeepSkyBlue4", draft="#f00", replied="8" }
  918. [accounts.dummy]
  919. \&...
  920. [accounts.dummy.mailboxes]
  921. # per mailbox override:
  922. "INBOX" = { tags.ignore_tags=["inbox", ] }
  923. .Ed
  924. .Sh PGP
  925. .Bl -tag -width 36n
  926. .It Ic auto_verify_signatures Ar boolean
  927. Auto verify signed e-mail according to RFC3156
  928. .\" default value
  929. .Pq Em true
  930. .It Ic auto_sign Ar boolean
  931. .Pq Em optional
  932. Always sign sent messages
  933. .\" default value
  934. .Pq Em false
  935. .It Ic key Ar String
  936. .Pq Em optional
  937. Key to be used when signing/encrypting (not functional yet)
  938. .\" default value
  939. .Pq Em none
  940. .El
  941. .Sh TERMINAL
  942. .Bl -tag -width 36n
  943. .It Ic theme Ar String
  944. .Pq Em optional
  945. Theme name to use.
  946. .\" default value
  947. .Pq Em dark
  948. .It Ic ascii_drawing Ar boolean
  949. .Pq Em optional
  950. If true, box drawing will be done with ascii characters.
  951. .\" default value
  952. .Pq Em false
  953. .It Ic use_color Ar boolean
  954. .Pq Em optional
  955. If false, no ANSI colors are used.
  956. .\" default value
  957. .Pq Em true
  958. .It Ic window_title Ar String
  959. .Pq Em optional
  960. Set window title in xterm compatible terminals An empty string means no window title is set.
  961. .\" default value
  962. .Pq Em "meli"
  963. .It Ic file_picker_command Ar String
  964. .Pq Em optional
  965. Set command that prints file paths in stderr, separated by NULL bytes.
  966. Used with
  967. .Ic add-attachment-file-picker
  968. when composing new mail.
  969. .\" default value
  970. .Pq Em None
  971. .It Ic themes Ar hash table String[String[Attribute]]
  972. Define UI themes.
  973. See
  974. .Xr meli-themes 5
  975. for details.
  976. .Bd -literal
  977. [terminal]
  978. theme = "themeB"
  979. [terminal.themes.themeA]
  980. "mail.view.body" = {fg = "HotPink3", bg = "LightSalmon1"}
  981. \&...
  982. [terminal.themes.themeB]
  983. "mail.view.body" = {fg = "CadetBlue", bg = "White"}
  984. \&...
  985. [terminal.themes.themeC]
  986. \&...
  987. .Ed
  988. .It Ic use_mouse Ar bool
  989. Use mouse events.
  990. This will disable text selection, but you will be able to resize some widgets.
  991. This setting can be toggled with
  992. .Cm toggle mouse Ns
  993. \&.
  994. .\" default value
  995. .Pq Em false
  996. .It Ic mouse_flag Ar String
  997. String to show in status bar if mouse is active.
  998. .\" default value
  999. .Pq Em 🖱️
  1000. .It Ic progress_spinner_sequence Ar Either \&< Integer, [String] \&>
  1001. Choose between 30-something built in sequences (integers between 0-30) or define your own list of strings for the progress spinner animation.
  1002. Set to an empty array to disable the progress spinner.
  1003. .\" default value
  1004. .Pq Em 19
  1005. Builtin sequences are:
  1006. .Bd -literal
  1007. 0 ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"]
  1008. 1 ["⣀", "⣄", "⣤", "⣦", "⣶", "⣷", "⣿"]
  1009. 2 ["⣀", "⣄", "⣆", "⣇", "⣧", "⣷", "⣿"]
  1010. 3 ["○", "◔", "◐", "◕", "⬤"]
  1011. 4 ["□", "◱", "◧", "▣", "■"]
  1012. 5 ["□", "◱", "▨", "▩", "■"]
  1013. 6 ["□", "◱", "▥", "▦", "■"]
  1014. 7 ["░", "▒", "▓", "█"]
  1015. 8 ["░", "█"]
  1016. 9 ["⬜", "⬛"]
  1017. 10 ["▱", "▰"]
  1018. 11 ["▭", "◼"]
  1019. 12 ["▯", "▮"]
  1020. 13 ["◯", "⬤"]
  1021. 14 ["⚪", "⚫"]
  1022. 15 ["▖", "▗", "▘", "▝", "▞", "▚", "▙", "▟", "▜", "▛"]
  1023. 16 ["|", "/", "-", "\\"]
  1024. 17 [".", "o", "O", "@", "*"]
  1025. 18 ["◡◡", "⊙⊙", "◠◠", "⊙⊙"]
  1026. 19 ["◜ ", " ◝", " ◞", "◟ "]
  1027. 10 ["←", "↖", "↑", "↗", "→", "↘", "↓", "↙"]
  1028. 11 ["▁", "▃", "▄", "▅", "▆", "▇", "█", "▇", "▆", "▅", "▄", "▃"]
  1029. 22 ["▉", "▊", "▋", "▌", "▍", "▎", "▏", "▎", "▍", "▌", "▋", "▊", "▉"]
  1030. 23 ["▖", "▘", "▝", "▗"]
  1031. 24 ["▌", "▀", "▐", "▄"]
  1032. 25 ["┤", "┘", "┴", "└", "├", "┌", "┬", "┐"]
  1033. 26 ["◢", "◣", "◤", "◥"]
  1034. 27 ["⠁", "⠂", "⠄", "⡀", "⢀", "⠠", "⠐", "⠈"]
  1035. 28 ["⢎⡰", "⢎⡡", "⢎⡑", "⢎⠱", "⠎⡱", "⢊⡱", "⢌⡱", "⢆⡱"]
  1036. 29 [".", "o", "O", "°", "O", "o", "."]
  1037. .Ed
  1038. Or, define an array of strings each consisting of a frame in the progress sequence indicator:
  1039. .Bd -literal
  1040. # 𝄈⡂″⡈߳܃⢂:߳̈⢁܄ː“⢐″„⠑։ ⡁⡈;ܹ⡂։𝂬̤⡂꞉⣀ܹ⢁⠊𝄈⠉⠑ܸ̈׃ ;⢐;߳⠡܉˸⠒߳꞉⁚𝂬⠑⠒܅⠊;⠔⠢܄ ”⠉ֵ”⢂⢁̈⁚⠊˸⠌ܸ̤⣀𝂬⠤⠨⠢‥¨ ⡠܉꞉꞉⠑׃⠑⡐⠨؛ܸ܆„ܹ⡈⢁;⢄܄؛ ܲ⢄⠡⡁‥؛ܲ⢂“⢈։⠔⢄”꞉܉⠔
  1041. # Taken from @SmoothUnicode@botsin.space
  1042. progress_spinner_sequence = ["։","𝄈","⡂","″","⡈߳","܃","⢂",":߳̈","⢁","܄","ː","“","⢐","″","„","⠑","։"," ","⡁","⡈",";ܹ","⡂","։","𝂬̤","⡂","꞉","⣀ܹ","⢁","⠊","𝄈","⠉","⠑ܸ̈","׃"," ",";","⢐",";߳","⠡","܉","˸","⠒߳","꞉","⁚","𝂬","⠑","⠒","܅","⠊",";","⠔","⠢","܄"," ","”","⠉ֵ","”","⢂","⢁̈","⁚","⠊","˸","⠌ܸ̤","⣀","𝂬","⠤","⠨","⠢","‥","¨"," ","⡠","܉","꞉","꞉","⠑","׃","⠑","⡐","⠨","؛ܸ","܆","„ܹ","⡈","⢁",";","⢄܄","؛"," ܲ","⢄","⠡","⡁","‥","؛ܲ","⢂","“","⢈","։","⠔","⢄","”","꞉","܉","⠔"]
  1043. .Ed
  1044. .El
  1045. .Sh LOG
  1046. .Bl -tag -width 36n
  1047. .It Ic log_file Ar String
  1048. .Pq Em optional
  1049. path of the log file
  1050. .\" default value
  1051. .Pq Pa $XDG_DATA_HOME/meli/meli.log
  1052. .It Ic maximum_level Ar String
  1053. .Pq Em optional
  1054. maximum level of messages to log.
  1055. All levels less or equal to the
  1056. .Ic maximum_level
  1057. will be appended to the log file.
  1058. Available levels are, in partial order:
  1059. .Bl -bullet -compact
  1060. .It
  1061. .Em OFF
  1062. .It
  1063. .Em FATAL
  1064. .It
  1065. .Em ERROR
  1066. .It
  1067. .Em WARN
  1068. .It
  1069. .Em INFO
  1070. .It
  1071. .Em DEBUG
  1072. .It
  1073. .Em TRACE
  1074. .El
  1075. This means that to turn logging off, set
  1076. .Ic maximum_level
  1077. to
  1078. .Em OFF Ns
  1079. \&.
  1080. .\" default value
  1081. .Pq Em INFO
  1082. .El
  1083. .Sh SMTP Connections
  1084. .Bl -tag -width 36n
  1085. .It Ic hostname Ar String
  1086. server hostname
  1087. .It Ic port Ar Integer
  1088. server port
  1089. .It Ic envelope_from Ar String
  1090. .Pq Em optional
  1091. address to set as sender in SMTP transactions
  1092. .\" default value
  1093. .Pq Em none
  1094. .It Ic auth Ar SmtpAuth
  1095. SMTP server authentication.
  1096. See
  1097. .Sx SmtpAuth
  1098. subsection.
  1099. .It Ic security Ar SmtpSecurity
  1100. .Pq Em optional
  1101. gpg binary name or file location to use
  1102. .\" default value
  1103. .Po see
  1104. .Sx SmtpSecurity
  1105. subsection
  1106. .Pc
  1107. .It Ic extensions Ar SmtpExtensions
  1108. .Pq Em optional
  1109. set support for SMTP extensions if they are advertised by the server
  1110. .\" default value
  1111. .Po see
  1112. .Sx SmtpExtensions
  1113. subsection
  1114. .Pc
  1115. .El
  1116. .Ss SmtpAuth
  1117. .Bl -tag -width 36n
  1118. .It Ic type Ar "none" | "auto"
  1119. .El
  1120. .Pp
  1121. For type "auto":
  1122. .Bl -tag -width 36n
  1123. .It Ic username Ar String
  1124. .It Ic password Ar SmtpPassword
  1125. .It Ic require_auth Ar bool
  1126. .Pq Em optional
  1127. require authentication in every case
  1128. .\" default value
  1129. .Pq Em true
  1130. .El
  1131. .sp
  1132. Examples:
  1133. .Bd -literal
  1134. auth = { type = "auto", username = "user", password = { type = "raw", value = "hunter2" } }
  1135. .Ed
  1136. .Bd -literal
  1137. auth = { type = "auto", username = "user", password = "hunter2" }
  1138. .Ed
  1139. .Bd -literal
  1140. auth = { type = "none" }
  1141. .Ed
  1142. .Ss SmtpPassword
  1143. .Bl -tag -width 36n
  1144. .It Ic type Ar "raw" | "command_evaluation"
  1145. .It Ic value Ar String
  1146. Either a raw password string, or command to execute.
  1147. .El
  1148. .sp
  1149. Examples:
  1150. .Bd -literal
  1151. password = { type = "raw", value = "hunter2" }
  1152. .Ed
  1153. .Bd -literal
  1154. password = { type = "command_eval", value = "gpg2 --no-tty -q -d ~/.passwords/user.gpg" }
  1155. .Ed
  1156. .Ss SmtpSecurity
  1157. Default security type is
  1158. .Em auto Ns
  1159. \&.
  1160. .Bl -tag -width 36n
  1161. .It Ic type Ar "none" | "auto" | "starttls" | "tls"
  1162. .It Ic danger_accept_invalid_certs Ar bool
  1163. Accept invalid SSL/TLS certificates
  1164. .\" default value
  1165. .Pq Em false
  1166. .El
  1167. .Ss SmtpExtensions
  1168. .Bl -tag -width 36n
  1169. .It Ic pipelining Ar bool
  1170. rfc2920
  1171. .\" default value
  1172. .Pq Em true
  1173. .It Ic chunking Ar bool
  1174. rfc3030
  1175. .\" default value
  1176. .Pq Em true
  1177. .It Ic prdr Ar bool
  1178. draft-hall-prdr-00
  1179. .\" default value
  1180. .Pq Em true
  1181. .It Ic dsn_notify Ar String
  1182. RFC3461
  1183. .\" default value
  1184. .Pq Em FAILURE
  1185. .El
  1186. .Sh SEE ALSO
  1187. .Xr meli 1 ,
  1188. .Xr meli-themes 5
  1189. .Sh CONFORMING TO
  1190. TOML Standard v.0.5.0 https://toml.io/en/v0.5.0
  1191. .Sh AUTHORS
  1192. Copyright 2017-2019
  1193. .An Manos Pitsidianakis Aq epilys@nessuent.xyz
  1194. Released under the GPL, version 3 or greater.
  1195. This software carries no warranty of any kind.
  1196. (See COPYING for full copyright and warranty notices.)
  1197. .Pp
  1198. .Aq https://meli.delivery