Commit message (Collapse) | Author | Age | ||
---|---|---|---|---|
... | ||||
* | db/manager: fix signature of Database.add() | Anton Khirnov | 2021-01-24 | |
| | ||||
* | widgets/thread: fox tyop | Anton Khirnov | 2021-01-22 | |
| | ||||
* | db/message: make sure not to leave temporary files around | Anton Khirnov | 2021-01-21 | |
| | | | | | Use a contextlib.ExitStack to remove the temporary file used by external handler, even if an exception is raised. | |||
* | db/message: split _render_part() | Anton Khirnov | 2021-01-21 | |
| | | | | | | | | Rename it to _render_part_external() and make it only handle external rendering. Move the other code - dealing with text parts without an external handler - to _MimeTree.render_str(). This takes into account overridden content types, and also processes text/plain parts if that is configured. | |||
* | db/message: pass content-type to _render_part() | Anton Khirnov | 2021-01-21 | |
| | | | | | Do not get it from the underlying EmailMessage, since we may override it. | |||
* | db/message: implement __str__ | Anton Khirnov | 2021-01-21 | |
| | ||||
* | db/message: guess a better content type for octet-stream parts | Anton Khirnov | 2021-01-21 | |
| | | | | Same as what is done for Attachment. | |||
* | widgets/thread: update comment | Anton Khirnov | 2021-01-21 | |
| | ||||
* | widgets/thread: generic pygments highlighting | Anton Khirnov | 2021-01-21 | |
| | ||||
* | db/message: fix email-missing warning | Anton Khirnov | 2021-01-21 | |
| | ||||
* | widgets/thread: merge top-level whitespace into folded blocks | Anton Khirnov | 2021-01-21 | |
| | ||||
* | widgets/thread: treat whitespace-only lines as empty for folding detection | Anton Khirnov | 2021-01-21 | |
| | ||||
* | completion/tag: sort the tags | Anton Khirnov | 2021-01-21 | |
| | ||||
* | Use super() where applicable. | Anton Khirnov | 2021-01-21 | |
| | ||||
* | Add time to log format. | Anton Khirnov | 2021-01-20 | |
| | | | | Useful for a quick check how long operations took. | |||
* | buffers: make get_info() asynchronous | Anton Khirnov | 2021-01-20 | |
| | | | | | Allows computing message/thread counts asynchronously in a separate thread. | |||
* | commands/search: remove unused variable | Anton Khirnov | 2021-01-20 | |
| | ||||
* | db/thread: add parentheses for chaining queries | Anton Khirnov | 2021-01-20 | |
| | ||||
* | db: make sure to close the read-only database instances | Anton Khirnov | 2021-01-20 | |
| | ||||
* | widgets/search: cleanup ThreadlineWidget | Anton Khirnov | 2021-01-20 | |
| | | | | | Remove unnecessary instance variables that are only really needed within one function. Prepare the class for async rebuild. | |||
* | commands/search: remove unused code | Anton Khirnov | 2021-01-20 | |
| | ||||
* | widgets/search: remove unused variable | Anton Khirnov | 2021-01-20 | |
| | ||||
* | ui: clean up asyncio calls | Anton Khirnov | 2021-01-20 | |
| | | | | Bump python dependency to 3.7, which added create_task(). | |||
* | db: make write operations async | Anton Khirnov | 2021-01-20 | |
| | ||||
* | widgets/thread: option for smarter subject in message summary | Anton Khirnov | 2021-01-20 | |
| | | | | | | In the smart mode, display subject only if it's different from parent (modulo leading re:'s). Since the subject should not change most of the time, this reduces visual clutter. | |||
* | db/manager: drop unused variable | Anton Khirnov | 2021-01-19 | |
| | ||||
* | widgets/thread: fix processing quote blocks into folding tree | Anton Khirnov | 2021-01-18 | |
| | ||||
* | widgets/thread: colorize text/x-{diff,patch} as patches | Anton Khirnov | 2021-01-17 | |
| | ||||
* | widgets/thread: allow forcing inline display of selected attachment types | Anton Khirnov | 2021-01-17 | |
| | ||||
* | ui: do not display an error on cancelling a command | Anton Khirnov | 2021-01-16 | |
| | | | | This is not an error state, just normal operation. | |||
* | completion/query: update keywords | Anton Khirnov | 2021-01-16 | |
| | | | | | | | | | Make them a class, rather than instance, attribute, since they are static. Update the list to include all the terms currently listed in notmuch-search-terms manual, skipping aliases 'is' and 'mid' (to avoid unnecessarily crowding the completion space). | |||
* | completion/query: add class attribute prototypes | Anton Khirnov | 2021-01-16 | |
| | | | | | Also, remove unused dbman attribute and add _ prefix to private attribute keywords. | |||
* | helper: get rid of decode_string() | Anton Khirnov | 2021-01-16 | |
| | | | | | | | | It just adds unnecessary type confusion. In most places where it is used, the types are always str, so it does nothing. In the few others, the encoding/decoding is better handled explicitly. | |||
* | helper: move humanize_size to the only place where it is used | Anton Khirnov | 2021-01-16 | |
| | ||||
* | helper: rewrite mailto_to_envelope/parse_mailto to Envelope.from_mailto | Anton Khirnov | 2021-01-16 | |
| | ||||
* | helper: drop unused RFC3156_canonicalize() | Anton Khirnov | 2021-01-16 | |
| | ||||
* | helper: move pretty_datetime to the only place where it is used | Anton Khirnov | 2021-01-16 | |
| | | | | Also, drop now-unnecessary call to decode_string | |||
* | widgets/thread: color git-send-email patches with pygments | Anton Khirnov | 2021-01-16 | |
| | ||||
* | Add code for parsing ANSI escape codes into Urwid AttrSpec. | Anton Khirnov | 2021-01-16 | |
| | | | | Based on code by Patrick Totzke <patricktotzke@gmail.com>. | |||
* | db/message: export headers per-MIME part | Anton Khirnov | 2021-01-15 | |
| | ||||
* | widgets/thread: skip zero-length alternatives | Anton Khirnov | 2021-01-13 | |
| | | | | | | Some systems create multipart/alternative with an empty text/plain part, with actual content in the text/html part. Pretend the dummy plaintext part is not there. | |||
* | 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. |