unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
* RFC notmuch-pick: an emacs threaded message view with split-pane
@ 2012-02-12 10:32 Mark Walters
  2012-02-12 10:36 ` [RFC PATCH 1/3] cli: notmuch-show changes to support pick Mark Walters
                   ` (5 more replies)
  0 siblings, 6 replies; 11+ messages in thread
From: Mark Walters @ 2012-02-12 10:32 UTC (permalink / raw)
  To: notmuch


Hello

On irc recently dme posted a patch notmuch-pick.el which provided a
threaded message view in the emacs interface. I have added substantially
to it and made some cli changes to support it better. See
http://kanelephant.com/screen.png for a screenshot.

It seems to be working well (although doubtless has bugs and lots of
room for improvement).

One important caveat is that it does call notmuch-show rather than
notmuch-search so it can be slow. Viewing 10000 notmuch messages takes
me 20 seconds with a warm cache and about a minute with a cold
cache. Viewing million message searches in this fashion is not
recommended! 

Note since I modify the notmuch-show.c backend this applies on top of
Jani's show parsing patches id:"cover.1328558175.git.jani@nikula.org"

The most important key bindings are as follows:

'z' enter a search to display in pick view (analogous to s; works in
hello, search, show and pick mode).

'Z' displays the current search in pick mode (works in search and show
mode)

In pick mode: RET displays a message (splitting the current window),
SPACE scrolls the message window and goes to next message when it
reaches the end, 'b' scrolls the message window back, 'p', 'n' move to
the next matching message, 'q' closes the message window (if open) or
quits the pick view.

't' toggles whether to show the messages as a thread-tree structure or
just as single messages, 'o' toggles the sort order. 

Most of the other commands I could think of work as I would expect (eg
tagging, piping, help etc)

Questions/thoughts and known bugs:

Do people like the rough idea? 

At the moment there is some shared code with notmuch-show.el. This could
be factored out: however, while this pick mode is WIP I don't think it
is worth it. I have tried to keep the impact on the current parts of the
emacs code and the command line interface fairly small.

I will send the patches as 3 bits: one is the command-line support
needed (i.e. changes to notmuch-show.c) one is the changes to the other
emacs files and the final one is the notmuch-pick.el file itself.

There are some things that need fixing: some of which are marked in the
code. For example the highlighting (lowlighting?) of non-matching
messages is hard-wired gray and should be a defcustom. The tags are not
in a nice tag face and do not update automatically. There should be an
option not to use the split-screen mode.

Anyway I am already finding it useful: show a long thread, press 'Z' to
see the thread structure nicely and then ...

Best wishes

Mark

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2012-02-12 21:42 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-12 10:32 RFC notmuch-pick: an emacs threaded message view with split-pane Mark Walters
2012-02-12 10:36 ` [RFC PATCH 1/3] cli: notmuch-show changes to support pick Mark Walters
2012-02-12 10:36 ` [RFC PATCH 2/3] emacs: changes to other files to support notmuch-pick Mark Walters
2012-02-12 10:36 ` [RFC PATCH 3/3] emacs: add notmuch-pick itself Mark Walters
     [not found] ` <87ehu0cf16.fsf@schoepe.localhost>
2012-02-12 14:31   ` RFC notmuch-pick: an emacs threaded message view with split-pane Daniel Schoepe
2012-02-12 14:47 ` [PATCH 0/1] emacs: Make highlight-faces for pick configurable Daniel Schoepe
2012-02-12 14:47   ` [PATCH] " Daniel Schoepe
2012-02-12 15:50     ` Mark Walters
2012-02-12 20:46 ` RFC notmuch-pick: an emacs threaded message view with split-pane Jameson Graef Rollins
2012-02-12 20:59   ` Daniel Schoepe
2012-02-12 21:43     ` Mark Walters

Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).