aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBence Ferdinandy <bence@ferdinandy.com>2024-07-01 21:43:35 +0200
committerRobin Jarry <robin@jarry.cc>2024-08-03 17:42:11 +0200
commit1d4eafb011f46966848d55f381160e846d0d50c8 (patch)
tree95ac8c80255dd65892c1b321047a60c2fc4e8e38
parent9d8d74d9bf438c337ac0d6eed1b5dede5cc0ceb2 (diff)
downloadaerc-1d4eafb011f46966848d55f381160e846d0d50c8.tar.gz
templates: add {{.AccountFrom}} template
Add template variable to access the current account's From address. Implements: https://todo.sr.ht/~rjarry/aerc/150 Changelog-added: New `{{.AccountFrom}}` template variable. Signed-off-by: Bence Ferdinandy <bence@ferdinandy.com> Tested-by: Koni Marti <koni.marti@gmail.com> Acked-by: Robin Jarry <robin@jarry.cc>
-rw-r--r--config/templates.go1
-rw-r--r--doc/aerc-templates.7.scd7
-rw-r--r--lib/state/templates.go7
-rw-r--r--models/templates.go1
4 files changed, 16 insertions, 0 deletions
diff --git a/config/templates.go b/config/templates.go
index 4000b1fc..14da731b 100644
--- a/config/templates.go
+++ b/config/templates.go
@@ -66,6 +66,7 @@ var (
func (d *dummyData) Account() string { return "work" }
func (d *dummyData) AccountBackend() string { return "maildir" }
+func (d *dummyData) AccountFrom() *mail.Address { return nil }
func (d *dummyData) Signature() string { return "" }
func (d *dummyData) Folder() string { return "INBOX" }
func (d *dummyData) To() []*mail.Address { return []*mail.Address{&addr1} }
diff --git a/doc/aerc-templates.7.scd b/doc/aerc-templates.7.scd
index 2c773bef..de160293 100644
--- a/doc/aerc-templates.7.scd
+++ b/doc/aerc-templates.7.scd
@@ -206,6 +206,13 @@ available always.
{{.AccountBackend}}
```
+ The current account's from address:
+
+ ```
+ {{.AccountFrom}}
+ {{.AccountFrom.Address}}
+ ```
+
Currently selected mailbox folder:
```
diff --git a/lib/state/templates.go b/lib/state/templates.go
index 868f9184..801de752 100644
--- a/lib/state/templates.go
+++ b/lib/state/templates.go
@@ -161,6 +161,13 @@ func (d *templateData) AccountBackend() string {
return ""
}
+func (d *templateData) AccountFrom() *mail.Address {
+ if d.account != nil {
+ return d.account.From
+ }
+ return nil
+}
+
func (d *templateData) Folder() string {
if d.folder != nil {
return d.folder.Name
diff --git a/models/templates.go b/models/templates.go
index 757e934a..27a3ca6e 100644
--- a/models/templates.go
+++ b/models/templates.go
@@ -10,6 +10,7 @@ import (
type TemplateData interface {
Account() string
AccountBackend() string
+ AccountFrom() *mail.Address
Folder() string
To() []*mail.Address
Cc() []*mail.Address