aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-02-22Release version 0.8.20.8.2b_0.8.xRobin Jarry
Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-02-22filters: port colorize to awkRobin Jarry
Python is not available on all systems. Port the colorize filter to awk as it is a more widespread POSIX utility. Users are free to copy the filter into their home dir and tweak the colors to their needs. The highlighted items are: =============== ======= ======= ========= ================= Item Red Green Blue Color =============== ======= ======= ========= ================= quoted text 1 95 175 255 Blue quoted text 2 255 135 0 Orange quoted text 3 175 135 255 Purple quoted text 4 255 95 215 Pink quoted text * 128 128 128 Grey diff meta 255 255 255 White bold diff chunk 205 0 205 Cyan diff added 0 205 0 Red diff removed 205 0 0 Green signature 175 135 255 Purple header 175 135 255 Purple url 255 255 175 Yellow =============== ======= ======= ========= ================= This assumes a terminal emulator with true color support and with a dark/black background. Link: https://github.com/termstandard/colors Signed-off-by: Robin Jarry <robin@jarry.cc> (cherry picked from commit df8c129235d9f26892caf89f056adc0e16b3d6b6)
2022-02-20Release version 0.8.10.8.1Robin Jarry
Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-02-20filters: restore plaintext awk scriptRobin Jarry
This script is referenced by some users configuration. Restore it to avoid breaking existing setups. Fixes: bca93cd91536 ("filters: add a more complete plaintext filter") Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-02-20filters: rename plaintext to colorizeRobin Jarry
This filter script is not compatible with the previous one. Rename it to avoid issues with existing configs. Fixes: bca93cd91536 ("filters: add a more complete plaintext filter") Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-02-19config: fix default text/plain filter0.8.0Robin Jarry
; is a special character for the INI format. It starts a comment and apparently cannot be escaped nor quoted. This causes the default text/plain filter to be truncated and causes this obscure error when viewing a message: sh: 1: Syntax error: Unterminated quoted string Debugging shows that the filter command is: sh -c "sed 's/^>\\+.*/\\x1b[2" Remove the explicit dim style. It should be the default anyway. Fixes: 7c3ce816c8a6 ("config: set a default filter for text/plain") Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-02-19contrib: fix aerc.desktop install pathRobin Jarry
Add missing $(PREFIX). Note to self: always test install before accepting patches. Fixes: 5abc3cab96b7 ("contrib: add xdg desktop entry") Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-02-19search/filter: remove from status bar after 20 secondsRobin Jarry
The status is not cleared. It is annoying. Fixes: c37f1eaaeaa1 ("filter/search: display current search/filter arguments") Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-02-19filters: add a more complete plaintext filterRobin Jarry
Colorize most plain text messages. Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-02-19config: set a default filter for text/plainRobin Jarry
Avoid the following issue when running aerc with the default configuration: No filter configured for this mimetype ('text/plain') Use a very basic sed command to replace the default plaintext filter. Fixes: bb0f1801402e ("config: do not hardcode sharedir") Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-02-19contrib: add xdg desktop entryMoritz Poldrack
Add an XDG desktop file to handle mailto: links, to make it easier to reply to mailing list threads and compose emails with aerc in general. Signed-off-by: Moritz Poldrack <git@moritz.sh> Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-02-19filter/search: display current search/filter argumentsinwit
Make the statusbar message after search and filter completion more informative by showing the full call that was used. Signed-off-by: inwit <inwit@sindominio.net>
2022-02-19unsubscribe: parse internationalized headersKoni Marti
Fix the parsing of internationalized headers (RFC 6532). Enable unsubscribe to work with regular and encoded headers. Signed-off-by: Koni Marti <koni.marti@gmail.com>
2022-02-19imap: reconnect with exponential backoffKoni Marti
waits an increasing amount of time before attempting a reconnect. Wait is capped at 16s. Prevents many reconnect attemps in a short time period. Fixes commit 05ad96a30cb8 ("imap: improve reconnect stability") that improved the reliability of the reconnect mechanism but did not implement controls to prevent the triggering of too many reconnects within a short period of time. Fixes: 05ad96a30cb8 ("imap: improve reconnect stability") Signed-off-by: Koni Marti <koni.marti@gmail.com>
2022-02-19config: do not hardcode sharedirRobin Jarry
Instead of using a static SHAREDIR at compile time, use a list of standard paths to use at runtime for templates, config files and stylesets. This implies removing all default filters in the default configuration. Replace them with basic commands. New users can configure the filters as they wish. Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-02-06imap: improve reconnect stabilityKoni Marti
improves the robustness of the imap reconnect feature which was introduced in commit beae17a6da37 ("imap: auto-reconnects on connection error"). If a connection error is emitted, the message list is cleared and a corresponding error message is shown in the ui. Status bar is updated as well. Upon reconnect, the directories and the message list will be re-fetched (same behavior as the connect command). Reconnect can be enabled and disabled with the connect and the disconnect commands. Signed-off-by: Koni Marti <koni.marti@gmail.com>
2022-02-06postpone: re-open review mode on errorKoni Marti
re-opens the review UI when the postpone operation fails. Before, the composer would close, even on error, and we would lose the email draft. Now, the user can decide on how to proceed when postponing fails. References: https://lists.sr.ht/~rjarry/aerc-devel/patches/28824 Signed-off-by: Koni Marti <koni.marti@gmail.com>
2022-02-06readme: add license infoRobin Jarry
Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-02-06readme: remove #aerc-devel irc channelRobin Jarry
This channel has not received much activity and all development discussions are happening on #aerc. No need to multiply channels. Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-02-06imap: do not abort on malformed messagesRobin Jarry
Some messages contain invalid headers, textproto.ReadHeader fails with an error: malformed MIME header key: From nobody Fri Jan 14 19 And all other messages of the selected folder are ignored. Return an explicit error message to the UI and continue processing other messages. This is consistent with what the maildir worker does. Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-02-06LICENSE: add license nameRobin Jarry
It is not obvious by reading the license text that aerc is distributed under the MIT license. Explicitly state it. Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-02-03lib/ui/textinput: stop at /, ", and ' charsPranjal Kole
This matches the default behaviour of Ctrl+W in vim.
2022-02-03compose: allow setting all headers in templatesRobin Jarry
Allow setting To, Cc, Subject, Bcc in template headers. Fixes: https://todo.sr.ht/~rjarry/aerc/19 Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-02-02review: display actual bindings for commandsRobin Jarry
Parse the actual user bindings to determine what shortcuts are available in the compose::review stage. Add a predefined list of commands for which we want to display the keyboard shortcuts. Fixes: https://todo.sr.ht/~rjarry/aerc/14 Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-02-02binds.conf: change default review bindingsRobin Jarry
Add missing :detach binding. Ask user for confirmation when pressing 'q'. Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-02-02mk: use debug to generate a non-optimized binaryRobin Jarry
Do not use this to run the debugger. Instead, build a non-optimized binary and display what command should be executed to attach to a running program. Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-01-31completions: add folder flexible search as an optioninwit
Provide an option to change the completion style when selecting a folder from completing with folders starting with the input string to completing with folders in which the input string is a substring present at any point in the folder name. References: https://lists.sr.ht/~sircmpwn/aerc/%3C20201129181020.186984-1-inwit%40sindominio.net%3E References: https://lists.sr.ht/~sircmpwn/aerc/%3C20210223202536.199355-1-clayton%40craftyguy.net%3E Signed-off-by: inwit <inwit@sindominio.net>
2022-01-31compose: add option to never include your own address when replyingjohn1doe@ya.ru
Introduce an option in aerc.conf to disable the auto-including of your own address when replying to your own emails (address replies to the original To: and Cc: instead); default to true (allow the auto-including)
2022-01-30maildir: defer the count of recent messagesRobin Jarry
Since commit 01c96e78dfe8 ("Update DirectoryInfo handling for maildir"), flags are checked for every message of a folder when entering it. Iterating over all messages of a folder takes a long time for large collections of emails. Only count the number of messages and state that the directory info counts are not accurate. Defer the parsing of message flags in a goroutine to have a more responsive UI. Fixes: https://todo.sr.ht/~rjarry/aerc/16 Suggested-by: Koni Marti <koni.marti@gmail.com> Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-01-29dirlist: use shorter delay before listing directory contentsRobin Jarry
1 second is a bit excessive. Use 200ms which should cover most quick folder changes. Add an option to make that delay configurable by the users. References: https://todo.sr.ht/~rjarry/aerc/16 Fixes: cb3090956cfd ("dirlist: skip unnecessary change-folder action") Suggested-by: Koni Marti <koni.marti@gmail.com> Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-01-29recover: recover emails from tempdir after a crashKoni Marti
implements a recover command that searches the local temp dir for aerc emails. If a file is found and selected, a new composer tab will open with the file contents as the message body. No header data is stored in the temp file and thus this information cannot be recovered. Recover will not remove the temporary file unless the force flag (-f) is explicitly used. This recovery method only works when the editor buffer is saved to disk and the Close() function of the composer has not been called yet. Sending, postponing or quitting will call the Close() function which removes the temporary file completely. After Close() is called, no recovery is possible anymore. Signed-off-by: Koni Marti <koni.marti@gmail.com>
2022-01-28readme: add shield for github macos buildMark Dain
2022-01-27reply: use new-message template for non-quoted repliesRobin Jarry
Unless a template is specified with reply -T, use the new-message template for non-quoted replies. Fixes: 877a94f5d9a7 ("compose: add default template for new messages") Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-01-26doc: correct typo in man-pagesAriel Costas
Fix a typo in the man page where it reads "maintained by by Robin" instead of "maintained by Robin" Signed-off-by: Ariel Costas <ariel@costas.dev>
2022-01-25github: add workflow to test on macosRobin Jarry
We have some users on macOS. builds.sr.ht does not support proprietary build images and will never do. Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-01-24aerc: shutdown if socket communication failsAdnan Maolood
When provided with a mailto argument, aerc tries to connect to an existing instance via a unix socket. If that fails, it starts up a new instance and tries again. However, if that fails again (e.g. if the unix server could not be started) then the new instance will remain open without any indication that an error occured. Instead, shutdown the new instance so the user can see the error message.
2022-01-24binds: Warning on unexistent account bindingsinwit
After commit 175d0ef ("binds: add account specific bindings"), when bindings are defined for an account not defined in accounts.conf, aerc quits with an error. After this commit, a warning is logged and aerc ignores those bindings. Signed-off-by: inwit <inwit@sindominio.net>
2022-01-24dirlist: skip unnecessary change-folder actionKoni Marti
when traversing the directory list, aerc will fetch the contents for every directory even though the user might just move on to the next. This causes an unnecessary delay (and load on the worker) and can be avoided by skipping the old change-folder action when a newer one arrives within a predefined time interval. Signed-off-by: Koni Marti <koni.marti@gmail.com>
2022-01-24dirlist: improve change-folder responsivenessKoni Marti
improves change-folder responsiveness. When changing folders, the highlighted directory is currently updated in a callback function to the open-directory action. This creates an unpleasent lag in the ui until the entire operation is done. Instead, we should provide an immediate visual feedback of the selection to the user and keep loading the directory contents in the background. Signed-off-by: Koni Marti <koni.marti@gmail.com>
2022-01-24readme: fix typo in contribution guideinwit
git: 'sendemail' is not a git command. See 'git --help'. The most similar command is send-email Fixes: b84374a572b4 ("readme: add contribution guide") Signed-off-by: inwit <inwit@sindominio.net>
2022-01-24build: check make installMark Dain
Ensure that install works on all platforms.
2022-01-24mk: add make checkinstallMark Dain
Adds a quick way to ensure the install was successful.
2022-01-24build: replace archlinux by openbsdMark Dain
This commit drops Arch Linux in favor of a BSD so there's more variety in CI. Link: https://lists.sr.ht/~rjarry/aerc-devel/%3C20220122033806.91728-1-ktprograms%40gmail.com%3E
2022-01-22msgstore: fetch missing headers in visual modeKoni Marti
fetches missing headers when in visual selection mode. This prevents large archive operations from panicking due to a nil pointer dereference. The archive command will return an error to the ui when a nil message is encountered to signal that the message store is not ready yet. Signed-off-by: Koni Marti <koni.marti@gmail.com>
2022-01-21mk: syntax cleanupRobin Jarry
Avoid multiline strings. Use dlv --build-flags. Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-01-21mk: be compatible with bsd makeRobin Jarry
ifeq is not supported by bsd make. We don't need this. Use a simple shell command. Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-01-21Revert "mk: only install if files changed"Robin Jarry
This reverts commit 22ad9e199a6dccf0f5017b3e0bacd3ad01b122e7. This breaks install on macOS: install -m755 -D aerc /usr/local/bin/aerc install: illegal option -- D Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-01-20mk: avoid searching in hidden directories at the rootRobin Jarry
Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-01-20Add .editorconfig fileRobin Jarry
Most of the go source files Signed-off-by: Robin Jarry <robin@jarry.cc>
2022-01-20readme: add package links to debian and fedoraRobin Jarry
Signed-off-by: Robin Jarry <robin@jarry.cc>