summaryrefslogtreecommitdiff
path: root/notmuch.el
Commit message (Collapse)AuthorAge
* notmuch.el: Remove some dead code.Carl Worth2009-11-25
| | | | | This was left over from before the switch to using a filter for processing the results of "notmuch search".
* notmuch.el: Quote arguments to protect from shell interpretation.Carl Worth2009-11-24
| | | | | | We want to allow the user to be able to use search expressions with parentheses and semi-colons, etc. and we definitely don't want the shell interpreting those!
* notmuch.el: Exceute "notmuch search" asynchronously.Carl Worth2009-11-24
| | | | | | | | | | | Previously, our emacs interface was waiting for the "notmuch search" to complete before it would display anything. Now, we execute the process asyncrhonously and filter results as they come in. This takes advantage of the recent work to make "notmuch search" results stream out steadily. The result is that some search results will be available nearly instantly and the user can navigate and view those while additional results continue loading.
* Remove the global expand body keymappingAlexander Botero-Lowry2009-11-24
| | | | With local buttons done now, we don't need this anymore.
* Make bodies locally toggleableAlexander Botero-Lowry2009-11-24
| | | | | | | | | | | | Having actually implemented this, I realized that my initial approach of providing a function to configure a button was wrong. Instead I've replaced that with button types. This then makes it possible to provide the fully expanded view when all threads in a message are unread. It also has the potential to allow global-expansion functions if that is desireable
* make a nice function for generating invisibility toggle buttonsAlexander Botero-Lowry2009-11-24
| | | | | | I realized I was replicating this code over and over again, so this way if I change my mind about something I only have to do it on one place.
* cleanup a lot of left-overs from the global invisAlexander Botero-Lowry2009-11-24
| | | | | Basically I'd left in a lot of the key-bindings and all the invisiblity spec variables so just rid the world of those
* make headers locally expandable/collapsableAlexander Botero-Lowry2009-11-24
| | | | | | | This is the same as with citations and signatures. I used an ellipsis here for the invisible region, which I think make it more obvious that there are extra headers. MH-e used this for extra long To/CC headers.
* notmuch.el: Add TAB and M-TAB buttons to move between buttons.Carl Worth2009-11-23
| | | | | Thanks to Alexander Botero-Lowry for pointing out the interesting functions to use here. This functionality was really easy to add.
* Add notmuch-folder mode to provide an overview of search matchesKeith Packard2009-11-23
| | | | | | | | | | | Folder mode takes a (user-configurable) list of search patterns and produces a list of those patterns and the count of messages that they match. When an entry in this list is selected, a search window with the defined search is opened. The set of folders is defined as a list, each element contains the name of the folder and the query string to count. Signed-off-by: Keith Packard <keithp@keithp.com>
* Make mouse-1 click in search view show threadKeith Packard2009-11-23
| | | | | | | | Selecting text in the search view isn't all that useful, so instead, make mouse-1 clicks actually show the thread you click on. It's almost like direct manipulation or something. Signed-off-by: Keith Packard <keithp@keithp.com>
* Insert signature into repliesKeith Packard2009-11-23
| | | | | | | | | When you compose a new message, message mode carefully inserts your mail signature at the bottom of the message; as notmuch constructs the reply all by itself, this doesn't happen then. Use the message mode function 'message-insert-signature' to add that to reply buffers. Signed-off-by: Keith Packard <keithp@keithp.com>
* Quote file names passed to the shellJed Brown2009-11-23
| | | | | Prior to this, notmuch-show-pipe-message could not handle file names with spaces and similar.
* switch to button-1, which seems to interact poorly with text-selection by mouseAlexander Botero-Lowry2009-11-22
|
* instead of trying to cause a redisplay, actually do a redisplayAlexander Botero-Lowry2009-11-22
|
* put a newline after the headersAlexander Botero-Lowry2009-11-22
|
* make header names bold in show-modeAlexander Botero-Lowry2009-11-22
|
* Make expanding/collapsing signatures and citations local to themAlexander Botero-Lowry2009-11-22
| | | | | This is the first step towards localizing all the expand/collapse operations in the show buffer
* buttonize signatures as wellAlexander Botero-Lowry2009-11-22
|
* Buttonize citation expander.Alexander Botero-Lowry2009-11-22
| | | | Currently the button has no action or special handling at all.
* Fix invalid face reference.Kan-Ru Chen2009-11-22
| | | | | | | To avoid the "Invalid face reference: cons [18 times]" kind of message goes on and on in the *Messages*. Signed-off-by: Kan-Ru Chen <kanru@kanru.info>
* INSTALL/notmuch.el: More details on how to install/run notmuch.elCarl Worth2009-11-21
| | | | | Hopefully this will save some people some head-scratching trying to figure out how to use it.
* notmuch.el: Don't use end-of-buffer which is inappropriate from programsCarl Worth2009-11-21
| | | | | | The documentation is quite clear about this case. With this, we can now byte compile without warnings.
* notmuch.el: Fix stale reference to non-existing variable.Carl Worth2009-11-21
| | | | | We changed from "query" to "thread-id" a while ago, and broke this error message at the time. Fix it now.
* notmuch.el: Add many missing defvar calls.Carl Worth2009-11-21
| | | | | Without these, emacs was complaining about "assignment to free variable", (though only when byte compiling, which is why we didn't notice earlier).
* Allow to redefine notmuch binary name and path in elisp modeMikhail Gusarov2009-11-20
| | | | Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net>
* notmuch.el: Don't use literal control characters in strings.Carl Worth2009-11-20
| | | | | | | Avoding these is nicer to users, text editors, and our poor little notmuch.el code itself that would get confused when seeing a copy of itself in email. (Of course, we should still fix that bug, but this workaround is good nonetheless.)
* notmuch: Add search mode hookAneesh Kumar K.V2009-11-19
| | | | | | | | This patch add notmuch-search-hook that gets run when we after displaying search results Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Cc:Keith Packard <keithp@keithp.com>
* notmuch.el: Add a reply binding ('r') to search mode to reply to a whole thread.Carl Worth2009-11-19
| | | | | | This is basically right, (I get a message buffer with all the mails quoted), but somehow notmuch reply is reversing the messages. That's a nuisance.
* We use the message mail system for new mail, let emacs know.Keith Packard2009-11-18
| | | | | | | This makes things like the goto-address system bring up the right message composition window. Signed-off-by: Keith Packard <keithp@keithp.com>
* Create a default notmuch-show-hook that highlights URLs and uses word-wrapKeith Packard2009-11-18
| | | | | | | | | I created the notmuch-show-hook precisely so I could add these two options, but I suspect most people will want them, so I just made them the default. If you don't want them, you can use remove-hook to get rid of this. Signed-off-by: Keith Packard <keithp@keithp.com>
* Set truncate-lines variable for search buffers.Keith Packard2009-11-18
| | | | | | This keeps them from wrapping. Signed-off-by: Keith Packard <keithp@keithp.com>
* Add notmuch-show-hook to allow customization of show windowsKeith Packard2009-11-18
| | | | | | | | | I wanted to enable got-address-mode and visual-line-mode in my show windows to make messages easier to read and URLs easier to follow. This hook allows the user to run arbitrary code each time a message is shown. Signed-off-by: Keith Packard <keithp@keithp.com>
* Make '?" bring up a list of bindings.Carl Worth2009-11-18
| | | | | Just using describe-mode for now, (though something more specialized would be better).
* TypsosIngmar Vanhassel2009-11-18
|
* notmuch search: Change default search order to be newest messages first.Carl Worth2009-11-17
| | | | | | | | | | | | | | | | | This is what most people want for a _search_ command. It's often different for actually reading mail in an inbox, (where it makes more sense to have results displayed in chronological order), but in such a case, ther user is likely using an interface that can simply pass the --sort=oldest-first option to "notmuch search". Here we're also change the sort enum from NOTMUCH_SORT_DATE and NOTMUCH_SORT_DATE_REVERSE to NOTMUCH_SORT_OLDEST_FIRST and NOTMUCH_SORT_NEWEST_FIRST. Similarly we replace the --reverse option to "notmuch search" with two options: --sort=oldest-first and --sort=newest-first. Finally, these changes are all tracked in the emacs interface, (which has no change in its behavior).
* Use 'forward-line' instead of 'next-line' while walking search displayKeith Packard2009-11-16
| | | | | | | | The documentation for 'next-line' suggests that 'forward-line' is a better choice for non-interactive usage. That appears to be the case here; using next-line caused emacs to spin forever for me. Signed-off-by: Keith Packard <keithp@keithp.com>
* notmuch.el: Consider an entire line of underscores as a signature separator.Carl Worth2009-11-16
| | | | | | | This is the default separator used by mailman, so there's a lot of clutter in thread displays without this. Also, we not provide a nice variable to the user (notmuch-show-signature-regexp) for configuring this.
* notmuch.el: Insert a newline if the last line of a part is missing one.Carl Worth2009-11-16
| | | | | | | | | | | | | I think there's a GMime bug that we're getting parts decoded without a final newline (the encoded parts seem to have them just fine). We can workaround the bug easily enough by finding a part-closing delimiter that is not at the beginning of a line, and if so, just insert a newline. Without this, the one-line-summary of the next message would continue on the same line as the last line of the previous message, (and this would often happen for mailing-list messages where mailman would add an extra part for its signature block).
* notmuch.el: Display authors in a column separate from subject.Carl Worth2009-11-16
| | | | | | | | | | | | | | | This makes it much easier to actually read the subject lines. The user can set notmuch-search-authors-width to control the width of the column. Two possible ideas for improving this support further: 1. Make the excess authors invisible instead of removing them from the buffer, (which means that isearch could still find them). 2. Have the user variable control a percentage of the window width rather than being a fixed number of columns.
* notmuch.el: Indent messages to show nested structure of thread.Carl Worth2009-11-16
| | | | | | | | | | | | | Now that we're actually adding text to the buffer for the indentation, our old aproach of using positions to record regions to manipulate is now longer correct. Fortunately, it's easy to switch from positions to markers which are robust, (just call point-marker instead of point and all relevant functions accept markers as well as points). I also finally fixed the bug where the text "[6 line signature]" we display was causing the one-line-summary of the next message to be on its same line rather than at the beginning of the next line where it belongs.
* notmuch.el: Add support for viewing MIME-encoded parts (with 'v').Carl Worth2009-11-14
| | | | | | | Currently just supports viewing all MIME parts in the message. There's not yet support for selecting and viewing individual parts, but that should be easy to add from here, (now that we've found mm-display-parts to do all the heavy lifting).
* notmuch.el: Add an 'm' binding to start composing a new mail.Carl Worth2009-11-13
| | | | Available from either the "search" or the "show" view.
* notmuch.el: Use require instead of load to get the cl functions.Carl Worth2009-11-13
| | | | | Not only is "load" probably the wrong thing, but loading cl-seq befoe cl can cause complaints anyway.
* notmuch.el: Add a binding ('o') and command to toggle current search order.Carl Worth2009-11-12
| | | | | This ended up being a bit easier than I thought. Just flip the controlling variable and then run `notmuch-search-refresh-view'.
* notmuch.el: Hook up support for different search orders.Carl Worth2009-11-12
| | | | | | | | | | | | | This gives us two different default search orders: The inbox view that comes up from "M-x notmuch" is sorted in chronological order (oldest threads first). A new global search "M-x notmuch-search" will instead be in reverse chronological order (newest threads first). Any filtered searches retain the sort order of the search being filtered. There's not yet any interface for changing the sort order of a search after it is constructed.
* notmuch.el: Remove functions to show/hide thread IDs.Carl Worth2009-11-12
| | | | | | I wrote these originally jsut for debugging. They've never been hooked up to any keybinding and the existing "M-x visible-mode" does what's needed anyway.
* notmuch.el: Switch to using "notmuch reply" rather than message-reply.Carl Worth2009-11-11
| | | | | | This way we get to take advantage of the configuration of the user's email addresses in notmuch, (rather than expecting the user to configure all of their email addresses in message mode as well).
* notmuch.el: Add a binding ('r') to reply to the current message.Carl Worth2009-11-10
| | | | | | | We were just starting to get "notmuch reply" into shape in order to provide the needed functionality here, but then I realized that the message-reply function built into emacs is already more functional, (at least for the case of replying to a single message).
* notmuch.el: Simplify get-message-idCarl Worth2009-11-10
| | | | | We were stripping off the "id:" portion of the identifier, only to put it back on again in all cases. Stop this madness.