aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-08-08add github.com/zenhack/go.notmuchReto Brunner
2019-08-08Extract message parsing to common worker moduleReto Brunner
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.
2019-08-08Don't print imap errors to uiJelle Besseling
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
2019-08-07Implement next-message in msgview using accountJelle Besseling
This makes sure that the next-message command accepts the same arguments in the account view and the msgview
2019-08-07Implement next-folder using NextPrev with amountJelle Besseling
This fixes ~sircmpwn/aerc2#182 https://todo.sr.ht/~sircmpwn/aerc2/182
2019-08-07Update tcellDrew DeVault
2019-08-07Allow cc/bcc command to receive no argumentsDaniel Bridges
2019-08-07cc/bcc: Append to existing headers if called twiceKevin Kuehler
Signed-off-by: Kevin Kuehler <keur@ocf.berkeley.edu>
2019-08-03Remove aerc specific code from the uiNicolai Dagestad
Separatiing the ui code from aerc makes it usable as a library in other projects.
2019-08-03Fix directory completion case sensitivityBen Burwell
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.
2019-08-03Fixing #231 (alternative preferred mimetypes)Ben Cohen
2019-08-03Add cc and bcc commandsDaniel Bridges
2019-08-02select next message when deleting from message viewerAditya Srivastava
2019-08-02Fix sending attachments with less than 512 bytesBen Burwell
2019-08-02Include body MIME terminator in multipart messagesBen Burwell
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.
2019-08-02ChangeFolder: do not depend on the msgstoreReto Brunner
We need to clear the filtering etc upon folder switch. Not having a valid msgstore is however no reason not to switch directories.
2019-08-02msglist: add initialization stateReto Brunner
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.
2019-08-02Clean maildirs when openedBen Burwell
This removes old aborted deliveries from the tmp directory.
2019-08-02Add filesystem completions for :attach and :cdGalen Abell
Tab-completions now cycle through filesystem paths when using :attach or :cd commands.
2019-08-02Add CompletePath methodGalen Abell
CompletePath takes an existing path and returns possible filesystem completions based on that path.
2019-07-29doc: Fix missing '\' in aerc-tutorial man page.Ronan Pigott
2019-07-29aerc-tutorial(7): add searching and expand viewerDrew DeVault
2019-07-29Update version to 0.2.10.2.1Drew DeVault
2019-07-29Change how VERSION is set in MakefileDrew DeVault
2019-07-29Fix test failuresDrew DeVault
2019-07-29Ring bell when new messages arrive0.2.0Ben Burwell
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.
2019-07-29lib/msgstore: Fix Select, Next, Prev with filterKevin Kuehler
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>
2019-07-29Print errors from config load issues.Reto Brunner
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.
2019-07-29Sendmail: allow for arbitrary parametersReto Brunner
Allows the outgoing command to contain arguments and flags
2019-07-27Add index option to change-tabJeffas
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 -.
2019-07-27Add :detach commandGalen Abell
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.
2019-07-27Fix review message not filling entire spaceGalen Abell
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.
2019-07-27Add missing fallthroughDrew DeVault
2019-07-27Update tcellDrew DeVault
2019-07-27Update dependenciesSimon Ser
A bug corrupting long In-Reply-To headers has been fixed upstream in go-message: https://github.com/emersion/go-message/issues/44
2019-07-27Implement sendmail supportDrew DeVault
2019-07-26Fix tabstrip over-drawing when not enough spaceJeffas
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.
2019-07-26Add tab completion to textinputsJeffas
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.
2019-07-26Fix invalid tab state when deselecting removed tabDrew DeVault
2019-07-26Add change-tab docsJeffas
2019-07-26Add command history and cyclingGalen Abell
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.
2019-07-26Support configurable header layout in compose widgetDaniel Bridges
2019-07-26Move msgstore map to dirstoreJeffas
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.
2019-07-26Add new-email triggerJeffas
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.
2019-07-25Show the directory being selected in grayJeffas
2019-07-25Fix :close on terminal panicJeffas
Executing :close on a terminal would panic due to it already having been removed. This is also related to the fact that removing a tab doesn't check for whether it actually found a tab to remove or not.
2019-07-25Add space which was missingJeffas
2019-07-25Fix grid creating too large subcontextsJeffas
The grid was not checking there was enough space for the cells so would just attempt to create subcontexts that don't actually fit. This attempts to use the remaining space and then if there is no space then it just skips drawing this cell.
2019-07-25Fix panic when tabs.popHistory is nonexistentDrew DeVault
2019-07-25Make :next-result :prev-result relative to cursorKevin Kuehler
Signed-off-by: Kevin Kuehler <keur@ocf.berkeley.edu>