From 36b5885ec17743d608cf97a6eeed0e8638ea4c8c Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Thu, 2 Oct 2014 11:43:40 +0200 Subject: Allow configuring what does alot consider to be the thread subject. --- alot/db/thread.py | 12 +++++++++++- alot/defaults/alot.rc.spec | 9 +++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) (limited to 'alot') diff --git a/alot/db/thread.py b/alot/db/thread.py index 4138db1d..a0df09f1 100644 --- a/alot/db/thread.py +++ b/alot/db/thread.py @@ -33,7 +33,17 @@ class Thread(object): self._total_messages = thread.get_total_messages() self._notmuch_authors_string = thread.get_authors() - self._subject = thread.get_subject() + + subject_type = settings.get('thread_subject') + if subject_type == 'notmuch': + subject = thread.get_subject() + elif subject_type == 'oldest': + try: + subject = list(thread.get_toplevel_messages())[0].get_header('subject') + except IndexError: + subject = '' + self._subject = subject + self._authors = None ts = thread.get_oldest_date() diff --git a/alot/defaults/alot.rc.spec b/alot/defaults/alot.rc.spec index cf4fb6de..4691a7dc 100644 --- a/alot/defaults/alot.rc.spec +++ b/alot/defaults/alot.rc.spec @@ -49,6 +49,15 @@ thread_authors_replace_me = boolean(default=True) # :ref:`thread_authors_replace_me ` thread_authors_me = string(default='Me') +# What should be considered to be "the thread subject". +# Valid values are: +# +# * 'notmuch' (the default), will use the thread subject from notmuch, which +# depends on the selected sorting method +# * 'oldest' will always use the subject of the oldest message in the thread as +# the thread subject +thread_subject = option('oldest', 'notmuch', default='notmuch') + # set terminal command used for spawning shell commands terminal_cmd = string(default='x-terminal-emulator -e') -- cgit v1.2.3