]> git.notmuchmail.org Git - notmuch-wiki/blobdiff - emacstips.mdwn
more slight reformatting
[notmuch-wiki] / emacstips.mdwn
index 824874e18294da717e74441beaa68df820b7be65..16d0ee1c85e278f0f72c7002d295a3e5ded7be58 100644 (file)
@@ -50,7 +50,7 @@ Type your message and send it off with ctrl-c ctrl-c. By default message mode wi
 One annoying standard configuration of message mode is that it will hide the sent mail in your emacs frame stack, but it will not close it. If you type several mails in an emacs session they will accumulate and make switching between buffers more annoying. You can avoid that behavior by adding `(setq message-kill-buffer-on-exit t)` in your .emacs file which will really close the mail window after sending it.
 
 #### Attaching files
-Using the `M-x mml-attach-file` command, you can attach any file to be send with your mail. By default this command is bound to the menu item `Attachments--Attach File, or the key binding `C-c RET f, C-c C-a`. For those who prefer graphics, you can also simply drag and drop files from a file
+Using the `M-x mml-attach-file` command, you can attach any file to be send with your mail. By default this command is bound to the menu item `Attachments--Attach File`, or the key binding `CTRL-c CTRL-a`. For those who prefer graphics, you can also simply drag and drop files from a file
 manager into a mail composition window to have it attached. The variable `mml-dnd-attach-options` (M-x customize-variable<RET>`mml-dnd-attach-options`) can be set to allow the prompting for various attachment options (such as inline/attachement) if you want to do that. At least in Ubuntu it works by dragging from the file manager without any modifications.
 
 ####FCC/BCC
@@ -77,27 +77,21 @@ As its name implies, notmuch isn't really doing that much (which is part of its
   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. It will
-  deliver your sent mail directly to the "sent" folder of you local
-  maildir repository (and thus be synchronized via offlineimap with
-  your imap server).
-
-  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)
+  Another method is to save the file in a folder of your local
+  Maildir, usually called FCC (file carbon copy). You can achieve this
+  by setting the variables `message-directory` (which defines a base
+  directory) and `notmuch-fcc-dirs` which defines the subdirectory
+  relative to message-directory in which to save the mail. Enter a
+  directory (without the maildir /cur ending which will be appended
+  automatically). To customize both variables at the same time, use
+  the fancy command:
+
+               M-x customize-apropos<RET>\(notmuch-fcc-dirs\)\|\(message-directory\)
+
+  This method will even allow you to select different outboxes
+  depending on your selected from address, if you need that
+  functionality. Please see the documentation on the variable in the
+  customization window for how to do so.
 
 * <span id="customize_notmuch_folder">**How to customize notmuch-folders**</span>
 
@@ -232,24 +226,24 @@ As its name implies, notmuch isn't really doing that much (which is part of its
   `User-Agent: notmuch version 0.1-92-g3893a9a (Emacs 23.1.1/x86_64-pc-linux-gnu)`
 
 
-                  ;; set the User-Agent string whenever we invoke message mode
-                  (add-hook 'message-mode-hook '(lambda()
-                      ;; check if User-Agent is a required header and set it if not
-                      (if (not (memq 'User-Agent message-required-mail-headers))
-                          (setq message-required-mail-headers 
-                                (append message-required-mail-headers '(User-Agent))))
-                      ;; hide the User-Agent header if not already hidden
-                      (if (not (memq '"^User-Agent:" message-hidden-headers))
-                          (setq message-hidden-headers 
-                                (append message-hidden-headers '("^User-Agent:"))))
-                      ;; create user agent string
-                      (let ((notmuch-user-agent (concat 
-                                                 (substring (shell-command-to-string (concat notmuch-command " --version")) 0 -1)
-                                                 " (Emacs " emacs-version "/"
-                                                  system-configuration ")")))
-                        (setq message-newsreader notmuch-user-agent))
-                  ))
-
+               ;; set the User-Agent string whenever we invoke message mode
+               (add-hook 'message-mode-hook '(lambda()
+                   ;; check if User-Agent is a required header and set it if not
+                   (if (not (memq 'User-Agent message-required-mail-headers))
+                       (setq message-required-mail-headers 
+                             (append message-required-mail-headers '(User-Agent))))
+                   ;; hide the User-Agent header if not already hidden
+                   (if (not (memq '"^User-Agent:" message-hidden-headers))
+                       (setq message-hidden-headers 
+                             (append message-hidden-headers '("^User-Agent:"))))
+                   ;; create user agent string
+                   (let ((notmuch-user-agent (concat 
+                                              (substring (shell-command-to-string (concat notmuch-command " --version")) 0 -1)
+                                              " (Emacs " emacs-version "/"
+                                               system-configuration ")")))
+                     (setq message-newsreader notmuch-user-agent))
+               ))
+               
 
 * <span id="sign_messages_gpg">**how to sign/encrypt my messages with
   gpg**</span>