| Commit message (Collapse) | Author | Age |
... | |
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
It should be cleaner and easier to use, and eventually replace the
custom tree walker in the thread display buffer.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
There is no meaningful reason to focus on individual lines, since they
are unactionable.
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
... 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.
|
| |
|
| |
|
|
|
|
|
| |
to make sure that all parts exist when messages are expanded
(see pydoc string)
|
|
|
|
|
|
|
|
|
|
|
| |
This will prevent the whole message from being read and interpreted
at the time we instantiate a MessageTree for display and instead only
create the (cheap!) summary widget.
When a user manually interacts with the Message widgets (for example by
unfolding/toggling source) then the content parts will anyway be
reassembled. The consequence of this patch is that loading large threads
should be much faster.
|
|
|
|
|
| |
Hotfix for double width characters causing columns misalign in search
view (https://github.com/pazz/alot/issues/1393)
|
| |
|
|\
| |
| | |
New buffer type for notmuch's named query strings
|
| | |
|
| |
| |
| |
| |
| | |
this is only possible for "tags" parts, in case the list of tags is
empty or all tags are hidden.
|
| |
| |
| |
| |
| | |
.. from the theming structure, instead of pushing these as extra
parameters through helper functions.
|
| |
| |
| |
| |
| | |
into several small functions that prepare the content string for their
respective part of a threadline.
|
| |
| |
| |
| |
| |
| | |
We currently call dict_keys.sort(), which doesn't work because it
doesn't exist. The whole function is kinda strange anyway, since there's
a lot of work done in general that only applies in once case.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This factors out the method _build_part, which is used to create local
Text/Column widgets for each indivitual part of the threadline.
The method is now broken in two: one for text (= subject, authors,..)
parts and one for tags (= Columns of TagWidgets) and both those
functions are moved out of the Threadline class.
|
| |
| |
| |
| | |
This was superseeded by settings.get_threadline_theming a while back
|
| |
| |
| |
| |
| | |
this simplifies the rebuilding of alot.widgets.search.Threadline,
removes duplicate and ugly code.
|
|/
|
|
|
|
|
|
|
|
| |
this will cause the width of a (author/tag/..) string in a threadline
widget to be computed by urwids `Widget.pack` function rather than just
taking the length of the string.
This fixes an issue with utf-8 wide characters such as Kanji, fow which
urwid needs extra space, and consequently adds additional rows when
packing such Textwidgets into Columns as we do in threadlines.
|
|
|
|
|
|
| |
This has really annoyed me for a while, the search is reversed from vim.
In alot currently up is older searches, whiles down is newer. In vim
it's reversed.
|
|
|
|
| |
They are not needed for python >= 3.0.
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
The code currently uses "cursor up", which seems wrong to me. This
corrects searching through prompt history only moving in one direction.
Fixes #1216
|
| | |
|
|/
|
|
|
|
|
| |
in python3 dict.{keys,items,values} return views, which are similar to
iterators without some of the caveats about modifying the underlying
object. The iter* and view* methods have been removed, instead one warps
dict.x in iter or list to get those types.
|
|\
| |
| | |
Fix for issue 1164 - Cannot select key for encryption by number keys
|
| | |
|
| |
| |
| |
| | |
and a list of return objects for choices.
|
|/ |
|
| |
|
|\ |
|
| |
| |
| |
| |
| | |
This mostly shortens lines down to <=79 chars and fixes some other small
things I found using the pep8 tool.
|
|/ |
|
|
|
|
|
|
|
|
|
| |
The old implementation would raise an error when the translated tag
string was a unicode string (might be defined as an abbreviation in the
users config).
The official docs suggest this kind of implementation:
https://docs.python.org/3/reference/datamodel.html#object.__hash__
|
|
|
|
|
|
| |
Implementing the comparison functions as a shared method rather than in
terms of each other (as functools.totalordering does) makes the
search interface much snappier.
|
|
|
|
|
|
|
|
| |
Which is required in python3 when implementing the __eq__ method.
The implementation caches the hash method, since it's being called each
time the focus is changed in the search view. This doesn't really seem
correct to me, but I'm not sure it's wrong.
|
|
|
|
|
| |
This wasn't caught by static checkers since it is used in the other
brach of the if statement containing this value.
|
|
|
|
|
|
|
| |
This can create circular imports in unittests, which causes difficult to
debug errors.
Fixes #1076
|
| |
|