| Commit message (Collapse) | Author | Age |
| |
|
| |
|
| |
|
|
|
|
|
|
| |
... after external processes terminate.
fixes #566
|
| |
|
|
|
|
|
|
| |
by keeping a "was locked" flag in the UI.
Once changes are successfully flushed, we use a single "all clear"
notification.
|
| |
|
|
|
|
|
| |
This also adds a new config option `compose_ask_tags`
that defaults to False.
|
|
|
|
|
| |
instead of only completing addresses and afterwards looking up a
matching account
|
|
|
|
|
|
|
| |
... in CallCommand.
This makes it possible to use `call "hooks.myfunc()"`,
where my_func makes use of the UI instance (and settings)
by referencing to `ui` (and `settings`).
|
|\ |
|
| |
| |
| |
| |
| | |
.. after external commands that reuse the terminal.
cf issue #506
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
a meta command that allows to chain commands
|
|/ |
|
| |
|
| |
|
| |
|
|
|
|
| |
which were obsoleted by the previous commit
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
.. for bclose command:
This way one can bind `bclose --force` to prevent a confirmation dialog
while closing unsent envelope buffers.
|
|
|
|
|
|
|
| |
This command is similar to `bclose` but it force closing a buffer
without asking the user.
cf issue #453
|
|
|
|
|
|
|
| |
This prevent accidentally closing an alot.buffers.EnvelopeBuffer and
losing the buffer content.
cf issue #453
|
|
|
|
| |
issue #480
|
|
|
|
|
|
|
|
|
|
| |
this ensures that whenever X11 is not present
and external commands like calling the editor
are used in combination with the --spawn parameter,
they are *not* called in a new xterm and forced to
run in the same thread as alot.
cf issue #460
|
| |
|
|
|
|
|
| |
we used subprocess.call, which in an error case just returns the
int-return value and does not raise OSError if shell==True.
|
| |
|
|
|
|
|
|
|
| |
that gets a command as list of str together with spawn, thread and shell flags
and returns a triple of cmdlist shell and thread flags to be used.
This allows for crazy stuff like spawning into gnu screen tabs etc. cf issue #466.
|
|
|
|
|
| |
This makes the command use its spawn and thread parameters
and fall back to the values given in the config
|
|
|
|
| |
cf issue #472
|
| |
|
|
|
|
|
|
|
| |
.. for commands that end in ExternalCommand.
ExternalCommand's spawn parameter is actually interpreted as
"force-spawn-bit" at the moment.
cf issue #460
|
|
|
|
|
|
| |
If ExternalCommand gets a 'shell' parameter set to True, it passes this on to subprocess.Popen.
This makes Popen only use the first entry in the commandlist. This patch ensures that
the 'shellescape's commandstring argument ends up in this first entry.
|
|
|
|
|
| |
this makes ExternalCommand also accept command strings as well as lists in order to make the
shellescape command work properly
|
|
|
|
|
|
|
|
| |
that splits a command string into a list of strings to pass on to subprocess.Popen and the like.
This helper is now used throughout the application instead of calling shlex.split directly as this
is a potential source for errors because shlex is not yet able to properly deal with unicode
bytestrings.
|
|
|
|
|
|
|
|
|
|
| |
instead of command strings. subprocess.Popen
takes a string list that determines the subcommand to call.
This makes ExternalCommand directly accept string lists to pass on to Popen.
This change obsoletes the 'path' parameter, as callers can now simply
construct the command list accordingly.
OpenAttachmentCommand and EditCommand are updated to match this API change.
|
|
|
|
|
|
|
| |
this introduces the 'shell' parameter, that gets passed on to subprocess.Popen and results in the
commandstring being interpreted by the shell.
This commits also makes shellescape force-set this parameter to true
|
|
|
|
|
| |
file-like object or string that will be piped into external processes
stdin if not None
|
|
|
|
|
|
|
| |
... if used on a mail with sender's address not being one's own:
In that case, settings.get_account_by_address(addr) returns None.
cf issue #451
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
alot/settings/__init__.py
alot/settings/checks.py
docs/source/generate_configs.py
|
| |
| |
| |
| |
| |
| |
| | |
This introduces a custom config check that
tests if the given gpg_key value points to a
valid private key. If so, the property
Account.gpg_key is a pyme.pygpgme._gpgme_key object.
|
| |
| |
| |
| |
| | |
to prevent circular imports and for consistency:
This Exception is not related to the database abstraction layer.
|
| |
| |
| |
| |
| |
| | |
.. and not in reply/forward/editnew.
This also obsoletes Envelope.apply_account_crypto_settings,
which needed a reference to UI for error notifications.
|
| |
| |
| |
| | |
existing gpg_key setting
|
| |
| |
| |
| | |
issue #413
|