aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBence Ferdinandy <bence@ferdinandy.com>2023-11-24 21:28:12 +0100
committerRobin Jarry <robin@jarry.cc>2023-11-24 22:45:03 +0100
commit8ee61777ada29432783e18a7634ab1150a631987 (patch)
treeb66e9ea50282c4cbb05fb680e101694d3b09c8fd
parenteda71c55d4ccd3b43c2f108de8f9ea9f8382db36 (diff)
downloadaerc-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.conf5
-rw-r--r--config/ui.go1
-rw-r--r--doc/aerc-config.5.scd5
-rw-r--r--lib/state/templates.go2
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
}