X-Git-Url: https://git.cworth.org/git?p=notmuch;a=blobdiff_plain;f=doc%2Fnotmuch-emacs.rst;h=14d189c102839549d399dd6e2459459fa942faff;hp=7772871b3eba99b696b51e5979a33c85c08bec85;hb=5e17495ab78937015de45704fff8300a37ca6508;hpb=8dbd5deb8d3bbfda9554163c8d4cb2474c505c87 diff --git a/doc/notmuch-emacs.rst b/doc/notmuch-emacs.rst index 7772871b..14d189c1 100644 --- a/doc/notmuch-emacs.rst +++ b/doc/notmuch-emacs.rst @@ -46,8 +46,47 @@ a mouse or by positioning the cursor and pressing ```` | Customize Notmuch or this page. You can change the overall appearance of the notmuch-hello screen by -customizing the variable :index:`notmuch-hello-sections`. +customizing the variables +:index:`notmuch-hello-sections` + |docstring::notmuch-hello-sections| + +:index:`notmuch-hello-thousands-separator` + |docstring::notmuch-hello-thousands-separator| + +:index:`notmuch-show-logo` + |docstring::notmuch-show-logo| + +:index:`!notmuch-column-control` + Controls the number of columns for saved searches/tags in notmuch view. + + This variable has three potential types of values: + + .. describe:: t + + Automatically calculate the number of columns possible based + on the tags to be shown and the window width. + + .. describe:: integer + + A lower bound on the number of characters that will + be used to display each column. + + .. describe:: float + + A fraction of the window width that is the lower bound on the + number of characters that should be used for each column. + + So: + + - if you would like two columns of tags, set this to 0.5. + + - if you would like a single column of tags, set this to 1.0. + + - if you would like tags to be 30 characters wide, set this to 30. + + - if you don't want to worry about all of this nonsense, leave + this set to `t`. notmuch-hello key bindings @@ -56,7 +95,7 @@ notmuch-hello key bindings ```` Move to the next widget (button or text entry field) -```` +```` Move to the previous widget. ```` @@ -175,6 +214,16 @@ variables. :index:`notmuch-search-oldest-first` Display the oldest threads at the top of the buffer +It is also possible to customize how the name of buffers containing +search results is formatted using the following variables: + +:index:`notmuch-search-buffer-name-format` + |docstring::notmuch-search-buffer-name-format| + +:index:`notmuch-saved-search-buffer-name-format` + |docstring::notmuch-saved-search-buffer-name-format| + + .. _notmuch-show: notmuch-show @@ -211,10 +260,13 @@ pressing RET after positioning the cursor on a hidden part. ``+,-`` Add or remove arbitrary tags from the current message. +``!`` + |docstring::notmuch-show-toggle-elide-non-matching| + ``?`` Display full set of key bindings -Display of messages can be controlled by the following variables +Display of messages can be controlled by the following variables; see also :ref:`show-large`. :index:`notmuch-message-headers` |docstring::notmuch-message-headers| @@ -222,6 +274,60 @@ Display of messages can be controlled by the following variables :index:`notmuch-message-headers-visible` |docstring::notmuch-message-headers-visible| +:index:`notmuch-show-header-line` + |docstring::notmuch-show-header-line| + +:index:`notmuch-multipart/alternative-discouraged` + + Which mime types to hide by default for multipart messages. + + Can either be a list of mime types (as strings) or a function + mapping a plist representing the current message to such a list. + The following example function would discourage `text/html` and + `multipart/related` generally, but discourage `text/plain` should + the message be sent from `whatever@example.com`. + + .. code:: lisp + + (defun my--determine-discouraged (msg) + (let* ((headers (plist-get msg :headers)) + (from (or (plist-get headers :From) ""))) + (cond + ((string-match "whatever@example.com" from) + (list "text/plain")) + (t + (list "text/html" "multipart/related"))))) + +.. _show-large: + +Dealing with large messages and threads +--------------------------------------- + +If you are finding :ref:`notmuch-show` is annoyingly slow displaying +large messages, you can customize +:index:`notmuch-show-max-text-part-size`. If you want to speed up the +display of large threads (with or without large messages), there are +several options. First, you can display the same query in one of the +other modes. :ref:`notmuch-unthreaded` is the most robust for +extremely large queries, but :ref:`notmuch-tree` is also be faster +than :ref:`notmuch-show` in general, since it only renders a single +message a time. If you prefer to stay with the rendered thread +("conversation") view of :ref:`notmuch-show`, you can customize the +variables :index:`notmuch-show-depth-limit`, +:index:`notmuch-show-height-limit` and +:index:`notmuch-show-max-text-part-size` to limit the amount of +rendering done initially. Note that these limits are implicitly +*OR*-ed together, and combinations might have surprising effects. + +:index:`notmuch-show-depth-limit` + |docstring::notmuch-show-depth-limit| + +:index:`notmuch-show-height-limit` + |docstring::notmuch-show-height-limit| + +:index:`notmuch-show-max-text-part-size` + |docstring::notmuch-show-max-text-part-size| + .. _show-copy: Copy to kill-ring @@ -299,16 +405,40 @@ tags. ``p`` Move to previous matching message +``o`` ``notmuch-tree-toggle-order`` + |docstring::notmuch-tree-toggle-order| + +``l`` ``notmuch-tree-filter`` + Filter or LIMIT the current search results based on an additional query string + +``t`` ``notmuch-tree-filter-by-tag`` + Filter the current search results based on an additional tag + + ``g`` ``=`` Refresh the buffer ``?`` Display full set of key bindings +As is the case with :ref:`notmuch-search`, the presentation of results +can be controlled by the variable ``notmuch-search-oldest-first``. + +.. _notmuch-unthreaded: + +notmuch-unthreaded +------------------ + +``notmuch-unthreaded-mode`` is similar to :any:`notmuch-tree` in that +each line corresponds to a single message, but no thread information +is presented. + +Keybindings are the same as :any:`notmuch-tree`. + Global key bindings =================== -Several features are accessible from anywhere in notmuch through the +Several features are accessible from most places in notmuch through the following key bindings: ``j`` @@ -317,6 +447,8 @@ following key bindings: ``k`` Tagging operations using :ref:`notmuch-tag-jump` +``C-_`` ``C-/`` ``C-x u``: Undo previous tagging operation using :ref:`notmuch-tag-undo` + .. _notmuch-jump: notmuch-jump @@ -346,6 +478,21 @@ operations specified in ``notmuch-tagging-keys``; i.e. each |docstring::notmuch-tagging-keys| +.. _notmuch-tag-undo: + +notmuch-tag-undo +---------------- + +Each notmuch buffer supporting tagging operations (i.e buffers in +:any:`notmuch-show`, :any:`notmuch-search`, :any:`notmuch-tree`, and +:any:`notmuch-unthreaded` mode) keeps a local stack of tagging +operations. These can be undone via ``notmuch-tag-undo``. By default +this is bound to the usual Emacs keys for undo. + +:index:`notmuch-tag-undo` + + |docstring::notmuch-tag-undo| + Buffer navigation ================= @@ -371,10 +518,19 @@ Sending Mail :index:`mail-user-agent` - Emacs consults the variable :ref:`mail-user-agent` to choose a mail - sending package for commands like :ref:`report-emacs-bug` and - :ref:`compose-mail`. To use ``notmuch`` for this, customize this - variable to the symbol :ref:`notmuch-user-agent`. + Emacs consults the variable :code:`mail-user-agent` to choose a mail + sending package for commands like :code:`report-emacs-bug` and + :code:`compose-mail`. To use ``notmuch`` for this, customize this + variable to the symbol :code:`notmuch-user-agent`. + +:index:`message-dont-reply-to-names` + + When composing mail replies, Emacs's message mode uses the + variable :code:`message-dont-reply-to-names` to exclude + recipients matching a given collection of regular expressions + or satisfying an arbitrary predicate. Notmuch's MUA inherits + this standard mechanism and will honour your customization of + this variable. Init File ---------