Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | mail/envelope: add a special class for headers | Anton Khirnov | 2021-11-20 |
| | | | | Handle multiple headers with ordering and case-insensitive operations. | ||
* | buffers/thread: drop unused import | Anton Khirnov | 2021-06-18 |
| | |||
* | buffers/thread: prevent cursor movements from switching sub-window focus | Anton Khirnov | 2021-05-17 |
| | |||
* | buffers/thread: do not access message widgets unnecessarily | Anton Khirnov | 2021-05-13 |
| | | | | Avoids constructing the widgets when we only need the messages. | ||
* | buffers/thread: do not construct the message widgets until they are needed | Anton Khirnov | 2021-05-13 |
| | |||
* | buffers/thread: cosmetics, vertical alignment | Anton Khirnov | 2021-04-01 |
| | |||
* | buffers/thread: sanitize thread subject in info | Anton Khirnov | 2021-04-01 |
| | |||
* | Cosmetics, clean up imports | Anton Khirnov | 2021-02-10 |
| | |||
* | widgets/search: display the number of matching messages in the thread | Anton Khirnov | 2021-02-10 |
| | |||
* | buffers/search: do not pass dbman into IterWalker | Anton Khirnov | 2021-02-10 |
| | | | | | Use functools.partial to keep the widget construction logic out of IterWalker, since it should not handle such details. | ||
* | buffers/namedqueries: add a hook for sorting queries | Anton Khirnov | 2021-02-04 |
| | |||
* | buffers/search: fix handling malformed queries | Anton Khirnov | 2021-01-31 |
| | |||
* | buffers/search: remove unused variable | Anton Khirnov | 2021-01-31 |
| | |||
* | db: use symbolic constants for sort orders | Anton Khirnov | 2021-01-31 |
| | |||
* | widgets/global: move HeadersList to the only place where it is used | Anton Khirnov | 2021-01-26 |
| | |||
* | buffers: make get_info() asynchronous | Anton Khirnov | 2021-01-20 |
| | | | | | Allows computing message/thread counts asynchronously in a separate thread. | ||
* | 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 |
| | |||
* | 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. | ||
* | Consistently use set/frozenset for tags. | Anton Khirnov | 2020-05-24 |
| | |||
* | taglist: drop the useless filtfun parameter | Anton Khirnov | 2020-05-24 |
| | |||
* | buffers/search: do not lose exceptions while constructing list widgets | 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. | ||
* | helper: move string_sanitize() to the only place where it is used | Anton Khirnov | 2020-05-05 |
| | |||
* | buffers/thread: fix focus_next/prev_sibling | Anton Khirnov | 2020-05-05 |
| | |||
* | buffer: drop the ui parameter when not needed | 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). | ||
* | 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. | ||
* | buffers/search: revert 66d24cf0f00a58133c159940d8f65a4f622a09eb | Anton Khirnov | 2020-04-19 |
| | | | | | | | | | This optimization is wrong, since oldest_first is not a reverse of newest_first. oldest_first sorts the threads by the oldest message in each thread, while newest_first sorts by the newest message in each thread. That results in 'focus last' changing the thread order, which it should not do. | ||
* | buffers/search: drop unused var | Anton Khirnov | 2020-04-19 |
| | |||
* | buffers/thread: add focusing on first/last message matching a property | Anton Khirnov | 2020-03-02 |
| | |||
* | buffers/thread: make the widget split-window | Anton Khirnov | 2020-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. | ||
* | thread buffer: make attachments work again | Anton Khirnov | 2020-02-25 |
| | |||
* | thread: implement tree decorations | Anton Khirnov | 2020-02-19 |
| | | | | | | | | They were temporarily removed in the previous commit. Still not working: - theming for the decorations - drawing the connector line properly for expanded messages - configurable indentation | ||
* | thread: drop the use of urwidtrees | Anton Khirnov | 2020-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: drop useless getters | Anton Khirnov | 2020-02-06 |
| | |||
* | db/thread: drop useless getter functions | Anton Khirnov | 2020-02-06 |
| | |||
* | buffers/thread: drop a useless getter function | Anton Khirnov | 2020-02-05 |
| | |||
* | buffers/thread: drop support for auto-read tagging | Anton Khirnov | 2020-02-05 |
| | | | | It's pointless complexity that I do not need. | ||
* | search: add thread_count info property | Anton Khirnov | 2020-02-03 |
| | |||
* | Revert "db/manager: Drop async method" | Anton Khirnov | 2020-01-02 |
| | | | | This reverts commit e7e0c52db9093a9ecd9dcaa0766e66515a546a75. | ||
* | sanitize message text for display | Patrick Totzke | 2019-11-21 |
| | | | | | | | | This ensures that non-printable characters (tabs) are replaced in the message body texts in envelope buffers and in source texts in thread mode. fix #1439 | ||
* | Remove unicode escape codes | Lucas Hoffmann | 2019-11-06 |
| | |||
* | Remove unicode literals syntax from python2 | Lucas Hoffmann | 2019-11-06 |
| | |||
* | cleanups: buffers/thread.py | Patrick Totzke | 2019-08-16 |
| |