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