[PATCH v2 03/11] notmuch-search: add filesize based sort order
Ioan-Adrian Ratiu
adi at adirat.com
Thu May 18 15:27:00 PDT 2017
With this it now becomes possible to order the search results by
filesize using the --sort=biggest-first/smallest-first args.
Signed-off-by: Ioan-Adrian Ratiu <adi at adirat.com>
---
lib/notmuch.h | 8 ++++++++
lib/query.cc | 6 ++++++
notmuch-search.c | 2 ++
3 files changed, 16 insertions(+)
diff --git a/lib/notmuch.h b/lib/notmuch.h
index f90458ce..b7bf3526 100644
--- a/lib/notmuch.h
+++ b/lib/notmuch.h
@@ -743,6 +743,14 @@ typedef enum {
*/
NOTMUCH_SORT_MESSAGE_ID,
/**
+ * Smallest first.
+ */
+ NOTMUCH_SORT_SMALLEST_FIRST,
+ /**
+ * Biggest first
+ */
+ NOTMUCH_SORT_BIGGEST_FIRST,
+ /**
* Do not sort.
*/
NOTMUCH_SORT_UNSORTED
diff --git a/lib/query.cc b/lib/query.cc
index 9c6ecc8d..72b725e3 100644
--- a/lib/query.cc
+++ b/lib/query.cc
@@ -330,6 +330,12 @@ _notmuch_query_search_documents (notmuch_query_t *query,
case NOTMUCH_SORT_MESSAGE_ID:
enquire.set_sort_by_value (NOTMUCH_VALUE_MESSAGE_ID, FALSE);
break;
+ case NOTMUCH_SORT_SMALLEST_FIRST:
+ enquire.set_sort_by_value (NOTMUCH_VALUE_FILESIZE, FALSE);
+ break;
+ case NOTMUCH_SORT_BIGGEST_FIRST:
+ enquire.set_sort_by_value (NOTMUCH_VALUE_FILESIZE, TRUE);
+ break;
case NOTMUCH_SORT_UNSORTED:
break;
}
diff --git a/notmuch-search.c b/notmuch-search.c
index 019e14ee..65ecfaab 100644
--- a/notmuch-search.c
+++ b/notmuch-search.c
@@ -778,6 +778,8 @@ static const notmuch_opt_desc_t common_options[] = {
{ NOTMUCH_OPT_KEYWORD, &search_context.sort, "sort", 's',
(notmuch_keyword_t []){ { "oldest-first", NOTMUCH_SORT_OLDEST_FIRST },
{ "newest-first", NOTMUCH_SORT_NEWEST_FIRST },
+ { "smallest-first", NOTMUCH_SORT_SMALLEST_FIRST },
+ { "biggest-first", NOTMUCH_SORT_BIGGEST_FIRST },
{ 0, 0 } } },
{ NOTMUCH_OPT_KEYWORD, &search_context.format_sel, "format", 'f',
(notmuch_keyword_t []){ { "json", NOTMUCH_FORMAT_JSON },
--
2.13.0
More information about the notmuch
mailing list