]> git.notmuchmail.org Git - obsolete/notmuch-wiki/blobdiff - emacstips.mdwn
emacstips: fix indentation to actually work
[obsolete/notmuch-wiki] / emacstips.mdwn
index d3112cd91122b5f5a681c4759bca455c9ae4c32b..572baf1bb9ca8e6d01d5b9a309aff47b431b7bc3 100644 (file)
@@ -33,12 +33,12 @@ OK, messages are now in your maildir and they have the tags you want them to hav
 notmuch (the search view) and notmuch-folder are the 2 main views that can be used to navigate through your mail.
 The default notmuch "home" is a notmuch-search view with all all mail threads in which a message has been tagged as "inbox". Just navigate that page and read threads by hitting <RETURN> on one of them. This will open a notmuch thread view with all messages in this thread. Threads are a powerful construct in notmuch as a thread really represents a discussion around a single topic. In difference to other mail applications, you will often find very long threads in notmuch mail conversations, or people reviving very old threads with a reply.
 
-The second way of navigating notmuch mails, is by using the notmuch-folder view which you can invoke with `M-x notmuch-folder` (or using the F key if you applied the patch from mail id: 1265889583-25406-1-git-send-email-dme@dme.org (Feb 11st, 2010)). For information on how to customize your notmuch-folder views, see [here](#customize_notmuch_folder). This view provides you with "virtual folders" that allow you to browse all emails topic-by-topic. For example, if you want to browse all notmuch related mail every 10 minutes, but check out mails from your boss only once a day, this will be one convenient way to do it. It will also give you a nice overview of how many (unread) emails you have for each folder. Those folders are virtual in that a mail can easily be part of several folders at the same time and the folders will be upated on-the-fly every time you hit `=`.
+The second way of navigating notmuch mails, is by using the notmuch-folder view which you can invoke with `M-x notmuch-folder` (or using the F key if you applied the patch from mail id: 1265889583-25406-1-git-send-email-dme@dme.org (Feb 11st, 2010)). For information on how to customize your notmuch-folder views, see [here](#customize_notmuch_folder). This view provides you with "virtual folders" that allow you to browse all emails topic-by-topic. For example, if you want to browse all notmuch related mail every 10 minutes, but check out mails from your boss only once a day, this will be one convenient way to do it. It will also give you a nice overview of how many (unread) emails you have for each folder. Those folders are virtual in that a mail can easily be part of several folders at the same time and the folders will be updated on-the-fly every time you hit `=`.
 
 Last but not least, you can always search for a specific mail. Notmuch provides very powerful search possibilities which allows you to find mail threads easily without having to file them away into umpteenth mail folders as you might have been doing in your Thunderbird, Mail.app, or Outlook.
 
 ### search strategies
-__[TODO, describe s, f, t keys and some expemplary searches]__.
+__[TODO, describe s, f, t keys and some exemplary searches]__.
 __[TODO: describe common search strategies that notmuch users use]__
 
 ###Sending mail
@@ -56,22 +56,40 @@ Currently, there is a slight problem with copying the sent mail into your "outbo
 As its name implies, notmuch isn't really doing that much (which is part of its appeal to many of us). However, it enables a whole ecosystem of surrounding scripts to work in conjunction with notmuch
 
 * [notmuchsync](http://spaetz.github.com/notmuchsync/)
-  notmuchsync is a python tool that allows
+  notmuchsync is a python tool that allows synchronization of maildir flags to/from notmuch tags.
+* [cnotmuch](http://pypi.python.org/pypi/cnotmuch) python bindings for the notmuch shared library. Extensive API documentation available.
+* [addrlookup](http://github.com/spaetz/vala-notmuch) vala spplication that can be used for interactive email address completion.
 * gitmuch?
 * ...
 
 -----
 
 <h2 id="advanced_tips">Advanced tips and tweaks</h2>
-* <span id="fcc">How to do FCC/BCC...</span>
+* <span id="fcc">**How to do FCC/BCC...**</span>
 
   Any notmuch reply will automatically include your primary email
   address in a BCC so that any messages you send will (eventually) end
-  up in your mail store as well.
-
-  But this doesn't do anything for messages that you compose that are
-  not replies. So we need to get sane message-mode FCC figured
-  out. Some investigation is still needed here.
+  up in your mail store as well. But this doesn't do anything for
+  messages that you compose that are not replies.
+
+  Another method is described in [this
+  mail](http://mid.gmane.org/878wbj4nfq.fsf@servo.finestructure.net)
+  (id:878wbj4nfq.fsf@servo.finestructure.net). It involves a trivial
+  python script (which should be rewritten in lisp and integrated into
+  the notmuch frontend, really, but is not difficult to setup.
+
+  This is the code I needed in my .emacs file to make it work with
+  the python wrapper that I called mddeliver.py:
+
+          ;; fcc handler
+          (defun maildir-deliver-region(destdir)
+            (shell-command-on-region
+              (point-min) (point-max)
+              (concat "/usr/local/bin/mddeliver.py -c -s -d " destdir)))
+          (setq message-fcc-handler-function 'maildir-deliver-region)
+          (defun my-message-header-setup ()
+            (message-add-header "Fcc: ~/mail/INBOX.Sent"))
+          (add-hook 'message-send-hook 'my-message-header-setup)
 
 * <span id="customize_notmuch_folder">How to customize notmuch-folders</span>
 
@@ -88,6 +106,11 @@ As its name implies, notmuch isn't really doing that much (which is part of its
   Of course, you can have any number of folders, each configured
   with any supported search terms (see "notmuch help search-terms").
 
+  Personally, I find it fairly useful to add "not tag:delete" to those
+  views as I use that tag to mark messages as deleted and it
+  automatically removes them from my standard views. Use whatever
+  seems most useful to you.
+
 * Viewing HTML messages with an external viewer
 
   The emacs client can often display an HTML message inline, but it
@@ -132,14 +155,16 @@ As its name implies, notmuch isn't really doing that much (which is part of its
   look like /usr/bin/sendmail to a MUA such as emacs message mode, but
   will just forward the email to an external SMTP server.  It's fairly
   easy to set up and it support several account for using different
-  SMTP servers.  A typical scenario is that you want to use the
-  company SMTP server for email coming from your company email
-  address, and your personal server for personal email.  If msmtp is
-  passed the envelope address on the command line (the , it will
-  automatically pick the matching account.  The only trick here seems
-  to be getting emacs to actually pass the envelope from.  There are a
-  number of overlapping configuration variables that control this, and
-  it's a little confusion, but setting these three works for me:
+  SMTP servers.  The msmtp pages have several examples.
+
+  A typical scenario is that you want to use the company SMTP server
+  for email coming from your company email address, and your personal
+  server for personal email.  If msmtp is passed the envelope address
+  on the command line (the -f/--from option) it will automatically
+  pick the matching account.  The only trick here seems to be getting
+  emacs to actually pass the envelope from.  There are a number of
+  overlapping configuration variables that control this, and it's a
+  little confusion, but setting these three works for me:
 
    - mail-specify-envelope-from: t
 
@@ -151,7 +176,34 @@ As its name implies, notmuch isn't really doing that much (which is part of its
   for the domains you want to send out using specific SMTP servers and
   the rest will go to the default account.
 
-* <span id="sync_maildir_flags">how to sync notmuch tags and maildir flags]</span>
-
-  __[TODO: This is a wiki. write me!]__
-  [mention patches that exist to honor maildir tags and notmuchsync.]
\ No newline at end of file
+* <span id="sync_maildir_flags">how to sync notmuch tags and maildir
+  flags</span>
+
+  There is no built-in support for sunchronizing your notmuch tags
+  with your imap maildir flags (seen, replied, trashed, etc). However
+  there are currently 2 ways in which you can achieve
+  synchronization. In order to sync new notmuch tags to maildir flags,
+  there is a python tool called
+  [notmuchsync](http://spaetz.github.com/notmuchsync/) that allows
+  synchronization in either direction or pruning of deleted files.  
+
+  The second solution allows for fast maildir flag to notmuch tag
+  synchronization (and only in that direction) requires patching the
+  notmuch source code. The patch has been posted in this mail
+  *id:1267450136-31749-1-git-send-email-Sebastian@SSpaeth.de* and can
+  be viewed as a [source diff in this git
+  repository](http://github.com/spaetz/notmuch-all-feature/commit/df3b087cefb85e9d16fd17540e348bcb854dd7ee).
+
+* <span id="address_completion">**how to get email address completion**</span>
+  There are 2 solutions. Use "bbdb" which allows you to maintain a mail database and gives you mail address completion with the tab key.
+
+  Alternatively, you use the notmuch database as a mail address book itself. This is how you compile the (3rd party) tool "addrlookup" to give you address completion:
+
+  - you need the addrlookup binary, first of all. Grab http://github.com/spaetz/vala-notmuch/raw/static-sources/src/addrlookup.c and build it with *cc -o addrlookup addrlookup.c `pkg-config --cflags --libs gobject-2.0` -lnotmuch*. That should give you the binary that you can test already.
+
+  - EUDC is integrated into emacs and can be used for tab completion
+    of email addresses. The code I use is here
+    http://gist.github.com/359425. It was announce in [this
+    mail](http://mid.gmane.org/87fx3uflkx.fsf@jhu.edu)
+    (id:87fx3uflkx.fsf@jhu.edu) which contains links to the git
+    repositories which contain the files.
\ No newline at end of file