Renamed script to sync local mbox directory with remote from `mail-check`
to `sync-mail`. Changed necessary integrations accordingly (neomutt and
system service).
Updated code to be able to run a password command chosen individually,
as well as a post-password command.
Used in this instance to `pass open` a password store in a coffin/tomb
before actually trying to read passwords out of it.
Updated notmuch to only be available for full-text search. Removed
complete afew configuration.
Added msmtp as mail sending agent.
Added structured neomutt configuration with custom bindings, built for
my personal gmail account, without any plaintext passwords revealed,
etc.
This is a reasonably well working mail setup,
which should provide a stable starting point for further refinements.
Additionally, added some functionality to `mail-check` script:
Allowed user to choose sync target for each run, by
passing in mbsync target (group/channel/..) as the argument.
Also, allows setting password file to use for script through env var,
and made imapfilter location less hard-coded to my system.
Fixed script to only ask for password once before understanding that the
user does not want to provide it.
Since gpg seems to not differentiate between a *wrongly* entered
password and one entered not at all, we have to assume the user canceled
the password prompt and not bug him again until the next time the script
is invoked.
It will, however, at least notify the user that the process is aborted
in a quick notification message, so that if it was done on accident the
user will still know what's up.
Added videos directory to vifm quick marks (`v`).
Fixed (hopefully) qutebrowser statusbar hiding and showing.
Improved mail checking script password file handling by switching the
hard-coded path to one still somewhat hard-coded, but encapsulated in a
variable to make changing it later on easier. The script is a bit
slap-dash anyway, so when refactored should be refactored overall.
Added `gallery-dl` handling by mpv, whenever a link starting with
`gdl://` is passed in.
Update `mail-check` script to notify the user both of newly arrived
mail, and in case he has to enter his password to sync the mail.
HACK the paths and ways of finding out if passwords can be decrypted are
static and only applicable to my set up. This needs to be completely
revised and newly approached.
Fixed running the hooks for `mail-check`. Command (or variable?)
substition prevented the hooks from running completely beforehand, so I
moved them to a separate function with the option remaining to call a
custom script for them through environment variables.
Ideally the env vars (`MBSYNC_PRE` and `MBSYNC_POST`) should only point
to a single script each, as more involved commands will presumably fail
to execute correctly when whitespace substition is involved.
See more explanation here:
https://unix.stackexchange.com/a/444949
Added `mail-searchcontacts` script, which uses notmuch to search for all
contacts of the mail database.
Can be invoked without any arguments to list *all* contacts of the
dataase in descending order of message count.
Otherwise, it will filter known contacts, first by prioritizing the
'from:' field, and otherwise by searching through the whole database for
the keywords passed in.
It will also re-format the results so that the list consists of
tab-delineated 'mail name' rows. If there is no name, the row will only
contain the bare e-mail address. This format is best accepted by aerc,
for which the script is written.
aerc uses the contacts script for its address completion in editing
e-mail headers.
Renamed `checkmail` to `mail-check` to fit the naming scheme of
`mail-[action]` for mail scripts, to better be able to group them in the
shell.