summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* Let user edit arbitrary headers in composerDaniel Bridges2019-08-122-5/+37
|
* maildir: Preserve flags when copying messagesBen Burwell2019-08-081-20/+2
|
* Close backends prior to shutdownReto Brunner2019-08-082-0/+20
| | | | | | | We need some way to signal the backends that we are about to shutdown, allowing them to clean up (for example in notmuch committing the db changes). This commit implements a hook which gets called upon shutdown, providing backends implement the io.Closer interface.
* Fix `unread` commandArt Wild2019-08-081-0/+2
| | | | | | | This fixes ~sircmpwn/aerc2#195. While `read -t` works fine. The `unread` command is not wired. This patch fixes it. https://todo.sr.ht/~sircmpwn/aerc2/195
* Add notmuch docsReto Brunner2019-08-085-1/+73
|
* Add notmuch backendReto Brunner2019-08-083-0/+521
| | | | | | | | | | | | This commit introduces the notmuch backend. The backend is conditionally compiled in if the "notmuch" tag is provided. Most of the message types are implemented, with the notable exceptions of DeleteMessages as well as any copy / move / append type. Reason being, that those aren't normally applicable in a notmuch based workflow. Changes v2 --> v3, based on review comments * Use account config for configuration
* add github.com/zenhack/go.notmuchReto Brunner2019-08-082-2/+3
|
* Extract message parsing to common worker moduleReto Brunner2019-08-082-220/+256
| | | | | | | Things like FetchEntityPartReader etc can be reused by most workers working with raw email files from disk (or any reader for that matter). This patch extract that common functionality in a separate package.
* Don't print imap errors to uiJelle Besseling2019-08-081-0/+1
| | | | | | | | This fixes ~sircmpwn/aerc2#245. This sets up the imap client to send error messages to the logger of the worker. Errors now end up in the bottom status line. https://todo.sr.ht/~sircmpwn/aerc2/245
* Implement next-message in msgview using accountJelle Besseling2019-08-072-28/+37
| | | | | This makes sure that the next-message command accepts the same arguments in the account view and the msgview
* Implement next-folder using NextPrev with amountJelle Besseling2019-08-073-12/+10
| | | | | | This fixes ~sircmpwn/aerc2#182 https://todo.sr.ht/~sircmpwn/aerc2/182
* Update tcellDrew DeVault2019-08-072-1/+3
|
* Allow cc/bcc command to receive no argumentsDaniel Bridges2019-08-073-5/+21
|
* cc/bcc: Append to existing headers if called twiceKevin Kuehler2019-08-072-3/+8
| | | | Signed-off-by: Kevin Kuehler <keur@ocf.berkeley.edu>
* Remove aerc specific code from the uiNicolai Dagestad2019-08-032-8/+10
| | | | | Separatiing the ui code from aerc makes it usable as a library in other projects.
* Fix directory completion case sensitivityBen Burwell2019-08-031-11/+19
| | | | | | Before, lower_only was not being correctly set and was only considering whether the string ended with a lowercase sequence. Refactored this with some more explicit functions as the logic is a little confusing.
* Fixing #231 (alternative preferred mimetypes)Ben Cohen2019-08-031-10/+10
|
* Add cc and bcc commandsDaniel Bridges2019-08-033-14/+87
|
* select next message when deleting from message viewerAditya Srivastava2019-08-021-3/+10
|
* Fix sending attachments with less than 512 bytesBen Burwell2019-08-021-1/+1
|
* Include body MIME terminator in multipart messagesBen Burwell2019-08-021-23/+30
| | | | | | | | Before, the text/plain part of the multipart MIME message was not being correctly terminated with its boundary. The multipart writer writes the terminator when its Close is called, but since the call to Close() was deferred, it was not being called until after the attachments were being written resulting in the boundary not being included at all.
* ChangeFolder: do not depend on the msgstoreReto Brunner2019-08-021-6/+6
| | | | | We need to clear the filtering etc upon folder switch. Not having a valid msgstore is however no reason not to switch directories.
* msglist: add initialization stateReto Brunner2019-08-022-15/+33
| | | | | | | | | Make the msglist aware of whether we are still initializing or not. We never stopped spinning the msglist if we didn't get any Directories back from types.ListDirectories. With this change, we can set the init state from the account and display the spinner only if we don't know whether we have directories or not and else the "no messages" string from the config.
* Clean maildirs when openedBen Burwell2019-08-021-0/+4
| | | | This removes old aborted deliveries from the tmp directory.
* Add filesystem completions for :attach and :cdGalen Abell2019-08-022-2/+24
| | | | | Tab-completions now cycle through filesystem paths when using :attach or :cd commands.
* Add CompletePath methodGalen Abell2019-08-021-0/+91
| | | | | CompletePath takes an existing path and returns possible filesystem completions based on that path.
* doc: Fix missing '\' in aerc-tutorial man page.Ronan Pigott2019-07-291-1/+1
|
* aerc-tutorial(7): add searching and expand viewerDrew DeVault2019-07-291-0/+8
|
* Update version to 0.2.1 0.2.1Drew DeVault2019-07-291-1/+1
|
* Change how VERSION is set in MakefileDrew DeVault2019-07-291-1/+1
|
* Fix test failuresDrew DeVault2019-07-291-1/+1
|
* Ring bell when new messages arrive 0.2.0Ben Burwell2019-07-299-4/+56
| | | | | | | | 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.
* lib/msgstore: Fix Select, Next, Prev with filterKevin Kuehler2019-07-291-8/+10
| | | | | | | | When filter is active we want to use store.results instead of store.uids, since we are dealing with a subset of the uids. Otherwise any methods involving len will have undefined behavior. Signed-off-by: Kevin Kuehler <keur@ocf.berkeley.edu>
* Print errors from config load issues.Reto Brunner2019-07-292-4/+4
| | | | | | 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.
* Sendmail: allow for arbitrary parametersReto Brunner2019-07-291-1/+11
| | | | Allows the outgoing command to contain arguments and flags
* Add index option to change-tabJeffas2019-07-273-6/+37
| | | | | | | This allows selection of a tab using its index. It attempts to parse the given argument as a number, if it fails then it uses it as a name. Also supports relative indexes using prefixed + or -.
* Add :detach commandGalen Abell2019-07-273-0/+79
| | | | | | | Add a command for removing attachments from a composed message. Syntax is :detach [path], with path being an optional argument specifying the path of one existing attachment. If no path is specified, the first attachment is removed.
* Fix review message not filling entire spaceGalen Abell2019-07-271-1/+1
| | | | | | Adding an attachment, switching to a different tab, and switching back to the review message caused the "filled space" in the review message to disappear, since there was one too many rows in the layout.
* Add missing fallthroughDrew DeVault2019-07-271-0/+2
|
* Update tcellDrew DeVault2019-07-272-2/+5
|
* Update dependenciesSimon Ser2019-07-272-48/+58
| | | | | | A bug corrupting long In-Reply-To headers has been fixed upstream in go-message: https://github.com/emersion/go-message/issues/44
* Implement sendmail supportDrew DeVault2019-07-277-14/+74
|
* Fix tabstrip over-drawing when not enough spaceJeffas2019-07-261-1/+8
| | | | | | | | Tabstrip didn't take into account the width of the context. Now, it just shows as many tabs as can fit and truncates the last one if necessary. In future it probably would be best to ensure that the selected tab is rendered on the screen.
* Add tab completion to textinputsJeffas2019-07-264-20/+92
| | | | | | | | | | | | | This adds tab completion to textinput components. They can be configured with a completion function. This function is called when the user presses <tab>. The first completion is initially shown to the user inserted into the text. Repeated presses of <tab> or <backtab> cycle through the completions list. The completions list is invalidated when any other non-tab-like key is pressed. Also changed is some logic for current completion generation so that all available commands are returned when <tab> is pressed with no current text and similarly for arguments of commands.
* Fix invalid tab state when deselecting removed tabDrew DeVault2019-07-261-1/+1
|
* Add change-tab docsJeffas2019-07-261-0/+3
|
* Add command history and cyclingGalen Abell2019-07-267-8/+113
| | | | | | Aerc will keep track of the previous 1000 commands, which the user can cycle through using the arrow keys while in the ex-line. Pressing up will move backwards in history while pressing down will move forward.
* Support configurable header layout in compose widgetDaniel Bridges2019-07-2610-168/+239
|
* Move msgstore map to dirstoreJeffas2019-07-263-27/+48
| | | | | | This map represents a mapping from directory names to their associated messagestores anyway so they should be under dirstore. This simply moves them there and adds some methods required to interact with them.
* Add new-email triggerJeffas2019-07-2611-35/+175
| | | | | | | | | | | | | | | | | 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.