diff options
author | Tim Culverhouse <tim@timculverhouse.com> | 2023-09-25 09:07:43 -0500 |
---|---|---|
committer | Robin Jarry <robin@jarry.cc> | 2023-09-27 23:12:41 +0200 |
commit | 4ec1e1a5e4c74236a6d1992c8778c39fd25d847b (patch) | |
tree | b6ade84273558cf6c03ae8e7b606c3d2edd998ab /config | |
parent | 439204d994e8ba9ab3045139bc716bee812f4029 (diff) | |
download | aerc-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.conf | 8 | ||||
-rw-r--r-- | config/style.go | 4 | ||||
-rw-r--r-- | config/templates.go | 1 | ||||
-rw-r--r-- | config/ui.go | 1 |
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:"[..] , [..] , [..] , [..] , [..], [..] , [..] , [..] "` |