Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | widgets/thread: treat multipart/alternative with one subpart as mixed | Anton Khirnov | 2021-01-13 |
| | | | | | | Some systems create multipart/alternative emails with just one subpart. There is no point in drawing decorations for them, since there are no other alternatives to switch to, so treat them as mixed. | ||
* | db/message: passthrough text parts if there is no handler | Anton Khirnov | 2021-01-13 |
| | |||
* | thread: allow switching between multipart/alternative parts | Anton Khirnov | 2021-01-13 |
| | |||
* | defaults.bindings: change default key for 'refresh' to '=' | Anton Khirnov | 2021-01-13 |
| | |||
* | widgets/thread: fix displaying empty text parts | Anton Khirnov | 2021-01-13 |
| | |||
* | widgets/thread: sanitize behaviour when crypto part has no content | Anton Khirnov | 2021-01-13 |
| | |||
* | widgets/thread: rename _AltMixedPart->_MultiMixedWidget | Anton Khirnov | 2021-01-13 |
| | | | | This is a more descriptive name. | ||
* | widgets/thread: refactor message body folding | Anton Khirnov | 2021-01-11 |
| | | | | | | | | | | | | | | Currently we split the message body into a list of widgets whose appearance changes depending on the foldlevel. This is limiting, since the individual widgets cannot be hidden completely, and the tree-like structure of the quote levels is not preserved in this representation. After this commit, we parse the message into a tree of nested folds, defined by a start and end line. Hiding a given fold also hides any nested content. This should also be more flexible wrt possible future improvements, such as folding individual folds (like in vim) instead of entire levels. | ||
* | db/manager: Drop async method | Dylan Baker | 2021-01-10 |
| | | | | | | | | | | As far as I can tell using a separate process doesn't actually improve performance, it makes it worse. The work that we're passing off to the separate function isn't necessarily work that's well suited to being handed off, there isn't a lot of computation and the objects that need to be passed across the pipe are fairly large (at least when considering a pipe). Converting the function to a generator gives better performance and simplifies the implementation. | ||
* | buffers/thread: more sophisticated heuristics for default weights | Anton Khirnov | 2021-01-09 |
| | | | | Should produce better results in most situations. | ||
* | buffers/thread: allow changing weights of the tree/message split | Anton Khirnov | 2020-12-30 |
| | |||
* | commands/thread: filter out content-transfer-encoding when piping decoded | Anton Khirnov | 2020-10-21 |
| | | | | | This is a temporary hack, it should properly be handled consistently in future Message serializing API. | ||
* | buffers/thread: use LineBox frames to wrap the two main parts | Anton Khirnov | 2020-10-21 |
| | | | | Drop the ugly divider that used to indicate which part is focused. | ||
* | commands/thread: use super() | Anton Khirnov | 2020-10-21 |
| | |||
* | __main__: print the source location in the log format | Anton Khirnov | 2020-10-21 |
| | |||
* | widgets/thread: drop obsolete comment | Anton Khirnov | 2020-10-20 |
| | |||
* | widgets/thread: simplify MessageSummaryWidget | Anton Khirnov | 2020-10-20 |
| | |||
* | widgets/thread: simplify code | Anton Khirnov | 2020-10-20 |
| | |||
* | More missed list->set conversions for tags | Anton Khirnov | 2020-07-01 |
| | |||
* | Allow designating certain tags as "property" tags. | Anton Khirnov | 2020-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 Khirnov | 2020-05-24 |
| | |||
* | taglist: drop the useless filtfun parameter | Anton Khirnov | 2020-05-24 |
| | |||
* | widgets/thread: add heuristics for broken quote levels | Anton Khirnov | 2020-05-24 |
| | |||
* | widgets/thread: factor out quote parsing | Anton Khirnov | 2020-05-12 |
| | |||
* | buffers/search: do not lose exceptions while constructing list widgets | Anton Khirnov | 2020-05-09 |
| | |||
* | ExitCommand: do not flush the db if it is opened read-only. | Anton Khirnov | 2020-05-09 |
| | |||
* | Switch to the notmuch2 bindings. | Anton Khirnov | 2020-05-09 |
| | | | | | They are supposed to replace the original notmuch python bindings, providing a safer and more pythonic interface. | ||
* | db/manager: change add_message signature | Anton Khirnov | 2020-05-08 |
| | | | | Remove the unused afterwards callback, make tags mandatory. | ||
* | db/manager: drop support for adding/removing queries | Anton Khirnov | 2020-05-08 |
| | | | | | This is not implemented in notmuch2 and does not really belong in alot. It can be done better through the notmuch utility. | ||
* | db/manager: get rid of an unnecessary indentation level | Anton Khirnov | 2020-05-07 |
| | |||
* | widgets/thread: refactor/simplify message summary widget | Anton Khirnov | 2020-05-07 |
| | |||
* | widgets/thread: fix message summary with no subject | Anton Khirnov | 2020-05-07 |
| | |||
* | helper: move string_sanitize() to the only place where it is used | Anton Khirnov | 2020-05-05 |
| | |||
* | db/message: drop unused imports | Anton Khirnov | 2020-05-05 |
| | |||
* | widgets/thread: merge _reassemble into display_source handling | Anton Khirnov | 2020-05-05 |
| | | | | It is the only place it is still called from. | ||
* | thread: add basic support for folding long quoted blocks | Anton Khirnov | 2020-05-05 |
| | |||
* | buffers/thread: fix focus_next/prev_sibling | Anton Khirnov | 2020-05-05 |
| | |||
* | db/thread: fix documentation | Anton Khirnov | 2020-05-05 |
| | | | | message_list stores Messages themselves, not just their ids. | ||
* | widgets/thread: turn the body into a tree of _MIMEPartWidget subclasses | Anton Khirnov | 2020-05-05 |
| | | | | | Rather than an ad-hoc collection of widgets. This will allow folding body parts (such as quotes). | ||
* | buffer: drop the ui parameter when not needed | Anton Khirnov | 2020-04-25 |
| | |||
* | ui: remove forgotten development log | Anton Khirnov | 2020-04-25 |
| | |||
* | commands/thread: stop using message widgets without reason | Anton Khirnov | 2020-04-25 |
| | | | | This code only wants the messages themselves, not the widgets. | ||
* | commands/thread: add a command for toggling focus between tree/msg | Anton Khirnov | 2020-04-25 |
| | |||
* | buffers/thread: only return selected attachments when the message is in focus | Anton Khirnov | 2020-04-25 |
| | |||
* | ui: rewrite notification/status bar handling | Anton Khirnov | 2020-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). | ||
* | db/attachment: remove pointless call to string_decode() | Anton Khirnov | 2020-04-23 |
| | | | | The value is already a string. | ||
* | buffers/search: rewrite PipeWalker | Anton Khirnov | 2020-04-19 |
| | | | | | Convert it to the v2 API and avoid constructing widgets until they are needed. | ||
* | buffers/search: simplify code | Anton Khirnov | 2020-04-19 |
| | |||
* | buffers/search: drop unused code | Anton Khirnov | 2020-04-19 |
| | |||
* | buffers/search: with walker.py | Anton Khirnov | 2020-04-19 |
| | | | | It is only ever called from here, separating them makes little sense. |