]> git.cworth.org Git - notmuch-wiki/blob - feature-requests.mdwn
deprecate feature request page
[notmuch-wiki] / feature-requests.mdwn
1 [[!img notmuch-logo.png alt="Notmuch logo" class="left"]]
2 #List of features people have requested and ideas that people want to keep thinking about
3
4 **WARNING** This page is going away. It seems like nobody who works on
5   notmuch reads it regularly, and there is no convenient way to
6   discuss ideas with the people who propose them.  Please use
7   [notmuch mailing list](http://notmuchmail.org/mailman/listinfo/notmuch)
8   instead.
9
10 ## TODO list
11
12 See the [devel/TODO file](http://git.notmuchmail.org/git/notmuch/blob/HEAD:/devel/TODO) in the
13 [notmuch git repository](http://git.notmuchmail.org/git/notmuch).
14
15 ## Emacs client
16
17 +    Add 'd' keybinding
18
19      Removes unread and inbox tags, adds deleted tag.
20
21      When used from a search results view, it deletes the thread that
22      the cursor is on.
23
24      When used from the thread view, it deletes the currently
25      displayed message inside the thread.
26
27 +    Add 'D' keybinding
28
29      Removes unread and inbox tags, adds deleted tag.
30
31      When used from a search results view, it deletes the thread that
32      the cursor is on (just like 'd')
33
34      When used from the thread view, it deletes the currently
35      displayed thread (and not just the message)
36
37 +    Add '???' keybinding
38
39      Skips current thread without archiving it
40
41      Right now 'n' gets me to the end of a thread, but not to the
42      beginning of the next thread. 'a' gets you to the next thread,
43      but archives the current one.
44
45 +    Allow different "real names" for the optional email addresses
46
47      if only one name is configured, use that for all addresses;
48      if other_names are configured, match those with the other_email addresses
49
50 +    Put the the emacs mode in a separate repository and include it as a
51      submodule in main (better for emacs package managers among other
52      things).
53          
54 ## notmuch
55
56 +    Add hooks for retagging:
57    + pre-tag: Called before tagging messages
58    + post-tag: Called after messages got tagged
59
60      This might be useful if you want to sync for example your Maildirs with the notmuch tags.
61
62 +    Allow a custom location for .notmuch
63
64      The notmuch index is currently saved in .notmuch under the user's
65      Maildir and there's no configuration option to change that.
66
67      This is problematic with both tools that sync Maildirs and with IMAP
68      servers that consider .notmuch a Maildir subfolder (e.g. dovecot)
69
70      A better solution would be to add a configuration option for this so
71      that it can be put e.g. in ~/.notmuch
72
73 +    Add a list or pattern for subfolders to ignore
74
75      Some people are crazy enough to archive e.g. their Spam in their
76      Maildir and perhaps they'd prefer not having them indexed on notmuch.
77
78      Having a configuration option to exclude or include certain subparts of
79      the user's Maildir would be a very nice feature to have.
80
81 +    Index more headers.  Some desired headers:
82
83   + Received: allows for searches based on the arrival path
84   + Reply-To: allows for searches based on the return address
85
86 +    Allow anchors in searches
87
88      `notmuch search from:domain.org$` only matches if "domain.org" is
89      at the end of the From: header
90
91      `notmuch search from:^username` only matches if "username" is at
92      the beginning of the From: header (right after the ':')
93
94      This leaves the interesting question if we want a way to bind to
95      the actual address component.
96
97 +    Add folder tags to mail automatically
98
99      Add the name of the IMAP folder as the tag for mails.  This way,
100      server-side filtering can be directly used by notmuch to tag all
101      incoming mail.
102
103 +    Make message store code modular
104
105      Notmuch is built on the assumption that the message store is a
106      collection of message files in directories (roughly Maildir
107      format). This performs suboptimally for a wide range of systems,
108      especially with large numbers of messages. Modularising the
109      message store code to move this assumption into the implementation
110      rather than the interface would allow adding support for different
111      message stores like the traditional [mbox
112      formats](http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/mail-mbox-formats.html)
113      as well as more experimental approaches like using git as an object
114      storage (similar to how [[nmbug]] operates).
115
116 +    Put content of all non-multipart content-types in results of `notmuch show --format=json ...`
117
118      In the JSON-format output of the `show` command, only text/plain
119      parts' content is included.  Including the content of parts having any
120      non-multipart content-type would assist with those who wished to access
121      their mail through notmuch's `show` command (because of having written
122      their MUA in a language with no library bindings or access to them
123      [e.g. Perl, Lua or shell]) and also had a mailcap or similar MIME-type
124      mapping system with which to actually view HTML files, images and the like.
125
126 ## 3rd party apps
127
128 ### notmuchsync
129
130 NOTE: most of notmuchsync's functionality has been integrated in
131       notmuch 0.5. It probably doesn't make much sense to requests
132       features for it, rather than notmuch itself.
133
134 +    DONE: id:"878w8niy83.fsf@SSpaeth.de"
135      Add feature to move files in the maildir hierarchy
136
137      `notmuchsync --move "searchstring" "targetfolder"`
138
139      Where searchstring is any valid notmuch search
140