diff options
author | Robin Jarry <robin@jarry.cc> | 2023-07-17 14:31:20 +0200 |
---|---|---|
committer | Robin Jarry <robin@jarry.cc> | 2023-08-04 23:16:29 +0200 |
commit | d5210acf092f3c3346c363dbe3ce5ca899fb5a24 (patch) | |
tree | b84228cdb3ff6dbe914a4eae788fbaa9e93dca3e | |
parent | 24eab0f5ef6324b00717997f671cf1d13317bd5c (diff) | |
download | aerc-d5210acf092f3c3346c363dbe3ce5ca899fb5a24.tar.gz |
hooks: add account and folder to mail-received env
Add AERC_ACCOUNT and AERC_FOLDER to the environment of the mail-received
hook command.
Signed-off-by: Robin Jarry <robin@jarry.cc>
Reviewed-by: Tristan Partin <tristan@partin.io>
-rw-r--r-- | config/aerc.conf | 2 | ||||
-rw-r--r-- | doc/aerc-config.5.scd | 4 | ||||
-rw-r--r-- | lib/hooks/mail-received.go | 4 | ||||
-rw-r--r-- | widgets/account.go | 2 |
4 files changed, 10 insertions, 2 deletions
diff --git a/config/aerc.conf b/config/aerc.conf index d195563b..79a3936a 100644 --- a/config/aerc.conf +++ b/config/aerc.conf @@ -540,7 +540,7 @@ message/rfc822=colorize # # Executed when a new email arrives in the selected folder -#mail-received=notify-send "New mail from $AERC_FROM_NAME" "$AERC_SUBJECT" +#mail-received=notify-send "[$AERC_ACCOUNT/$AERC_FOLDER] New mail from $AERC_FROM_NAME" "$AERC_SUBJECT" # # Executed when aerc starts diff --git a/doc/aerc-config.5.scd b/doc/aerc-config.5.scd index 0a4fd9eb..0cdad99b 100644 --- a/doc/aerc-config.5.scd +++ b/doc/aerc-config.5.scd @@ -878,13 +878,15 @@ They are configured in the *[hooks]* section of aerc.conf. Variables: + - *AERC_ACCOUNT* + - *AERC_FOLDER* - *AERC_FROM_NAME* - *AERC_FROM_ADDRESS* - *AERC_SUBJECT* Example: - *mail-received* = _notify-send "New mail from $AERC_FROM_NAME" "$AERC_SUBJECT"_ + *mail-received* = _notify-send "[$AERC_ACCOUNT/$AERC_FOLDER] New mail from $AERC_FROM_NAME" "$AERC_SUBJECT"_ *aerc-shutdown* = _<command>_ Executed when aerc shuts down. Aerc will wait for the command to finish diff --git a/lib/hooks/mail-received.go b/lib/hooks/mail-received.go index 66622e9e..8f62be50 100644 --- a/lib/hooks/mail-received.go +++ b/lib/hooks/mail-received.go @@ -8,6 +8,8 @@ import ( ) type MailReceived struct { + Account string + Folder string MsgInfo *models.MessageInfo } @@ -18,6 +20,8 @@ func (m *MailReceived) Cmd() string { func (m *MailReceived) Env() []string { from := m.MsgInfo.Envelope.From[0] return []string{ + fmt.Sprintf("AERC_ACCOUNT=%s", m.Account), + fmt.Sprintf("AERC_FOLDER=%s", m.Folder), fmt.Sprintf("AERC_FROM_NAME=%s", from.Name), fmt.Sprintf("AERC_FROM_ADDRESS=%s", from.Address), fmt.Sprintf("AERC_SUBJECT=%s", m.MsgInfo.Envelope.Subject), diff --git a/widgets/account.go b/widgets/account.go index e9c86504..ecf357e9 100644 --- a/widgets/account.go +++ b/widgets/account.go @@ -241,6 +241,8 @@ func (acct *AccountView) newStore(name string) *lib.MessageStore { uiConf.SortThreadSiblings, func(msg *models.MessageInfo) { err := hooks.RunHook(&hooks.MailReceived{ + Account: acct.Name(), + Folder: name, MsgInfo: msg, }) if err != nil { |