summaryrefslogtreecommitdiff
path: root/alot/commands
Commit message (Collapse)AuthorAge
...
* buffers/thread: allow changing weights of the tree/message splitAnton Khirnov2020-12-30
|
* commands/thread: filter out content-transfer-encoding when piping decodedAnton Khirnov2020-10-21
| | | | | This is a temporary hack, it should properly be handled consistently in future Message serializing API.
* commands/thread: use super()Anton Khirnov2020-10-21
|
* More missed list->set conversions for tagsAnton Khirnov2020-07-01
|
* Allow designating certain tags as "property" tags.Anton Khirnov2020-05-24
| | | | | | | | Those are tags like attachment, signed, sent, etc., which are set automatically based on message properties and are typically not changed manually. Such designated tags are not affected by the retag operation.
* Consistently use set/frozenset for tags.Anton Khirnov2020-05-24
|
* taglist: drop the useless filtfun parameterAnton Khirnov2020-05-24
|
* ExitCommand: do not flush the db if it is opened read-only.Anton Khirnov2020-05-09
|
* db/manager: drop support for adding/removing queriesAnton Khirnov2020-05-08
| | | | | This is not implemented in notmuch2 and does not really belong in alot. It can be done better through the notmuch utility.
* thread: add basic support for folding long quoted blocksAnton Khirnov2020-05-05
|
* buffer: drop the ui parameter when not neededAnton Khirnov2020-04-25
|
* commands/thread: stop using message widgets without reasonAnton Khirnov2020-04-25
| | | | This code only wants the messages themselves, not the widgets.
* commands/thread: add a command for toggling focus between tree/msgAnton Khirnov2020-04-25
|
* ui: rewrite notification/status bar handlingAnton Khirnov2020-04-23
| | | | | | | | | Do not recreate all the widgets on every update, just update the widget contents. Make the statusbar update async, since some calls to get_info() can take a long time (especially noticeable for counting threads for searches with many results).
* buffers/search: with walker.pyAnton Khirnov2020-04-19
| | | | It is only ever called from here, separating them makes little sense.
* db/message: restructure message body handlingAnton Khirnov2020-04-18
| | | | | | | | | | | | | | | | | Instead of allowing the callers to access the email part directly, introduce a new class for representing the MIME tree structure. All interaction with the message content should now happen through this class (some instances of direct access still remain and will be removed later). Encrypted/signed parts are now also handled through this structure rather than using a fragile hack of attaching the decrypted message to the encrypted one and using fake headers to signal encryption/signatures. Message body rendering is now done by walking through the whole MIME tree and considering all the parts for rendering rather than picking one specific part.
* commands/thread: stop calling get_email() unnecessarilyAnton Khirnov2020-03-06
|
* commands/thread: avoid accessing the email directly in pipetoAnton Khirnov2020-03-06
| | | | | | This also prevents it from modifying the message as it previously did with add_tags. As a consequence, tags are now added to the beginning of the message rather than at the end of header.
* db/utils: move formataddr to helperAnton Khirnov2020-03-05
| | | | | | | It has no relation to database, so helper seems like a better place for it. As there is nothing left in db/utils, it is removed.
* db/utils: move clear_my_address/ensure_unique_address to their usage placeAnton Khirnov2020-03-05
| | | | | They are only used in a single file, so there is no point in keeping them elsewhere.
* db/utils: move message body extraction code into db/messageAnton Khirnov2020-03-05
| | | | | It is only called from there, so there is no reason to keep it elsewhere.
* db/utils: drop extract_headers()Anton Khirnov2020-03-04
| | | | | It is used in only one place and does something so extremely simple it does not need to be a special imported function.
* db/utils: drop decode_header()Anton Khirnov2020-03-04
| | | | | | | | It is almost entirely unnecessary - python's email messages decode the headers themselves. Do the "normalization" bit directly in the single place where it is done, though properly there should be more thorough message text sanitization somewhere (most likely in our message wrapper).
* buffers/thread: add focusing on first/last message matching a propertyAnton Khirnov2020-03-02
|
* buffers/thread: make the widget split-windowAnton Khirnov2020-03-01
| | | | | | | | | | The top part displayes the thread structure, the bottom half the message body. This makes more sense then displaying the message inside the tree structure and makes it easier to implement features such as folding a part of the message body. Drop commands related to folding, since that functionality does not exist anymore.
* db/message: drop a useless getter.Anton Khirnov2020-02-27
|
* thread buffer: make attachments work againAnton Khirnov2020-02-25
|
* commands/thread: replace isinstance() with hasattr()Anton Khirnov2020-02-19
| | | | This is more correct.
* AttachmentWidget: drop a useless getterAnton Khirnov2020-02-19
|
* thread: drop the use of urwidtreesAnton Khirnov2020-02-19
| | | | | | | | | | Their API is misdesigned - forces the use of trees for nontree objects and mixes data relationships with display properties. The result is a mess that is hard to understand/maintain/extend. Replace the use of urwidtrees with urwid Pile and ListBox. This temporarily removes tree-style indentation and decorations for thread buffers. That will be reimplemented in following commits.
* db: rewrite the API for representing message treesAnton Khirnov2020-02-06
| | | | | It should be cleaner and easier to use, and eventually replace the custom tree walker in the thread display buffer.
* db: drop useless gettersAnton Khirnov2020-02-06
|
* buffers/thread: drop a useless getter functionAnton Khirnov2020-02-05
|
* Drop support for removing messages.Anton Khirnov2020-02-05
| | | | | This functionality is too obscure and dangerous, it should be done manually instead.
* buffers/thread: drop support for auto-read taggingAnton Khirnov2020-02-05
| | | | It's pointless complexity that I do not need.
* thread: make the output of PipeCOmmand blockAnton Khirnov2020-01-29
|
* envelope: do not add another Date header if one is already presentpacien2019-11-23
| | | | | Fixes https://github.com/pazz/alot/issues/1435: Do not add a Date header if it is already present
* commands/envelope: keep editable headers orderpacien2019-11-23
| | | | | | | | | | | Use the ordered set of header keys from the settings or from the current envelope when generating an editable envelope. Fixes https://github.com/pazz/alot/issues/898: Message header ordering isn't preserved from the editor Note: collections.OrderedDict has been used for backward compatibility with Python <3.7.
* Remove unicode escape codesLucas Hoffmann2019-11-06
|
* Remove unicode literals syntax from python2Lucas Hoffmann2019-11-06
|
* Fix crash when editor_cmdstring is empty.Pol Van Aubel2019-11-02
| | | | | | | | Bypasses the inspection of editor_cmdstring if it is still None after all attempts to fill it. This will eventually lead to EditCommand.apply erroring with 'no editor set' instead of alot crashing. Fixes #1438
* Be more informative if editor exits with error.Pol Van Aubel2019-11-02
| | | | | Implements the suggestion in #1427 to display the actual error code, and substitutes an empty stderr with "No stderr output".
* directly import Completers from their resp modulePatrick Totzke2019-08-17
| | | | ... instead of from alot.completion
* Fix UnboundLocalErrorLucas Hoffmann2019-08-16
| | | | The local variable proc was not defined in these branches.
* trailing whitespacesPatrick Totzke2019-08-15
|
* retire Message.accumulate_bodyPatrick Totzke2019-08-15
| | | | | | ... in favour of get_body_text to de-clutter the Message class. The functionality is implemented in alot.db.utils.extract_body, which now contains the hard-coding of the html warning.
* remove field_key parameter from PipetoCommandPatrick Totzke2019-08-15
| | | | I don't think anyone needs anything else but copiousoutput here
* cosmeticsPatrick Totzke2019-06-02
|
* refactor ReplyCommandPatrick Totzke2019-06-02
| | | | | This moves the static methods clear_my_address and ensure_unique_address out of ReplyCommand and into alot.db.utils.
* fix: use from-header from disk when replyingPatrick Totzke2019-06-02
| | | | | | | | | | | | | | | | see issue #1402 If the "author" string (a decoded version of the From header value) is read from the notmuch index, it may have already removed quotes around real name parts containing a comma. This means that `alot.db.message.get_author()` will potentially misinterpret it because python's email libs decoding behaviour is different. For example, 'Ä, B <a@b.c>' will yield address 'Ä' and empty name!. This commit makes sure that the original from header is read from disk when one replies to a message, which avoids the above problem.