]> git.notmuchmail.org Git - notmuch-wiki/blobdiff - faq.mdwn
shorten description of jaro-mail
[notmuch-wiki] / faq.mdwn
index 52fccf31031a38254170ecaa91d0058185afcf53..6862685841982e3390179d6b3571bd075f3eaf71 100644 (file)
--- a/faq.mdwn
+++ b/faq.mdwn
@@ -22,7 +22,88 @@ See [[excluding]].
 
 ## How do I configure the citation line when replying in Emacs?
 
-   (setq message-citation-line-format "On %a, %d %b %Y, %f wrote:")
-   (setq message-citation-line-function 'message-insert-formatted-citation-line)
+        (setq message-citation-line-format "On %a, %d %b %Y, %f wrote:")
+        (setq message-citation-line-function 'message-insert-formatted-citation-line)
 
 See help for `message-citation-line-format` for details.
+
+## How do I search for messages that have no tags?
+
+Unfortunately, there is no way to do this directly.
+
+However, it's possible to accomplish this using two searches in shell. First,
+you need to query all tags in the database, and transform the result into a
+query that matches messages that have none of those tags:
+
+        $ notmuch search --output=tags \* | sed 's/^/not tag:/;2~1s/^/and /'
+
+Next, use that to query the messages:
+
+        $ notmuch search $(notmuch search --output=tags \* | \
+                sed 's/^/not tag:/;2~1s/^/and /')
+
+## How do I search for punctuation, specific special characters, or regexp?
+
+Please see the [[notmuch-search-terms manual
+page|manpages/notmuch-search-terms-7]] first.
+
+The main thing to understand is that Xapian, and therefore Notmuch, searches are
+closer to natural language searches than regular expression
+searches. Punctuation is mostly ignored.
+
+The boolean prefix searches (see Boolean and Probabilistic Prefixes in the man
+page), such as tag: or path: searches, need an exact match.
+
+## How do I search for folders or paths with spaces?
+
+The spaces in the names must be escaped. For example if you use bash or zsh,
+you can search for messages with tag `foo` in folder `INBOX/folder with spaces`
+with this query:
+
+        $ notmuch search tag:foo 'folder:"INBOX/folder with spaces"'
+
+## How do I search for the `List-Id:` header?
+
+Currently there is no way to search for `List-Id:`. As a workaround, try using a
+`to:` prefix search (which covers both `To:` and `Cc:` headers) on the mailing
+list address.
+
+Limitations in the duplicate message handling are the main reason for not
+indexing the `List-Id:` header. If you receive the same message via both the
+list and directly (by way of `To:` or `Cc:`), only the first message encountered
+will be indexed. Only the message received via the list will have `List-Id:`,
+but you would expect a `List-Id:` search to find the message, regardless of the
+order in which the duplicates were received. This is a more general problem than
+just `List-Id:`, and once this has been resolved, adding `List-Id:` indexing is
+trivial.
+
+## Can I use notmuch with grsec?
+
+Sure! It works out of the box. If you have TPE enabled (trusted path execution),
+make sure the user is executing the script belongs to the
+`kernel.grsecurity.tpe_gid` (in debian this is grsec-tpe).
+This is required in order to run the `pre-new` and `post-new` hooks.
+
+## Can I tag threads?
+
+No. Tagging is message based.
+
+It is possible, however, to make tags propagate to all messages in a thread
+using a little bit of scripting in the [[post-new
+hook|manpages/notmuch-hooks-5]]. For example, to add the muted tag to all
+messages in threads that have at least one message with the muted tag:
+
+        THREAD_TAGS="muted"
+        for tag in "$THREAD_TAGS"; do
+                notmuch tag +$tag $(notmuch search --output=threads tag:$tag)
+        done
+
+You can add other tags to `THREAD_TAGS` as needed. Note that this is one way
+only; you need to explicitly remove the tag from all the messages in a thread to
+stop it from propagating again.
+
+
+## How can I extract a git patchset for an email thread?
+
+See [notmuch-extract-patch](https://github.com/aaptel/notmuch-extract-patch).
+