summary refs log tree commit diff stats
path: root/widgets
Commit message (Collapse)AuthorAgeFilesLines
* 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 tab completion to textinputsJeffas2019-07-261-7/+1
| | | | | | | | | | | | | 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.
* Add command history and cyclingGalen Abell2019-07-263-6/+32
| | | | | | 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-264-152/+191
|
* Move msgstore map to dirstoreJeffas2019-07-262-25/+35
| | | | | | 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-263-5/+19
| | | | | | | | | | | | | | | | | 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.
* Show the directory being selected in grayJeffas2019-07-251-0/+3
|
* Add change tab commandJeffas2019-07-231-0/+22
| | | | | | | | | | This command allows the user to change tab by giving the tab name. This can be tab completed too. The previous tab is stored in the tabs module so that when a new tab is created it is still possible to go to the previous one. Normal invocation is :ct folder Previous tab is :ct -
* Fix alternatives configDrew DeVault2019-07-191-2/+5
|
* Add [a]ttach to the review message promptsDrew DeVault2019-07-191-1/+1
|
* Add Unix socket for communicating with aercDrew DeVault2019-07-192-0/+47
|
* Implement :filter, :clearKevin Kuehler2019-07-192-14/+17
| | | | Signed-off-by: Kevin Kuehler <keur@ocf.berkeley.edu>
* Add :attach command for composeGalen Abell2019-07-191-17/+129
| | | | | | Allow users to add attachments to emails in the Compose view. Syntax is :attach <path>, where path is a valid file. Attachments will show up in the pre-send review screen.
* Add option to always show mimetype in viewerJeffas2019-07-171-4/+6
| | | | | | | | | | 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.
* Remove passing of showHeaders explicitlyJeffas2019-07-171-12/+12
| | | | | Where it is needed the configs are already available so just extract the value from these.
* Ensure new partswitcher doesn't start on multipartJeffas2019-07-171-0/+2
|
* Display user specified headers in viewer if presentDaniel Bridges2019-07-171-40/+61
|
* Show currently pressed keys in statuslineJeffas2019-07-172-1/+17
| | | | | | This patch adds the currently pressed keys to the statusline. This is useful when keybindings are multiple keys long and you might forget which keys are already pressed.
* Revert "Ensure new partswitcher doesn't start on multipart"Drew DeVault2019-07-171-1/+0
| | | | This reverts commit 41390bc3e1e557eff15e8159767f206b3b74ea30.
* When reviewing an email don't pass characters onJeffas2019-07-171-1/+4
| | | | | This stops characters being passed to the focused box when reviewing an email. To edit headers the user should go back to the edit page.
* Ensure new partswitcher doesn't start on multipartJeffas2019-07-171-0/+1
|
* Don't initialize an invalid pty sizeDrew DeVault2019-07-131-0/+3
|
* Add clickable tabsJeffas2019-07-111-0/+2
| | | | | | | | | | | This introduces a new interface `Clickable`. I'd imagine this would be implemented for most widgets eventually and would allow for programs run in the terminal to also have their mouse events forwarded to them. For the tabs it was relatively simple to check that the position of the click is within the boxes for the tabs. For other components I'd imagine that some state representing their currently drawn bounding box would be useful.
* Add backtab to tutorial navigationJeffas2019-07-111-1/+3
| | | | | | | | This allows users to use backtab (Shift+tab) to go back through the fields in the tutorial, like C-K. This then mimics the other methods in having a forward and backward variant. Also documented this in the wizard help paragraph.
* Fix crashes when operating on empty folder (#216)Daniel Bridges2019-07-103-5/+13
|
* Factor IMAP-specific structs out of UI modelsBen Burwell2019-07-083-15/+11
| | | | | | | Before, we were using several IMAP-specific concepts to represent information being displayed in the UI. Factor these structures out of the IMAP package to make it easier for other backends to provide the required information.
* Factor UI models out of the worker message packageBen Burwell2019-07-085-17/+18
| | | | | | | | Before, the information needed to display different parts of the UI was tightly coupled to the specific messages being sent back and forth to the backend worker. Separating out a models package allows us to be more specific about exactly what a backend is able to and required to provide for the UI.
* Make :pipe command more genericDrew DeVault2019-07-053-11/+18
|
* Sort out dirstore once and for allDrew DeVault2019-07-041-0/+1
|
* dirlist: simplify nextPrev() considerablyReto Brunner2019-07-041-25/+11
| | | | | | | Assuming we always have a sorted dirlist (other code depends on that already), we don't need to loop over the dirStore. Any filtering done should be performed elsewhere
* dirlist: remove the additional filtering in Draw()Reto Brunner2019-07-041-7/+0
|
* dirlist: sync dirstore in filterDirsByFoldersConfigReto Brunner2019-07-041-9/+7
| | | | | Also sets the public List() method to return the unfiltered list of directories directly from the store.
* Add IMAP folder tab completionGregory Mullen2019-07-041-1/+5
| | | | | Credit for this fix goes to Reto; I guess if we're not gonna be mutt we should probabaly do things correctly.
* Use go-message implementation of GenerateMessageIDBen Burwell2019-07-041-2/+1
| | | | | Now that this is available in the upstream, we no longer need to maintain a parallel implementation.
* Revert "Remove dirs field and references to it"Drew DeVault2019-07-021-11/+10
| | | | This reverts commit 0e55637aac92e748267559b7aa91a188a17c386f.
* Remove dirs field and references to itRobert Günzler2019-06-301-10/+11
| | | | | This fixes prev/next-folder that broke after 546dfcd76dd228e0605359e9985f0b6a5672e8fa
* Add new lib/dirstore to source completions fromGregory Mullen2019-06-291-4/+7
|
* Implement basic tab completion supportGregory Mullen2019-06-293-8/+26
| | | | | Tab completion currently only works on commands. Contextual completion will be added in the future.
* Reopening mailcontent file to fix #166Stefan Rakel2019-06-271-1/+7
| | | | | | Because editors like vim use backupfiles and rename them to the original name, the file handle used can point to the wrong file. Reopening the file should fix this.
* Fix jumping around in searchDrew DeVault2019-06-261-10/+5
|
* Implement :search, :next-result, :prev-resultDrew DeVault2019-06-261-0/+1
|
* account-wizard: look up imap and smtp server by SRV records (#100)Daniel Lublin2019-06-251-1/+42
|
* Fix Cc & Bcc handling in repliesDrew DeVault2019-06-212-7/+11
|
* account-wizard: automatically replace imap.* with smtp.*Noah Loomans2019-06-181-1/+6
| | | | | | | | | Many email providers use the imap sub-domain for imap and the smtp sub-domain for smtp. FastMail is an example of this[1]. This is a small quality-of-life improvement which automatically replaces imap.* with smtp.* when going from the imap screen to the smtp screen in the wizard [1]: https://www.fastmail.com/help/technical/servernamesandports.html
* Set empty message in dirlist if no folder exist.Reto Brunner2019-06-142-18/+28
|
* imap: respect the folder config optionReto Brunner2019-06-142-12/+32
|
* Fix automatic scrolling when messages arrive/leaveDrew DeVault2019-06-111-2/+2
|
* lib/ui/tab: Add Replace methodKevin Kuehler2019-06-111-0/+4
| | | | | | Also expose a light wrapper method in aerc.go for tab replacement Signed-off-by: Kevin Kuehler <kkuehler@brave.com>
* Move select functionality from msglist to msgstoreKevin Kuehler2019-06-111-43/+20
| | | | | | Remove msglist Next and Prev commands Signed-off-by: Kevin Kuehler <kkuehler@brave.com>
* Select user's preferred mimetype in MessageViewerClayton Craft2019-06-091-2/+13
| | | | | | | | | | | This implements selecting the most preferred mimetype under the 'View->Alternatives' configuration setting when viewing a message. Mimetypes in the alternatives array are weighted by their position, where the lower the index in the array the higher the priority, so this is taken into account during selection. If no message part matches a mimetype in the alternatives array, then it selects the first mimetype in the message.