diff options
author | Bence Ferdinandy <bence@ferdinandy.com> | 2023-11-24 21:28:12 +0100 |
---|---|---|
committer | Robin Jarry <robin@jarry.cc> | 2023-11-24 22:45:03 +0100 |
commit | 8ee61777ada29432783e18a7634ab1150a631987 (patch) | |
tree | b66e9ea50282c4cbb05fb680e101694d3b09c8fd | |
parent | eda71c55d4ccd3b43c2f108de8f9ea9f8382db36 (diff) | |
download | aerc-8ee61777ada29432783e18a7634ab1150a631987.tar.gz |
templates: display "(no subject)" when subject is empty
An empty subject, especially in a thread makes it for a slightly jarring
layout. Add a new option empty-subject option to UI with "(no subject")
as the default value. If the subject is empty and the current message is
not the same subject as it's parent in a thread make {{.Subject}}
evaluate to this option's value.
Changelog-added: The `{{.Subject}}` template is evaluated to the new
option `[ui].empty-subject` if the subject is empty.
Signed-off-by: Bence Ferdinandy <bence@ferdinandy.com>
Acked-by: Robin Jarry <robin@jarry.cc>
-rw-r--r-- | config/aerc.conf | 5 | ||||
-rw-r--r-- | config/ui.go | 1 | ||||
-rw-r--r-- | doc/aerc-config.5.scd | 5 | ||||
-rw-r--r-- | lib/state/templates.go | 2 |
4 files changed, 13 insertions, 0 deletions
diff --git a/config/aerc.conf b/config/aerc.conf index 0dfab7fc..92b92b8e 100644 --- a/config/aerc.conf +++ b/config/aerc.conf @@ -131,6 +131,11 @@ # # Default: (no folders) #empty-dirlist=(no folders) +# +# Value to set {{.Subject}} template to when subject is empty. +# +# Default: (no subject) +#empty-subject=(no subject) # Enable mouse events in the ui, e.g. clicking and scrolling with the mousewheel # diff --git a/config/ui.go b/config/ui.go index 5539d288..f339066e 100644 --- a/config/ui.go +++ b/config/ui.go @@ -38,6 +38,7 @@ type UIConfig struct { SidebarWidth int `ini:"sidebar-width" default:"20"` EmptyMessage string `ini:"empty-message" default:"(no messages)"` EmptyDirlist string `ini:"empty-dirlist" default:"(no folders)"` + EmptySubject string `ini:"empty-subject" default:"(no subject)"` MouseEnabled bool `ini:"mouse-enabled"` ThreadingEnabled bool `ini:"threading-enabled"` ForceClientThreads bool `ini:"force-client-threads"` diff --git a/doc/aerc-config.5.scd b/doc/aerc-config.5.scd index 19723f81..00d9dfd9 100644 --- a/doc/aerc-config.5.scd +++ b/doc/aerc-config.5.scd @@ -170,6 +170,11 @@ These options are configured in the *[ui]* section of _aerc.conf_. Default: _(no folders)_ +*empty-subject* = _<string>_ + Text to display in message list, when the subject is empty. + + Default: _(no subject)_ + *mouse-enabled* = _true_|_false_ Enable mouse events in the ui, e.g. clicking and scrolling with the mousewheel diff --git a/lib/state/templates.go b/lib/state/templates.go index e8c50e86..ef84f071 100644 --- a/lib/state/templates.go +++ b/lib/state/templates.go @@ -325,6 +325,8 @@ func (d *templateData) Subject() string { } if d.threadInfo.SameSubject { subject = "" + } else if subject == "" { + subject = config.Ui.EmptySubject } return subject } |