aboutsummaryrefslogtreecommitdiffstats
path: root/config
diff options
context:
space:
mode:
authorTim Culverhouse <tim@timculverhouse.com>2023-09-25 09:07:43 -0500
committerRobin Jarry <robin@jarry.cc>2023-09-27 23:12:41 +0200
commit4ec1e1a5e4c74236a6d1992c8778c39fd25d847b (patch)
treeb6ade84273558cf6c03ae8e7b606c3d2edd998ab /config
parent439204d994e8ba9ab3045139bc716bee812f4029 (diff)
downloadaerc-4ec1e1a5e4c74236a6d1992c8778c39fd25d847b.tar.gz
ui: enable showing of thread-context
Add a UI config value to enable showing of "thread-context", similar to `notmuch show --entire-thread=true`. Add an associated style called "msglist_thread_context" which can be used to style such messages. Currently this feature is only supported by notmuch. It would be possible for maildir to implement as well, IMAP with gmail custom extensions, and JMAP. This patch merely implements the notmuch version and puts the groundwork in for handling these sorts of displays. Signed-off-by: Tim Culverhouse <tim@timculverhouse.com> Tested-by: Inwit <inwit@sindominio.net> Acked-by: Robin Jarry <robin@jarry.cc>
Diffstat (limited to 'config')
-rw-r--r--config/aerc.conf8
-rw-r--r--config/style.go4
-rw-r--r--config/templates.go1
-rw-r--r--config/ui.go1
4 files changed, 13 insertions, 1 deletions
diff --git a/config/aerc.conf b/config/aerc.conf
index 00c8501f..4b4e7cb6 100644
--- a/config/aerc.conf
+++ b/config/aerc.conf
@@ -290,6 +290,14 @@
# Default: false
#force-client-threads=false
+# Show thread context enables messages which do not match the current query (or
+# belong to the current mailbox) to be shown for context. These messages can be
+# styled separately using "msglist_thread_context" in a styleset. This feature
+# is not supported by all backends
+#
+# Default: false
+#show-thread-context=false
+
# Debounce client-side thread building
#
# Default: 50ms
diff --git a/config/style.go b/config/style.go
index 3f117fc0..8a88dcfc 100644
--- a/config/style.go
+++ b/config/style.go
@@ -41,6 +41,7 @@ const (
STYLE_MSGLIST_THREAD_FOLDED
STYLE_MSGLIST_GUTTER
STYLE_MSGLIST_PILL
+ STYLE_MSGLIST_THREAD_CONTEXT
STYLE_DIRLIST_DEFAULT
STYLE_DIRLIST_UNREAD
@@ -89,7 +90,8 @@ var StyleNames = map[string]StyleObject{
"msglist_gutter": STYLE_MSGLIST_GUTTER,
"msglist_pill": STYLE_MSGLIST_PILL,
- "msglist_thread_folded": STYLE_MSGLIST_THREAD_FOLDED,
+ "msglist_thread_folded": STYLE_MSGLIST_THREAD_FOLDED,
+ "msglist_thread_context": STYLE_MSGLIST_THREAD_CONTEXT,
"dirlist_default": STYLE_DIRLIST_DEFAULT,
"dirlist_unread": STYLE_DIRLIST_UNREAD,
diff --git a/config/templates.go b/config/templates.go
index 3f0249df..e2adeac2 100644
--- a/config/templates.go
+++ b/config/templates.go
@@ -78,6 +78,7 @@ func (d *dummyData) Header(string) string { return "" }
func (d *dummyData) ThreadPrefix() string { return "└─>" }
func (d *dummyData) ThreadCount() int { return 0 }
func (d *dummyData) ThreadFolded() bool { return false }
+func (d *dummyData) ThreadContext() bool { return true }
func (d *dummyData) Subject() string { return "Re: [PATCH] hey" }
func (d *dummyData) SubjectBase() string { return "[PATCH] hey" }
func (d *dummyData) Attach(string) string { return "" }
diff --git a/config/ui.go b/config/ui.go
index 0479c13b..3b637278 100644
--- a/config/ui.go
+++ b/config/ui.go
@@ -41,6 +41,7 @@ type UIConfig struct {
ThreadingEnabled bool `ini:"threading-enabled"`
ForceClientThreads bool `ini:"force-client-threads"`
ClientThreadsDelay time.Duration `ini:"client-threads-delay" default:"50ms"`
+ ThreadContext bool `ini:"show-thread-context"`
FuzzyComplete bool `ini:"fuzzy-complete"`
NewMessageBell bool `ini:"new-message-bell" default:"true"`
Spinner string `ini:"spinner" default:"[..] , [..] , [..] , [..] , [..], [..] , [..] , [..] "`