summaryrefslogtreecommitdiff
path: root/alot
Commit message (Collapse)AuthorAge
* widgets/thread: treat multipart/alternative with one subpart as mixedAnton Khirnov2021-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 handlerAnton Khirnov2021-01-13
|
* thread: allow switching between multipart/alternative partsAnton Khirnov2021-01-13
|
* defaults.bindings: change default key for 'refresh' to '='Anton Khirnov2021-01-13
|
* widgets/thread: fix displaying empty text partsAnton Khirnov2021-01-13
|
* widgets/thread: sanitize behaviour when crypto part has no contentAnton Khirnov2021-01-13
|
* widgets/thread: rename _AltMixedPart->_MultiMixedWidgetAnton Khirnov2021-01-13
| | | | This is a more descriptive name.
* widgets/thread: refactor message body foldingAnton Khirnov2021-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 methodDylan Baker2021-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 weightsAnton Khirnov2021-01-09
| | | | Should produce better results in most situations.
* 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.
* buffers/thread: use LineBox frames to wrap the two main partsAnton Khirnov2020-10-21
| | | | Drop the ugly divider that used to indicate which part is focused.
* commands/thread: use super()Anton Khirnov2020-10-21
|
* __main__: print the source location in the log formatAnton Khirnov2020-10-21
|
* widgets/thread: drop obsolete commentAnton Khirnov2020-10-20
|
* widgets/thread: simplify MessageSummaryWidgetAnton Khirnov2020-10-20
|
* widgets/thread: simplify codeAnton Khirnov2020-10-20
|
* 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
|
* widgets/thread: add heuristics for broken quote levelsAnton Khirnov2020-05-24
|
* widgets/thread: factor out quote parsingAnton Khirnov2020-05-12
|
* buffers/search: do not lose exceptions while constructing list widgetsAnton Khirnov2020-05-09
|
* ExitCommand: do not flush the db if it is opened read-only.Anton Khirnov2020-05-09
|
* Switch to the notmuch2 bindings.Anton Khirnov2020-05-09
| | | | | They are supposed to replace the original notmuch python bindings, providing a safer and more pythonic interface.
* db/manager: change add_message signatureAnton Khirnov2020-05-08
| | | | Remove the unused afterwards callback, make tags mandatory.
* 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.
* db/manager: get rid of an unnecessary indentation levelAnton Khirnov2020-05-07
|
* widgets/thread: refactor/simplify message summary widgetAnton Khirnov2020-05-07
|
* widgets/thread: fix message summary with no subjectAnton Khirnov2020-05-07
|
* helper: move string_sanitize() to the only place where it is usedAnton Khirnov2020-05-05
|
* db/message: drop unused importsAnton Khirnov2020-05-05
|
* widgets/thread: merge _reassemble into display_source handlingAnton Khirnov2020-05-05
| | | | It is the only place it is still called from.
* thread: add basic support for folding long quoted blocksAnton Khirnov2020-05-05
|
* buffers/thread: fix focus_next/prev_siblingAnton Khirnov2020-05-05
|
* db/thread: fix documentationAnton Khirnov2020-05-05
| | | | message_list stores Messages themselves, not just their ids.
* widgets/thread: turn the body into a tree of _MIMEPartWidget subclassesAnton Khirnov2020-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 neededAnton Khirnov2020-04-25
|
* ui: remove forgotten development logAnton 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
|
* buffers/thread: only return selected attachments when the message is in focusAnton 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).
* db/attachment: remove pointless call to string_decode()Anton Khirnov2020-04-23
| | | | The value is already a string.
* buffers/search: rewrite PipeWalkerAnton Khirnov2020-04-19
| | | | | Convert it to the v2 API and avoid constructing widgets until they are needed.
* buffers/search: simplify codeAnton Khirnov2020-04-19
|
* buffers/search: drop unused codeAnton Khirnov2020-04-19
|
* buffers/search: with walker.pyAnton Khirnov2020-04-19
| | | | It is only ever called from here, separating them makes little sense.