aboutsummaryrefslogtreecommitdiffstats
path: root/config/config.go
Commit message (Collapse)AuthorAgeFilesLines
* compose: add default template for new messagesRobin Jarry2022-01-191-0/+2
| | | | | | | Allow defining a default template to use when composing new messages. Add an example to be used for new users. Signed-off-by: Robin Jarry <robin@jarry.cc>
* config: fix code formattingRobin Jarry2021-12-111-11/+11
| | | | | | | Tabs are required. Fixes: 175d0efeb22e ("binds: add account specific bindings") Signed-off-by: Robin Jarry <robin@jarry.cc>
* binds: add account specific bindingsJonathan Bartlett2021-12-111-53/+153
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When using aerc for multiple accounts often bindings might differ slightly between accounts. For example: * Account A archives to one directory (:archive) * Account B archives to monthly directories (:archive month) Add account specific bindings to allow the user to add a "context" to a binding group using a context specifier and a regular expression. Currently the only context specifier is 'account'. The regular expression is validated against the accounts loaded from accounts.conf and the configuration fails to load if there are no matches. Contextual bindings are merged with global bindings, with contextual bindings taking precedence, when that context is active. Bindings are be configured using a generic pattern of 'view:context=regexp'. E.g.: # Globally Applicable Archiving [messages] A = :read<Enter>:archive<Enter> # Monthly Archiving for 'Mailbox' Account [messages:account=Mailbox$] A = :read<Enter>:archive month<Enter> In the above example all accounts matching the regular expression will archive in the monthly format - all others will use the global binding. Signed-off-by: Jonathan Bartlett <jonathan@jonnobrow.co.uk>
* style: customize vertical and horizontal border charactersDian M Fay2021-11-301-0/+32
| | | | | | | | | New border-char-horizontal and border-char-vertical config settings in aerc.conf allow users to modify border appearance from the default 1-wide/tall blank space. In stylesets, border.fg now affects the foreground color when custom characters are defined. Signed-off-by: Robin Jarry <robin@jarry.cc>
* notmuch: allow sort by file orderKalyan Sriram2021-11-131-22/+27
| | | | | | | | | | | | When using the notmuch backend, it often makes more sense to sort folders (actual virtual folders, or queries) by the order specified in the query-map file, rather than alphabetically. This patch introduces a configuration option (disabled by default) that allows this. Additionally, due to the notmuch backend previously using maps (which are order-undefined) to store the list of queries, default query selection on aerc startup fluctuated. This patch fixes that by using slices to store query order.
* messages: allow displaying email threadsy0ast2021-11-131-0/+1
| | | | | | | | | | | | | Display threads in the message list. For now, only supported by the notmuch backend and on IMAP when the server supports the THREAD extension. Setting threading-enable=true is global and will cause the message list to be empty with maildir:// accounts. Co-authored-by: Kevin Kuehler <keur@xcf.berkeley.edu> Co-authored-by: Reto Brunner <reto@labrat.space> Signed-off-by: Robin Jarry <robin@jarry.cc>
* index: add this-week-time-formatRobin Jarry2021-11-061-0/+2
| | | | | | | Also allow specific time format for messages received within the last 7 days. Signed-off-by: Robin Jarry <robin@jarry.cc>
* go.mod: change base git urlRobin Jarry2021-11-051-1/+1
| | | | | | | I'm not sure what are the implications but it seems required. Link: https://github.com/golang/go/issues/20883 Signed-off-by: Robin Jarry <robin@jarry.cc>
* index: allow dynamic formatting of message datesRobin Jarry2021-10-281-2/+6
| | | | | | | | | | | | | | | | | | | | | When a message has been sent today (or this year) allow formatting the date differently. For example, with: [ui] index-format=%-25.25n %-25.25D %s timestamp-format=2006 Jan 02, 15:04 GMT-0700 this-day-time-format=Today at 15:04 this-year-time-format=Jan 02 The message list would look like this (spaces collapsed): Robin Jarry Today at 16:30 [PATCH 1/2] bindings: prepare for more modifers bugzilla@dpdk.org Oct 26 [dpdk-dev] [Bug 839] pdump: any subsequent runs of pdump_autotest fail Holger Levsen 2020 Mar 15, 13:44 GMT+01 +1 (Re: FTP Team -- call for volunteers) Signed-off-by: Robin Jarry <robin@jarry.cc>
* load config: do not overwrite the config upon errorReto Brunner2021-04-171-8/+9
| | | | | | | It makes absolutely no sense to copy over the default template from aerc.conf when the syntax is invalid and our ini parser fails. The only valid case to do that is if the file is actually missing.
* config: proper error handle [filters] configwagner riffel2021-04-121-1/+4
| | | | | | Instead of panic when compiling a regular expression, return it up Signed-off-by: wagner riffel <w@104d.net>
* correct permission check on accounts.confBor Grošelj Simić2021-01-141-2/+1
|
* update tcell to v2 and enable TrueColor supporty0ast2020-12-181-1/+1
| | | | | | | | | Also update to the tcell v2 PaletteColor api, which should keep the chosen theme of the user intact. Note, that if $TRUECOLOR is defined and a truecolor given, aerc will now stop clipping the value to one of the theme colors. Generally this is desired behaviour though.
* compose: use a proper header instead of a string mapReto Brunner2020-11-141-1/+3
| | | | | | | | | | | | | Prior to this commit, the composer was based on a map[string]string. While this approach was very versatile, it lead to a constant encoding / decoding of addresses and other headers. This commit switches to a different model, where the composer is based on a header. Commands which want to interact with it can simply set some defaults they would like to have. Users can overwrite them however they like. In order to get access to the functions generating / getting the msgid go-message was upgraded.
* Check account's from value is not emptyAndrew Jeffery2020-11-131-0/+3
| | | | | This leads to a nasty 'mail: no address' message for each email if left empty so the user really should enter it.
* Apply relevant msglist styles in orderChris Vittal2020-11-011-0/+9
| | | | | | | | | | | | | | | | | | Allow styles to be layered over a base style. The list of styles to apply is layered over the base style in order, such that if the layer does not differ from the base it is not used. The order that these styles are applied in is, from first to last: msglist_default msglist_unread msglist_read (exclusive with unread, so technically the same level) msglist_flagged msglist_deleted msglist_marked So, msglist_marked style dominates. This fixes an issue where the msglist_deleted style was not being applied.
* Add account alias configuration and correctly set From fieldy0ast2020-08-201-0/+3
| | | | | We infer the correct From using the To: and Cc: field of the email that we reply to.
* Implement style configuration.Kalyan Sriram2020-08-061-6/+60
| | | | | | Introduce the ability to configure stylesets, allowing customization of aerc's look (color scheme, font weight, etc). Default styleset is installed to /path/to/aerc/stylesets/default.
* Revert "Implement style configuration."Reto Brunner2020-07-301-49/+6
| | | | This reverts commit 1ff687ca2b0821c2cacc1fa725abb3302d2af9da.
* Implement style configuration.Kalyan Sriram2020-07-301-6/+49
| | | | | | Introduce the ability to configure stylesets, allowing customization of aerc's look (color scheme, font weight, etc). Default styleset is installed to /path/to/aerc/stylesets/default.
* run go fmtReto Brunner2020-07-171-1/+1
|
* Add a 'folders-exclude' optionARaspiK2020-07-021-0/+5
| | | | | | | | Added a 'folders-exclude' option that allows removing selected folders from the directory list sidebar. My motivating example was that removing a single folder from the list using Golang regexes seemed pretty hard, so this is a better way to do it. The excluded folders list is included in the man page.
* Revert "Add Style configuration"Drew DeVault2020-05-281-57/+6
| | | | This reverts commit 0f78f06610c0e8887aba2ae50e99b86477a384b3.
* Add Style configurationReto Brunner2020-05-271-6/+57
| | | | | | | | | | The following functionalities are added to configure aerc ui styles. - Read stylesets from file with very basic fnmatch wildcard matching - Add default styleset - Support different stylesets as part of UiConfig allowing contextual styles. - Move widgets/ui elements to use the stylesets. - Add configuration manual for the styleset
* Changing aerc.conf delimiter parsing to use only =, and not : as wellBen Cohen2020-04-291-2/+6
|
* Add postpone commandJeffas2020-04-241-4/+6
| | | | | | | This command uses the Postpone folder from the account config to save messages to. Messages are saved as though they were sent so have a valid 'to' recipient address and should be able to be read back in for later editing.
* Add pinned tabsJeffas2020-03-091-0/+2
| | | | | | This adds the commands pin-tab and unpin-tab. Once pinned a tab lives on the left of the tabstrip and has a configurable marker, defaulting to ` before its name.
* config: Strongly type context typeReto Brunner2020-01-241-4/+7
| | | | | | | | The go compiler can't help much with untyped int constants. Even though the only valid constants are 0-3 it will happily accept 4 as input. Let's let the go compiler worry about correctness here. This also allows people not very familiar with the code to use it properly via auto completion.
* Contextual UI ConfigurationSrivathsan Murali2020-01-241-10/+100
| | | | | | | | | + Adds parsing of contextual ui sections to aerc config. + Add GetUiConfig method for AercConfig that is used to get the specialized UI config. + Add UiConfig method to AccountView to get specialized UI Config. + Modifies Aerc codebase to use specialized UIConfig instead. + Adds documentation for Contextual UI Configuration
* Fix handling of multiple template-dirsBen Burwell2020-01-241-3/+3
| | | | | | | | Before, while the docs stated that template-dirs was a colon-separated list, a delimiter was not specified in the struct tag, so it was falling back to the default for the ini library (a comma). Also added a note to the docs to clarify that templates are configured in the [templates] section.
* Add address book completion in composerBen Burwell2019-12-211-2/+3
| | | | | Complete email address fields in the message composer with an external address book command, compatible with mutt's query_cmd.
* Show textinput completions in popoversBen Burwell2019-12-211-15/+20
| | | | | | Rather than showing completions inline in the text input, show them in a popover which can be scrolled by repeatedly pressing the tab key. The selected completion can be executed by pressing enter.
* Add custom sorting for foldersMichele Finotto2019-12-091-0/+1
| | | | | | | | | | | | | | A new config options for accounts.conf (folders-sort) was added to allow a user to choose which folders should be shown on top. My use case was to avoid stepping into heavy, but rarely viewed folders when cycling through other often accessed ones. To test add this to your account.conf: folders-sort = INBOX,Sent,Archive INBOX, Sent and Archive should then show at the top of your dirlist, and all other folders should come next in alphabetical order.
* Add some defaults for template optionsDrew DeVault2019-11-101-1/+9
|
* Add Templates with ParsingSrivathsan Murali2019-11-101-9/+35
| | | | | | | | | | | | | | | + Changes NewComposer to return error. + Add lib to handle templates using "text/template". + Add -T option to following commands - compose. - reply - forward + Quoted replies using templates. + Forwards as body using templates + Default templates are installed similar to filters. + Templates Config in aerc.conf. - Required templates are parsed while loading config. + Add aerc-templates.7 manual for using template data.
* Config for deleting message from message viewerSrivathsan Murali2019-09-201-24/+26
| | | | | As suggested in #268, this adds a behaviour setting for deleting message from message viewer.
* Add sorting functionalityJeffas2019-09-201-0/+1
| | | | | | | | There is a command and config option. The criteria are a list of the sort criterion and each can be individually reversed. This only includes support for sorting in the maildir backend currently. The other backends are not supported in this patch.
* Add signaturesJeffas2019-09-121-0/+2
| | | | | | | | | | | | | This adds the ability for per-account signatures in the accounts.conf config file. The signature is added to emails in the editor at the bottom of the email. This includes when forwarding, replying to, and composing emails. There are two config options: signature-file and signature-cmd. The former allows a signature to be read from a file and the latter allows an arbitrary command to be executed to return the signature. The config options have been documented in aerc-config
* Add display of unread messages in dirlistJeffas2019-09-111-3/+4
| | | | | | | Add an onUpdateDirs handler. This is used to invalidate the dirlist and redraw with the correct number of recent/unread/total messages is shown. A config option and formatting options are provided.
* Allow custom spinner via config filePaul Spooren2019-08-301-0/+5
| | | | | | | | | | | Allows to set `ui.spinner=` to a string which is then split by `ui.spinner-delimiter=` (Default: comma) instead of having a hard coded animation. This implementation doesn't use INIs capabilities to split strings as it trims whitespaces breaking the default animation. Signed-off-by: Paul Spooren <mail@aparcar.org>
* Pass os stdin to credential commandJonas Mueller2019-08-121-0/+1
| | | | | This is neccessary for `gpg-agent` to display a prompt and get the key to unlock a given password. See https://todo.sr.ht/~sircmpwn/aerc2/250.
* Ring bell when new messages arrive0.2.0Ben Burwell2019-07-291-0/+2
| | | | | | | | Add a "new-message-bell" option to the UI section of aerc.conf. A new hook into the message store allows the msglist widget to detect new messages being added to the displayed list. When new messages are delivered, and the new-message-bell option is enabled (as it is by default), the terminal will beep.
* Print errors from config load issues.Reto Brunner2019-07-291-3/+3
| | | | | | Currently we /dev/null stdout, if it is a tty. The checkConfigPerms function, as well as the error print were incorrectly writing to stdout and therefore weren't visible to most users.
* Support configurable header layout in compose widgetDaniel Bridges2019-07-261-1/+15
|
* Add new-email triggerJeffas2019-07-261-0/+11
| | | | | | | | | | | | | | | | | This patch sets up the trigger config section of aerc.conf. Each trigger has its own function which is called from the place where it is triggered. Currently only the new-email trigger is implemented. The triggers make use of format strings. For instance, in the new-email trigger this allows the user to select the trigger command and also the information extracted from the command and placed into their command. To actually execute the trigger commands the keypresses are simulated. Further triggers can be implemented in the future. Formatting of the command is moved to a new package.
* Add :cp alias for :copyDrew DeVault2019-07-171-2/+2
|
* Add option to always show mimetype in viewerJeffas2019-07-171-4/+5
| | | | | | | | | | A user may want to be able to see what mimetype they are viewing, so that they can determine what program it may be opened in or for some other reason. The config option is under the [viewer] section and is called 'always-show-mime'. It defaults to false to preserve the current behaviour.
* Display user specified headers in viewer if presentDaniel Bridges2019-07-171-1/+25
|
* Add MouseEnabled config settingJeffas2019-07-171-0/+2
| | | | | This patch adds the ability to control whether aerc captures mouseevents or not. By default it will be set to not capture events.
* 71: Allow user to change config options at runtimePedro L. Ramos2019-07-151-50/+59
| | | | | | | | | There is a LoadConf and a LoadConfFromFile. LoadConfFromFile reads the iniFile into memory and and calls LoadConf, which executes the old parsing commands from LoadConf (old func). The remaining of the LoadConfFromFile is the same as the old OldConf.