aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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>
2019-07-23Makefile: Use GO variable to specify compiler pathKacper Kołodziej
It is useful when somebody has different Go versions across one system and first go in $PATH points to version older than 1.12 (common in stable distributions). Signed-off-by: Kacper Kołodziej <kacper@kolodziej.it>
2019-07-23Discard stdout if not redirected to fileDaniel Bridges
Commit 97bee661 Printf statement at widgets/msgviewer.go#188 introduced bad formatting in the display if stdout was not being redirected.
2019-07-23Add change tab commandJeffas
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 -
2019-07-19Fix error handling in maildir workerNicolai Dagestad
2019-07-19Use latest go-maildirBen Burwell
2019-07-19Fix alternatives configDrew DeVault
2019-07-19Add [a]ttach to the review message promptsDrew DeVault
2019-07-19Register worker in init.Reto Brunner
This allows backends which can't always be compiled due to missing dependencies (say libnotmuch) to be compiled conditionally with buildflags.
2019-07-19Forward mailto links to server via ./aerc <mailto>Drew DeVault
2019-07-19Add Unix socket for communicating with aercDrew DeVault
2019-07-19aerc(1): fix scdoc syntax errorDrew DeVault
2019-07-19aerc(1): document missing commandsDrew DeVault
2019-07-19aerc(1): Fix fallback ex key documentationDrew DeVault
2019-07-19Implement :filter, :clearKevin Kuehler
Signed-off-by: Kevin Kuehler <keur@ocf.berkeley.edu>
2019-07-19Change default attach keybindingDrew DeVault
2019-07-19Add :attach command for composeGalen Abell
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.
2019-07-17Add :cp alias for :copyDrew DeVault
2019-07-17Add option to always show mimetype in viewerJeffas
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.
2019-07-17Remove passing of showHeaders explicitlyJeffas
Where it is needed the configs are already available so just extract the value from these.
2019-07-17Ensure new partswitcher doesn't start on multipartJeffas
2019-07-17maildir: Watch for new messagesBen Burwell
When a directory is opened, start watching its "new" subdirectory for incoming messages using the fsnotify library. When creation events are detected, run the Unseen routine to move the message from new to cur and add new UIDs to the store, updating the UI's list of directory contents as we go.
2019-07-17Display user specified headers in viewer if presentDaniel Bridges
2019-07-17Show currently pressed keys in statuslineJeffas
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.
2019-07-17Add an option to toggle between read and unreadNicolai Dagestad
2019-07-17Revert "Ensure new partswitcher doesn't start on multipart"Drew DeVault
This reverts commit 41390bc3e1e557eff15e8159767f206b3b74ea30.
2019-07-17Add show-headers to aerc-configJeffas
2019-07-17Fix grid widths when using weighted widthsJeffas
If the column weights do not collectively divide the extent of the grid layout then some width was not used and so would not be redrawn, resulting in previous drawings showing through. This fixes this by checking if there is any remainingExact width and if there is it is assigned to the weighted columns by their proportion from left to right.
2019-07-17Add MouseEnabled config settingJeffas
This patch adds the ability to control whether aerc captures mouseevents or not. By default it will be set to not capture events.
2019-07-17When reviewing an email don't pass characters onJeffas
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.
2019-07-17Fix text input cursor position with non-ASCII textTuomas Siipola
Fixes #171
2019-07-17Show usage on getopt.Getopts errorAsger Hautop Drewsen
2019-07-17Ensure new partswitcher doesn't start on multipartJeffas
2019-07-17Update status message to include destinationJeffas
2019-07-17lowercase all key bindingsReto Brunner
2019-07-17Fix header decodingBen Burwell
Email headers can be encoded with different charsets, which is signalled using a special character sequence. The go-message package provides two different methods for accessing header values, Get(key) (actually inherited from the embedded textproto.Header) which returns the raw header value and Text(key), which returns the header's value decoded as UTF-8. Before, in the maildir backend, we were using the Get method which sometimes resulted in encoded headers being displayed in the UI. This patch replaces the incorrect usage of Get() with Text().
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>