| Commit message (Collapse) | Author | Age |
|\
| |
| | |
fix ambiguous keys harder
|
| |
| |
| |
| | |
always pass keyword arguments as thus, to prevent problems like this.
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
As well as reducing duplication and adding screen size detection to
:pipeto and :pyshell, this ensures that the screen is always restarted,
resulting in cleaner error handling if an error occurs while the screen
is stopped.
|
| |
| |
| |
| |
| |
| |
| |
| | |
This is caused by urwid/urwid#285; stopping and starting the whole
mainloop rather than just the screen works around this, but that's only
available in newer urwid versions.
This also affected the :pipeto and :pyshell commands.
|
|\ \
| | |
| | | |
Fix templates with non-ascii characters.
|
| | | |
|
| | |
| | |
| | |
| | | |
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
|
|\ \ \
| |_|/
|/| | |
Fix `LANG=C alot` with custom bindings.
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Reproduction steps:
- Set a custom binding in your config file. E.g.:
[bindings]
S = toggletags spam
- start alot with LANG=C: LANG=C alot
- variant A: type ö
- variant B: type :search ö
Problem: the urwid encoding is set to 'narrow', such that all key events
are passed down as `str`, not `unicode`. At the same time, ConfigObj reads
the custom binding as a unicode string. The interaction of both leads to
crashes.
Related to #673
|
|\ \
| |/
|/| |
Fix for issue 1164 - Cannot select key for encryption by number keys
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
error
* avoid endless loop if the selected key leads to an ambiguous key error again
* do not add the resulting key to the loop again instead add it directly
* use a list of keys as selection return values
* add fpr to visual key selection list to be able to select the expected key
* remove reversed call that should not be necessary
|
| |
| |
| |
| | |
and a list of return objects for choices.
|
| |
| |
| |
| | |
and a list of return objects for choices.
|
|\ \
| | |
| | | |
mention unrendered HTML parts directly in message body text.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
these are internal nodes in the mail tree and do not contain displayable
content.
|
| | | |
|
|\ \ \
| | | |
| | | | |
[WIP] Fix writing/loading history, if a command contains non-ascii character(s)
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Bug:
- alot -l log -d debug
- :search ö<enter>
- quit alot
- in log file: stacktrace with UnicodeEncodeError, when writing the histfile.
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
- allows users to use $XDG_CONFIG_HOME, as well
- stores information in single places.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Use fallback, if an enviroment variable is unset *or* empty.
Bug:
- XDG_CONFIG_HOME='' alot
Problem:
Does not find the configuration file (among others), because
os.environ.get('XDG_CONFIG_HOME', '~/.config') returns '', instead of
'~/.config'.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Fixes the following bug:
To reproduce::
- Don't define `template_dir` in the user configuration file, such that
the default value is used.
- Run: :compose --template=foobar
Problem:
Displays error: `no template directory: $XDG_CONFIG_HOME/alot/templates`
|
|\ \ \ \
| |/ / /
|/| | | |
Give better feedback on invalid user input.
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
- Replace directory check with file check - we only check for a single
file, no need to check for existende of the directory separately. Also,
this way we can distinguish between file validation error and file
not found.
- Be consistent: we stop iterating, if we find a file and it can be
parsed. If we can't parse it, stop iterating as well, don't keep looking
for the file.
|
| | | | |
|
| | | | |
|
| | | | |
|
|\ \ \ \
| |/ / /
|/| | | |
catch exception about malformed query strings
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
.. when getting thread message count to build search buffers.
We already had a try/except block for this. This commit just moves the
one offending line into that block.
Fixes #1074
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes the following crashes:
1. tag completion with regex special chars
:search tag:[<tab>
2. Changing tag representation of an (existing) tag with regex special
chars:
[tags]
[[my**tag]]
normal = '','', 'white','light red', 'white','#d66'
3. Contact completion with regex special chars and no external command:
To:**foo<tab>
|
|\ \
| | |
| | | |
thread mode message indentation
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
this makes sure that 'tbuffer._indent_width', which stores the requested
indentation width, remains non-negative.
As a consequence, multiple "decrease" operations on zero values can be
reverted by a single "increase", as is intuitive.
|
| | |
| | |
| | |
| | |
| | |
| | | |
this introduces a new argparse validation check that makes sure a
parameter is '+', '-', or an integer, and uses this check for the
'indent' thread mode command.
|
| | | |
|
| | |
| | |
| | |
| | | |
to dynamically change the message indentation
|
| | |
| | |
| | |
| | |
| | | |
This adjusts the message/reply indentation according to the new
'thread_indent_replies' config option.
|