summaryrefslogtreecommitdiff
path: root/commands/account
AgeCommit message (Collapse)Author
2020-06-09Rework msglist scrollingJeffas
This changes the scrolling to be done on the draw, when the height is updated, ensuring that the selected item is kept on screen during resizing. Also, this ensures that messages will fill the screen when resizing the window, for instance, shrinking and then growing drags down more messages if possible. This is a transplant of the dirlist scrolling logic.
2020-05-28Revert "Add Style configuration"Drew DeVault
This reverts commit 0f78f06610c0e8887aba2ae50e99b86477a384b3.
2020-05-28Revert "Remove duration from the status methods"Drew DeVault
This reverts commit f06d683688e3d2139b14f67b7e349089e7200bf4.
2020-05-27Remove duration from the status methodsReto Brunner
We always set 10 seconds anyhow, might as well do that without repeating ourselfs.
2020-05-27Add Style configurationReto Brunner
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
2020-05-25pgp: fail gracefully from email decryptionRay Ganardi
Aerc panics when there's an error on email decryption. Instead, an error message should be shown.
2020-04-24gofmt fixesDrew DeVault
2020-04-24Add recall commandJeffas
This command allows recalling the selected postponed email to edit in the composer. The command only allows recalling from the postpone directory.
2020-04-24Add postpone commandJeffas
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.
2020-04-24Remove ability to specify headers in the editorReto Brunner
Due to headers being essentially free text, we constantly run into issues with parts of the body being interpreted as headers. Remove the ability to overwrite headers to avoid that, while keeping the ability to specify headers in the template files. Fixes #383
2020-04-23Use aerc.PushError where appropriateBen Fiedler
Forgot an unused import, to save you the hassle here is v2.
2020-03-03Initial support for PGP decryption & signaturesDrew DeVault
2020-01-09create OriginalMail structLeszek CimaƂa
2019-12-04Fix crash when no message is selectedWiktor Kwapisiewicz
Pressing `Enter` on a view that has not yet loaded messages (e.g. at startup) would return `nil` from `Selected()`. Accessing `msg.Uid` on a `nil` reference crashes aerc. This patch moves the `msg == nil` check before accessing `msg.Uid` thus avoiding the crash. To test this patch repeatedly press `Enter` on startup.
2019-11-17commands/account: Disable :view for deleted msgsKevin Kuehler
Allowing the user to view deleted messages creates all sorts of race conditions. The most devious race condition is pv.source can be set to a nil while another PartViewer is still running a goroutine in attemptCopy. Here is a trace when this happens. goroutine 76 [running]: io.copyBuffer(0x7f8ad02641d0, 0xc00040f590, 0x0, 0x0, 0xc0007cc000, 0x8000, 0x8000, 0x0, 0x0, 0x8b3d60) /usr/lib/go/src/io/io.go:402 +0x101 io.Copy(...) /usr/lib/go/src/io/io.go:364 git.sr.ht/~sircmpwn/aerc/widgets.(*PartViewer).attemptCopy.func4(0xc00017efd0, 0xc0004da7c0) /home/keur/repos/aerc/widgets/msgviewer.go:576 +0x611 created by git.sr.ht/~sircmpwn/aerc/widgets.(*PartViewer).attemptCopy /home/keur/repos/aerc/widgets/msgviewer.go:544 +0x144 We could add a guard in store.FetchBodyPart to only call the callback when msg.Part.Reader != nil, but we still get a hanging pager. Therefore it seems more reasonable to disable this completely. Signed-off-by: Kevin Kuehler <keur@xcf.berkeley.edu>
2019-11-10Add Templates with ParsingSrivathsan Murali
+ 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.
2019-09-20Make commands join args with spacesJeffas
This patch ensures the following commands join their arguments with spaces to make it easier to interact with: - cf - mkdir - cd - attach - detach - ct - copy - move - save
2019-09-20Add sorting functionalityJeffas
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.
2019-09-12Add signaturesJeffas
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
2019-09-04commands: move ParseNextPrevMessage error value to its last return valueWagner Riffel
Signed-off-by: Wagner Riffel <wgrriffel@gmail.com>
2019-09-04all: rewrite references to strings.Index to strings.ContainsWagner Riffel
Signed-off-by: Wagner Riffel <wgrriffel@gmail.com>
2019-09-04all: use fmt.Errorf for fomartting errorsWagner Riffel
Signed-off-by: Wagner Riffel <wgrriffel@gmail.com>
2019-09-04all: purge redundant underscoresWagner Riffel
Signed-off-by: Wagner Riffel <wgrriffel@gmail.com>
2019-08-29extract search criteria parsing into the backendsReto Brunner
2019-08-13Add optional body argument to compose commandDaniel Bridges
2019-08-12Joining the args in cf for folders with spacesBen Cohen
2019-08-12Ignore scroll command when msgstore is nilJelle Besseling
Fixes ~sircmpwn/aerc2#205. Many functions do a nil check on the store, so this changes Store() so it returns nil when msglist is nil. It also places the Scroll() behind the nil check in the next-message command. https://todo.sr.ht/~sircmpwn/aerc2/205
2019-08-12Let user edit arbitrary headers in composerDaniel Bridges
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-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-07-26Support configurable header layout in compose widgetDaniel Bridges
2019-07-19Implement :filter, :clearKevin Kuehler
Signed-off-by: Kevin Kuehler <keur@ocf.berkeley.edu>
2019-07-15commands: Don't crash when store is nilKevin Kuehler
On a slow network connection, running these commands without this guard will cause aerc to panic. Signed-off-by: Kevin Kuehler <keur@ocf.berkeley.edu>
2019-07-05Make :pipe command more genericDrew DeVault
2019-07-04Add IMAP folder tab completionGregory Mullen
Credit for this fix goes to Reto; I guess if we're not gonna be mutt we should probabaly do things correctly.
2019-06-29Implement basic tab completion supportGregory Mullen
Tab completion currently only works on commands. Contextual completion will be added in the future.
2019-06-26Implement :search, :next-result, :prev-resultDrew DeVault
2019-06-18Insert nil check before handling prev/next messageMartin Hafskjold Thoresen
If these are called before the store is setup, `acct.Store()` returns `nil`, and we SEGFAULT in `MessageStore.nextPrev`.
2019-06-11commands/msgview: Add next/prev commandsKevin Kuehler
Signed-off-by: Kevin Kuehler <kkuehler@brave.com>
2019-06-09Implement :mkdir commandDrew DeVault
2019-06-02widget: Add ProvidesMessage interfaceKevin Kuehler
Consists of 3 functions * Store: Access to MessageStore type * SelectedAccount: Access to Account widget that the target widget belongs to * SelectedMessage: Current message (selected in msglist or the one we are viewing) Signed-off-by: Kevin Kuehler <keur@ocf.berkeley.edu>
2019-06-02Fix infinite recursion in reply.go:findPlaintextDrew DeVault
2019-06-01Fetch plaintext part when replyingDrew DeVault
2019-05-27Add :save and :pipe commands to viewerGalen Abell
* :save takes a path and saves the current message part to that location * :pipe is the same as pipe on the account page, but uses the current message part rather than the whole email (ie :pipe gzip -d) * Refactored account:pipe and extracted common pipe code to commands.util.QuickTerm * Added helper command aerc.PushError
2019-05-25Implement :forwardDrew DeVault
2019-05-25Fix special characters in address.PersonalNameDrew DeVault
2019-05-20Flesh out multipart switcherDrew DeVault
2019-05-20pipe.go: let tab widget handle ellipsisDrew DeVault
2019-05-19Missed a spotDrew DeVault