|
@@ -19,7 +19,7 @@ pgrep mbsync >/dev/null && { echo "mbsync is already running."; exit ;} |
|
|
# files for variable assignments. This is ugly, but there are few options that |
|
|
# files for variable assignments. This is ugly, but there are few options that |
|
|
# will work on the maximum number of machines. |
|
|
# will work on the maximum number of machines. |
|
|
eval "$(grep -h -- \ |
|
|
eval "$(grep -h -- \ |
|
|
"^\s*\(export \)\?\(MBSYNCRC\|PASSWORD_STORE_DIR\|NOTMUCH_CONFIG\|GNUPGHOME\)=" \ |
|
|
|
|
|
|
|
|
"^\s*\(export \)\?\(MBSYNCRC\|MPOPRC\|PASSWORD_STORE_DIR\|NOTMUCH_CONFIG\|GNUPGHOME\)=" \ |
|
|
"$HOME/.profile" "$HOME/.bash_profile" "$HOME/.zprofile" "$HOME/.config/zsh/.zprofile" "$HOME/.zshenv" \ |
|
|
"$HOME/.profile" "$HOME/.bash_profile" "$HOME/.zprofile" "$HOME/.config/zsh/.zprofile" "$HOME/.zshenv" \ |
|
|
"$HOME/.config/zsh/.zshenv" "$HOME/.bashrc" "$HOME/.zshrc" "$HOME/.config/zsh/.zshrc" \ |
|
|
"$HOME/.config/zsh/.zshenv" "$HOME/.bashrc" "$HOME/.zshrc" "$HOME/.config/zsh/.zshrc" \ |
|
|
"$HOME/.pam_environment" 2>/dev/null)" |
|
|
"$HOME/.pam_environment" 2>/dev/null)" |
|
@@ -27,6 +27,7 @@ eval "$(grep -h -- \ |
|
|
export GPG_TTY="$(tty)" |
|
|
export GPG_TTY="$(tty)" |
|
|
|
|
|
|
|
|
[ -n "$MBSYNCRC" ] && alias mbsync="mbsync -c $MBSYNCRC" || MBSYNCRC="$HOME/.mbsyncrc" |
|
|
[ -n "$MBSYNCRC" ] && alias mbsync="mbsync -c $MBSYNCRC" || MBSYNCRC="$HOME/.mbsyncrc" |
|
|
|
|
|
[ -n "$MPOPRC" ] || MPOPRC="$HOME/.config/mpop/config" |
|
|
|
|
|
|
|
|
lastrun="${XDG_CONFIG_HOME:-$HOME/.config}/mutt/.mailsynclastrun" |
|
|
lastrun="${XDG_CONFIG_HOME:-$HOME/.config}/mutt/.mailsynclastrun" |
|
|
|
|
|
|
|
@@ -52,7 +53,13 @@ esac |
|
|
# Check account for new mail. Notify if there is new content. |
|
|
# Check account for new mail. Notify if there is new content. |
|
|
syncandnotify() { |
|
|
syncandnotify() { |
|
|
acc="$(echo "$account" | sed "s/.*\///")" |
|
|
acc="$(echo "$account" | sed "s/.*\///")" |
|
|
if [ -z "$opts" ]; then mbsync "$acc"; else mbsync "$opts" "$acc"; fi |
|
|
|
|
|
|
|
|
if [ "$1" = "pop" ]; then |
|
|
|
|
|
# Handle POP |
|
|
|
|
|
mpop "$acc" |
|
|
|
|
|
else |
|
|
|
|
|
# Handle IMAP |
|
|
|
|
|
if [ -z "$opts" ]; then mbsync "$acc"; else mbsync "$opts" "$acc"; fi |
|
|
|
|
|
fi |
|
|
new=$(find\ |
|
|
new=$(find\ |
|
|
"$HOME/.local/share/mail/$acc/"[Ii][Nn][Bb][Oo][Xx]/new/\ |
|
|
"$HOME/.local/share/mail/$acc/"[Ii][Nn][Bb][Oo][Xx]/new/\ |
|
|
"$HOME/.local/share/mail/$acc/"[Ii][Nn][Bb][Oo][Xx]/cur/\ |
|
|
"$HOME/.local/share/mail/$acc/"[Ii][Nn][Bb][Oo][Xx]/cur/\ |
|
@@ -70,11 +77,17 @@ if [ "$#" -gt "0" ]; then |
|
|
done |
|
|
done |
|
|
accounts=$* |
|
|
accounts=$* |
|
|
fi |
|
|
fi |
|
|
|
|
|
# TODO handle account passed from argument |
|
|
[ -z "$accounts" ] && accounts="$(awk '/^Channel/ {print $2}' "$MBSYNCRC")" |
|
|
[ -z "$accounts" ] && accounts="$(awk '/^Channel/ {print $2}' "$MBSYNCRC")" |
|
|
|
|
|
[ -z "$pop_accounts" ] && pop_accounts="$(awk '/^account/ {print $2}' "$MPOPRC")" |
|
|
|
|
|
|
|
|
# Parallelize multiple accounts |
|
|
# Parallelize multiple accounts |
|
|
for account in $accounts; do |
|
|
for account in $accounts; do |
|
|
syncandnotify & |
|
|
|
|
|
|
|
|
syncandnotify "imap" & |
|
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
|
|
for account in $pop_accounts; do |
|
|
|
|
|
syncandnotify "pop" & |
|
|
done |
|
|
done |
|
|
|
|
|
|
|
|
wait |
|
|
wait |
|
|