aboutsummaryrefslogtreecommitdiffhomepage
path: root/emacs/notmuch-show.el
Commit message (Collapse)AuthorAge
...
* emacs: Check that the parent buffer is alive before using it.Gravatar David Edmondson2012-02-12
|
* emacs: Optionally retain the state of the buffer during ↵Gravatar David Edmondson2012-02-12
| | | | | | | | | | | | | | | `notmuch-show-refresh-view'. With an argument, record and reply the state of the buffer during `notmuch-show-refresh-view'. In this context, "state" is defined as: - the open/closed state of each message, - the current message. Traditional use of refresh with the = key does not retain the state. The recently introduced toggle commands ($, !, < and >) do retain the state.
* emacs: Add a binding (t) to toggle the truncation of long lines.Gravatar David Edmondson2012-02-12
|
* emacs: Allow the indentation of content to be toggled.Gravatar David Edmondson2012-02-12
| | | | | | | | | Very deeply indented content is sometimes difficult to read (particular for something like patches). Allow the indentation of the content to be toggled with '<'. Indentation of the header lines is not affected, so it remains possible to see the structure of the thread.
* emacs: Allow `notmuch-show-mode' to display only matching messages.Gravatar David Edmondson2012-02-12
| | | | | | | The current behaviour (all messages shown, non-matching collapsed) is retained as the default. Type '!' to switch to showing only the matching messages - non-matching messages are not available. '!' will switch back to showing everything.
* emacs: Rework crypto switch toggle.Gravatar David Edmondson2012-02-12
| | | | | | | | | | | | | | Re-work the existing crypto switch toggle to be based on a persistant buffer-local variable. To allow this, modify `notmuch-show-refresh-view' to erase and re-draw in the current buffer rather than killing the current buffer and creating a new one. (This will also allow more per-buffer behaviour in future patches.) Add a binding ('$') to toggle crypto processing of the current buffer and remove the prefix argument approach that achieves a similar result.
* emacs: make show view a/A/x/X key bindings more consistentGravatar Jani Nikula2012-02-08
| | | | | | | | | | | | | | | | | | | | | Modify the show view key bindings as follows to make them more consistent: 'a' = Archive current message, then move to next message, or show next thread from search if at the last message in thread. 'A' = Archive each message in thread, then show next thread from search. 'x' = Archive current message, then move to next message, or exit back to search results if at the last message in thread. 'X' = Archive each message in thread, then exit back to search results. The changes make the key bindings more consistent in two ways: 1) 'a'/'A' both advance to the next thread like 'a' used to. 2) 'x' operates on messages and 'X' on threads like 'a'/'A'.
* emacs: add "*" binding for notmuch-show viewGravatar Dmitry Kurochkin2012-02-08
| | | | | | | The patch adds `notmuch-show-tag-all' function bound to "*" in notmuch-show view. The function is similar to the `notmuch-search-tag-all' function for the notmuch-search view: it changes tags for all messages in the current thread.
* emacs: make "+" and "-" tagging operations in notmuch-show more flexibleGravatar Dmitry Kurochkin2012-02-08
| | | | | | | | | | Before the change, "+" and "-" tagging operations in notmuch-show view accepted only a single tag. The patch makes them use the recently added `notmuch-read-tag-changes' function, which allows to enter multiple tags with "+" and "-" prefixes. So after the change, "+" and "-" bindings in notmuch-show view allow to both add and remove multiple tags. The only difference between "+" and "-" is the minibuffer initial input ("+" and "-" respectively).
* emacs: Move the blank line from the bottom of the headers to the top of the ↵Gravatar David Edmondson2012-02-03
| | | | | | | | | body. The blank line doesn't really change position, but is now considered to be part of the body rather than part of the headers. This means that it is visible when the body is visible rather than when the headers are visible.
* emacs: More address cleaning.Gravatar David Edmondson2012-02-03
| | | | | | | Remove outer single-quotes from the mailbox part. Allow for multiple sets of nested single and double quotes. Add more tests.
* emacs: Prefer '[No Subject]' to blank subjects.Gravatar David Edmondson2012-02-03
|
* emacs: globally replace non-branching "(if COND (progn ..." with "(when ..."Gravatar Pieter Praet2012-02-01
| | | | Less code, same results, without sacrificing readability.
* emacs: fix show-previous-message doc stringGravatar Jameson Graef Rollins2012-01-30
|
* emacs: modify the default show-mode key bindings for archivingGravatar Jameson Graef Rollins2012-01-30
| | | | | | | | This changes the default key bindings for the 'a' key in notmuch-show mode. Instead of archiving the entire thread, it now just archives the current message, and then advance to the next open message (archive-message-then-next). 'A' is now bound to the previous archive-thread-then-next function.
* emacs: use pop-at-end functionality in show-archive-message-then-next functionGravatar Jameson Graef Rollins2012-01-30
| | | | | This provides a smoother message processing flow by reducing the number of key presses needed for these common operations.
* emacs: add option to show-next-{, open-}message functions to pop out to ↵Gravatar Jameson Graef Rollins2012-01-30
| | | | | | | | parent buffer if at end This will allow for keybindings that achieve a smoother message processing flow by reducing the number of key presses needed for most common operations.
* emacs: add message archiving functionsGravatar Jameson Graef Rollins2012-01-30
| | | | | | | This adds two new message archiving functions that parallel the thread archiving functions: notmuch-show-archive-message{,-then-next}. The former also takes a prefix argument to unarchive the message (ie. put back in inbox).
* emacs: break out thread navigation from notmuch-show-archive-threadGravatar Jameson Graef Rollins2012-01-30
| | | | | | | | | | | This function is now just for archiving the current thread. A new function is created to archive-then-next. The 'a' key binding is updated accordingly. This will allow people to bind to the simple thread archiving function without the extra navigation. The archive-thread function now also takes a prefix to unarchive the current thread (ie. put the whole thread back in the inbox).
* emacs: break up notmuch-show-archive-thread-internal into two more generally ↵Gravatar Jameson Graef Rollins2012-01-30
| | | | | | | | | | | | | | | | | | | | | useful functions Break up notmuch-show-archive-thread-internal into two new functions: notmuch-show-tag-thread-internal: applies a tag to all messages in thread. If option remove flag is t, tags will be removed instead of added. notmuch-show-next-thread: moves to the next thread in the search result. If given a prefix, will show the next result, otherwise will just move to it in the search view. Two new interactive functions, notmuch-show-{add,remove}-tag-thread, are also added. Together, these provide a better suit of thread tagging and navigation tools. The higher level thread archiving functions are modified to use these new function.
* emacs: use search-next-thread to move to next thread in show modeGravatar Jameson Graef Rollins2012-01-30
| | | | | We should always use the dedicated search mode navigation functions, in case navigation mechanics change down the line.
* emacs: Another special case for `notmuch-show-clean-address'.Gravatar David Edmondson2012-01-27
| | | | Remove backslashes.
* emacs: Avoid `mail-header-parse-address' in `notmuch-show-clean-address'.Gravatar David Edmondson2012-01-27
| | | | | | | | | | `mail-header-parse-address' expects un-decoded mailbox parts, which is not what we have at this point. Replace it with simple string deconstruction. Mark the corresponding test as no longer broken. Minor whitespace cleanup.
* emacs: Re-enable line wrapping in `notmuch-show-mode'.Gravatar David Edmondson2012-01-27
| | | | | Turn on `visual-line-mode' via a hook, so that those who so choose can avoid it.
* emacs: Make the part content available to `mm-inlinable-p'.Gravatar David Edmondson2012-01-26
| | | | | | | | | | The `mm-inlinable-p' function works better if it has access to the data of the relevant part, so load that content before calling it. Don't load the content for parts that the user has indicated no desire to inline. This fixes the display of attached image/jpeg parts, for example.
* emacs/*.el: changed one-char comment prefix ';' to two; ';;'Gravatar Tomi Ollila2012-01-21
| | | | | In order for emacs (indent-region) to (re)indent emacs lisp properly there needs to be at least 2 comment characters (;;).
* Make buttons for attachments allow viewing as well as savingGravatar Mark Walters2012-01-21
| | | | | | | | | | | | | | | | | Define a keymap for attachment buttons to allow multiple actions. Define 3 possible actions: save attachment: exactly as currently, view attachment: uses mailcap entry, view attachment with user chosen program Keymap on a button is: s for save, v for view and o for view with other program. Default (i.e. enter or mouse button) is save but this is configurable in notmuch customize. One implementation detail: the view attachment function forces all attachments to be "displayed" using mailcap even if emacs could display them itself. Thus, for example, text/html appears in a browser and text/plain asks whether to save (on a standard debian setup)
* emacs: Improved printing support.Gravatar David Edmondson2012-01-21
| | | | | | | | | | Add various functions to print notmuch messages and tie them together with a simple frontend. Add a binding ('#') in `notmuch-show-mode' to print the current message. one trailing space removed by db.
* emacs: Truncate lines and do not enable visual-line-mode in notmuch-show ↵Gravatar David Edmondson2012-01-21
| | | | | | | | | | | | | buffers. Enable the truncation of lines in `notmuch-show-mode' to avoid visual noise caused by the wrapping of the header lines. Don't enable `visual-line-mode' because it disables line truncation. The benefits of `visual-line-mode' were that it wrapped long lines in received messages. With `notmuch-wash-wrap-long-lines' now default behaviour, this is no longer required.
* emacs: globally replace non-branching "(if (not ..." with "(unless ..."Gravatar Pieter Praet2012-01-21
| | | | Less code, same results, without sacrificing readability.
* emacs: logically group def{custom,face}sGravatar Pieter Praet2012-01-19
| | | | | | | | | | | | | | | | | | | | | To allow for expansion whilst keeping everything tidy and organized, move all defcustom/defface variables to the following subgroups, defined in notmuch-lib.el: - Hello - Search - Show - Send - Crypto - Hooks - External Commands - Appearance As an added benefit, defcustom keyword args are now consistently ordered as they appear @ defcustom's docstring (OCD much?). Proper defgroup docstrings and various other improvements by courtesy of Austin Clements.
* Revert "emacs: Don't attempt to colour tags in `notmuch-show-mode'."Gravatar David Bremner2012-01-17
| | | | | | | This reverts commit 4b256ff557e924fbaffca144d25a9d5f92026146. According to id:"87aa5nlwwg.fsf@praet.org" and followup messages, the assumptions of the patch seem not to hold in emacs 23.
* emacs: Don't attempt to colour tags in `notmuch-show-mode'.Gravatar David Edmondson2012-01-15
| | | | | | | The tags were coloured using text properties. Unfortunately that text (the header line) also has an overlay, which overrides the text properties. There's not point in applying text properties that will never be seen.
* emacs: bind 'r' to reply-to-sender and 'R' to reply-to-allGravatar Jani Nikula2012-01-14
| | | | | | | Change the default reply key bindings, making 'r' reply-to-sender and 'R' reply-to-all. Signed-off-by: Jani Nikula <jani@nikula.org>
* emacs: add support for replying just to the senderGravatar Jani Nikula2012-01-14
| | | | | | | | Provide reply to sender counterparts to the search and show reply functions. Add key binding 'R' to reply to sender, while keeping 'r' as reply to all, both in search and show views. Signed-off-by: Jani Nikula <jani@nikula.org>
* notmuch/emacs: Observe the charset of text/html parts, where known.Gravatar David Edmondson2012-01-13
| | | | | | Add the charset of text/html parts to the JSON output of 'notmuch -show' when it is known. Observe the encoding when rendering such parts in emacs.
* Merge branch 'release'Gravatar David Bremner2012-01-13
|\ | | | | | | | | | | Conflicts: notmuch-reply.c notmuch.1
| * emacs: fix notmuch-show-indent-messages-width customization variable nameGravatar Jameson Graef Rollins2012-01-05
| | | | | | | | | | The name was originally notmuch-indent-messages-width, which is inconsistent with our variable naming convention.
* | emacs: Enable more text/plain hook functions by default.Gravatar David Edmondson2011-12-28
| | | | | | | | | | | | | | | | | | Users are missing out on various functions which usefully improve the display of text/plain message parts because they are not enabled by default. Enable a useful set. `notmuch-wash-convert-inline-patch-to-part' is _not_ enabled by default as it is based on a heuristic.
* | emacs: add inline patch fake parts through a special handlerGravatar Jani Nikula2011-12-28
|/ | | | | | | | Add wash generated inline patch fake parts through a special "inline-patch-fake-part" handler to distinguish them from real MIME parts. The fake parts are described as "inline patch (as text/x-diff)". Signed-off-by: Jani Nikula <jani@nikula.org>
* emacs: call notmuch-show instead of notmuch-search in buttonised id: linksGravatar Jameson Graef Rollins2011-12-24
| | | | | | | Since message-ids necessarily match just a single message, there's no reason to do a search for the id before viewing the actual message; the search just becomes an extra screen to click through. Clicking on an id: links now just jumps straight to the message itself.
* emacs: fix off-by-one bug in notmuch-show-archiveGravatar Aaron Ecay2011-12-23
| | | | | | Text properties change between characters; prev-s-c-property-change returns the position after the change. Thus, it is still inside the invisible region.
* Don't quote lambda formsGravatar Aaron Ecay2011-12-21
| | | | | | This generates byte-compiler warnings on (at least) current trunk versions of Emacs. The quote is not necessary; lambda forms are self-quoting.
* emacs: Document notmuch-show-get-message-propertiesGravatar Daniel Schoepe2011-12-16
|
* emacs: Add a face for crypto parts headersGravatar Thomas Jost2011-12-15
| | | | | | Commit cb841878 introduced new parts handlers for crypto parts, but also hardcoded values for their headers face. This replaces these hardcoded values with a customizable face.
* emacs: do not call notmuch show for non-inlinable partsGravatar Dmitry Kurochkin2011-12-07
| | | | | | | | | | | | | | Before the change, there was a workaround to avoid notmuch show calls for parts with application/* Content-Type. But non-inlinable parts are not limited to this Content-Type (e.g. mp3 files have audio/mpeg Content-Type and are not inlinable). For such parts `notmuch-show-insert-part-*/*' handler is called which unconditionally fetches contents for all parts. The patch moves content fetching from `notmuch-show-insert-part-*/*' to `notmuch-show-mm-display-part-inline' function after MIME inlinable checks are done to avoid useless notmuch show calls. The application/* hack is no longer needed and removed.
* emacs: remove unused variable in `notmuch-show-insert-part-message/rfc822'Gravatar Dmitry Kurochkin2011-12-07
| | | | | An obvious cleanup. I wonder why there was no warning about this during compilation.
* emacs: remove some code duplication in notmuch-showGravatar Dmitry Kurochkin2011-12-07
| | | | | | Add optional props argument to `notmuch-show-get-header'. Use it to get headers in `notmuch-show-insert-part-multipart/signed' and `notmuch-show-insert-part-multipart/encrypted'.
* emacs: make message indentation width customisableGravatar Gregor Zattler2011-11-25
| | | | | | | | | | | Till now Emacs UI indents messages according to their respecive depth of neting in the thread. The actual width of indentation per level is hardcoded to `1' space. This patch makes message indentation customisable by introducing a variable `notmuch-indent-messages-width' which defaults to `1', which is the same as before. Felix could set this variable to `0' in order to disable indentation, I tested it with a value of `4' for a clearer separation of messages in a thread.
* emacs: Don't record undo information for search or show buffers.Gravatar Austin Clements2011-11-24
| | | | | | There's no reason to record undo information for read-only, programmatically-constructed buffers. The undo list just chews up memory keeping track of our calls to insert.