]> git.cworth.org Git - notmuch-wiki/blobdiff - emacstips.mdwn
typo & one ``
[notmuch-wiki] / emacstips.mdwn
index 074c593dfa27286c12a67b67f553bbe69a6f509f..18e2d84dd82a5f1fc8eec79decc9fb363f85a9ab 100644 (file)
@@ -409,9 +409,10 @@ available:
 
   * Shell/fgrep/perl combination [nottoomuch-addresses.sh](http://www.iki.fi/too/nottoomuch/nottoomuch-addresses/). 
     This tools maintains it's own address "database" gathered from email
-    files notmuch knows and search from that "database" is done by fgrep(1).
+    files notmuch knows and search from that "database" is done by `fgrep(1)`.
 
-You can perform tab-completion using any of these programs. Just add the following to your .emacs:
+You can perform tab-completion using any of these programs.
+Just add the following to your .emacs:
 
         (require 'notmuch-address)
         (setq notmuch-address-command "/path/to/address_fetching_program")
@@ -433,12 +434,11 @@ You can add the sender of a message to Google Contacts by piping the message
 
 ## How to sign/encrypt messages with gpg
 
-Messages can by signed using gpg by invoking `M-x
-mml-secure-sign-pgpmime` (or `M-x
-mml-secure-encrypt-pgpmime`). These functions are available via the
-standard `message-mode` keybindings `C-c C-m s p` and `C-c C-m c
-p`. To sign outgoing mail by default, use the `message-setup-hook`
-in your `.emacs` file:
+Messages can by signed using gpg by invoking 
+`M-x mml-secure-sign-pgpmime` (or `M-x mml-secure-encrypt-pgpmime`).
+These functions are available via the standard `message-mode` keybindings 
+`C-c C-m s p` and `C-c C-m c p`. To sign outgoing mail by default, use the
+`message-setup-hook` in your `.emacs` file:
 
         ;; Sign messages by default.
         (add-hook 'message-setup-hook 'mml-secure-sign-pgpmime)
@@ -462,30 +462,46 @@ part.
 
 ## Multiple identities using gnus-alias
 
-gnus-alias allows you to define multiple identities when using
-message-mode. You can specify the from address, organization, extra
-headers (including Bcc), extra body text, and signature for each
-identity. Identities are chosen based on a set of rules. When you are
-in message mode, you can switch identities using gnus-alias.
+[gnus-alias](http://www.emacswiki.org/emacs/GnusAlias) allows you to
+define multiple identities when using `message-mode`. You can specify
+the from address, organization, extra headers (including *Bcc*), extra
+body text, and signature for each identity. Identities are chosen
+based on a set of rules. When you are in message mode, you can switch
+identities using gnus-alias.
+
+### Installation
+
+- put `gnus-alias.el` on your load Emacs-Lisp load path (add new directory
+  to load path by writing `(add-to-list 'load-path "/some/load/path")` into
+  your `.emacs`.
+
+- Add the following to your `.emacs`
+
+        (autoload 'gnus-alias-determine-identity "gnus-alias" "" t)
+        (add-hook 'message-setup-hook 'gnus-alias-determine-identity)
+
+Looking into `gnus-alias.el` gives a bit more information...
+
+### Example Configuration 
 
 Here is an example configuration.
 
         ;; Define two identities, "home" and "work"
         (setq gnus-alias-identity-alist
               '(("home"
-                nil ;; Does not refer to any other identity
-                "John Doe <jdoe@example.net>"
-                nil ;; No organization header
-                nil ;; No extra headers
-                nil ;; No extra body text
-                "~/.signature")
-               ("work"
-                nil
-                "John Doe <john.doe@example.com>"
-                "Example Corp."
-                (("Bcc"        .       "john.doe@example.com"))
-                nil
-                "~/.signature.work")))
+                 nil ;; Does not refer to any other identity
+                 "John Doe <jdoe@example.net>" ;; Sender address
+                 nil ;; No organization header
+                 nil ;; No extra headers
+                 nil ;; No extra body text
+                 "~/.signature")
+                ("work"
+                 nil
+                 "John Doe <john.doe@example.com>"
+                 "Example Corp."
+                 (("Bcc" . "john.doe@example.com"))
+                 nil
+                 "~/.signature.work")))
         ;; Use "home" identity by default
         (setq gnus-alias-default-identity "home")
         ;; Define rules to match work identity
@@ -493,3 +509,20 @@ Here is an example configuration.
               '(("work" ("any" "john.doe@\\(example\\.com\\|help\\.example.com\\)" both) "work"))
         ;; Determine identity when message-mode loads
         (add-hook 'message-setup-hook 'gnus-alias-determine-identity)
+
+When `gnus-alias` has been loaded (using autoload, require, *M-x load-library*
+or *M-x load-file* (load-file takes file path -- therefore it can be used
+without any `.emacs` changes)) the following commands can be used to get(/set)
+more information (some of these have "extensive documentation"):
+
+        M-x describe-variable RET gnus-alias-identity-alist
+        M-x describe-variable RET gnus-alias-identity-rules
+        M-x describe-variable RET gnus-alias-default-identity
+
+        M-x customize-group RET gnus-alias RET
+          or 
+        M-x gnus-alias-customize RET
+
+The last two do the same thing.
+
+See also the **Usage:** section in `gnus-alias.el`.