aboutsummaryrefslogtreecommitdiff
path: root/widgets
AgeCommit message (Collapse)Author
2019-07-11Add clickable tabsJeffas
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.
2019-07-11Add backtab to tutorial navigationJeffas
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.
2019-07-10Fix crashes when operating on empty folder (#216)Daniel Bridges
2019-07-08Factor IMAP-specific structs out of UI modelsBen Burwell
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.
2019-07-08Factor UI models out of the worker message packageBen Burwell
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.
2019-07-05Make :pipe command more genericDrew DeVault
2019-07-04Sort out dirstore once and for allDrew DeVault
2019-07-04dirlist: simplify nextPrev() considerablyReto Brunner
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
2019-07-04dirlist: remove the additional filtering in Draw()Reto Brunner
2019-07-04dirlist: sync dirstore in filterDirsByFoldersConfigReto Brunner
Also sets the public List() method to return the unfiltered list of directories directly from the store.
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-07-04Use go-message implementation of GenerateMessageIDBen Burwell
Now that this is available in the upstream, we no longer need to maintain a parallel implementation.
2019-07-02Revert "Remove dirs field and references to it"Drew DeVault
This reverts commit 0e55637aac92e748267559b7aa91a188a17c386f.
2019-06-30Remove dirs field and references to itRobert Günzler
This fixes prev/next-folder that broke after 546dfcd76dd228e0605359e9985f0b6a5672e8fa
2019-06-29Add new lib/dirstore to source completions fromGregory Mullen
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-27Reopening mailcontent file to fix #166Stefan Rakel
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.
2019-06-26Fix jumping around in searchDrew DeVault
2019-06-26Implement :search, :next-result, :prev-resultDrew DeVault
2019-06-25account-wizard: look up imap and smtp server by SRV records (#100)Daniel Lublin
2019-06-21Fix Cc & Bcc handling in repliesDrew DeVault
2019-06-18account-wizard: automatically replace imap.* with smtp.*Noah Loomans
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
2019-06-14Set empty message in dirlist if no folder exist.Reto Brunner
2019-06-14imap: respect the folder config optionReto Brunner
2019-06-11Fix automatic scrolling when messages arrive/leaveDrew DeVault
2019-06-11lib/ui/tab: Add Replace methodKevin Kuehler
Also expose a light wrapper method in aerc.go for tab replacement Signed-off-by: Kevin Kuehler <kkuehler@brave.com>
2019-06-11Move select functionality from msglist to msgstoreKevin Kuehler
Remove msglist Next and Prev commands Signed-off-by: Kevin Kuehler <kkuehler@brave.com>
2019-06-09Select user's preferred mimetype in MessageViewerClayton Craft
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.
2019-06-09Add archive commandRobert Günzler
Adds an archive command that moves the current message into the folder specified in the account config entry. Supports three layouts at this point: - flat: puts all messages next to each other - year: creates a folder per year - month: same as above, plus folders per month This also adds a "-p" argument to "cp" and "mv" that works like "--parents" on mkdir(1). We use this to auto-create the directories for the archive layout.
2019-06-08msglist: use distinct style for unread emailsYash Srivastav
2019-06-07Truncate long subject linesDrew DeVault
2019-06-07Message list: implement index-format optionYash Srivastav
2019-06-07Move ANSI stripping from filters to GoDrew DeVault
2019-06-07Remove unnecessary branchDrew DeVault
2019-06-07Execute the editor with the shellDrew DeVault
Fixes #164
2019-06-07Add binding to toggle headersDrew DeVault
2019-06-07implements ability to view headers in message viewYash Srivastav
2019-06-07Skip rendering dirlist if sidebar width is 0Lucas F. Souza
2019-06-05Use SetAddressList for From headerDrew DeVault
2019-06-05Introduce :new-account -tJanUlrich
Adding the [-t] temporary flag to the new-account command - when using -t a newly created account will not be stored into the accounts.conf Issue #134
2019-06-02Add date to message viewerDrew 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-02Only add message to store if store existsKevin Kuehler
Prevents the program from panicing when changing folders too quickly. onMessage can race store creation for an AccountView. Signed-off-by: Kevin Kuehler <keur@ocf.berkeley.edu>
2019-06-02Enumerate Cc and Bcc lists in composerDrew DeVault
2019-06-02Simplify layout of message viewer gridDrew DeVault
This sub-grid was an artifact of an older design
2019-06-01Use forked version of tcellDrew DeVault
2019-06-01widgets/terminal: Don't segfault on resizeKevin Kuehler
vterm.Write and vterm.SetSize race when the window resizes, which causing the underlying library to segfault. Signed-off-by: Kevin Kuehler <keur@ocf.berkeley.edu>
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-26Update terminal color handling per vterm changesDrew DeVault
2019-05-26Update to the latest go-libvtermDrew DeVault