Re: [PATCH v4 13/16] add indexopts to notmuch python bindings.
[notmuch-archives.git] / b5 / 6e4c35473bc1553f609d9c1bae979a036f85bf
1 Return-Path: <m.walters@qmul.ac.uk>\r
2 X-Original-To: notmuch@notmuchmail.org\r
3 Delivered-To: notmuch@notmuchmail.org\r
4 Received: from localhost (localhost [127.0.0.1])\r
5         by olra.theworths.org (Postfix) with ESMTP id 525EA431FB6\r
6         for <notmuch@notmuchmail.org>; Sun, 12 Feb 2012 02:31:32 -0800 (PST)\r
7 X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
8 X-Spam-Flag: NO\r
9 X-Spam-Score: -1.098\r
10 X-Spam-Level: \r
11 X-Spam-Status: No, score=-1.098 tagged_above=-999 required=5\r
12         tests=[DKIM_ADSP_CUSTOM_MED=0.001, FREEMAIL_FROM=0.001,\r
13         NML_ADSP_CUSTOM_MED=1.2, RCVD_IN_DNSWL_MED=-2.3] autolearn=disabled\r
14 Received: from olra.theworths.org ([127.0.0.1])\r
15         by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
16         with ESMTP id iMyIAz+ZhHHR for <notmuch@notmuchmail.org>;\r
17         Sun, 12 Feb 2012 02:31:31 -0800 (PST)\r
18 Received: from mail2.qmul.ac.uk (mail2.qmul.ac.uk [138.37.6.6])\r
19         (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))\r
20         (No client certificate requested)\r
21         by olra.theworths.org (Postfix) with ESMTPS id 74252431FAE\r
22         for <notmuch@notmuchmail.org>; Sun, 12 Feb 2012 02:31:31 -0800 (PST)\r
23 Received: from smtp.qmul.ac.uk ([138.37.6.40])\r
24         by mail2.qmul.ac.uk with esmtp (Exim 4.71)\r
25         (envelope-from <m.walters@qmul.ac.uk>)\r
26         id 1RwWiP-0004go-PQ; Sun, 12 Feb 2012 10:31:30 +0000\r
27 Received: from 94-192-233-223.zone6.bethere.co.uk ([94.192.233.223]\r
28         helo=localhost)\r
29         by smtp.qmul.ac.uk with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.69)\r
30         (envelope-from <m.walters@qmul.ac.uk>)\r
31         id 1RwWiP-00079q-Eq; Sun, 12 Feb 2012 10:31:29 +0000\r
32 From: Mark Walters <markwalters1009@gmail.com>\r
33 To: notmuch@notmuchmail.org\r
34 Subject: RFC notmuch-pick: an emacs threaded message view with split-pane\r
35 User-Agent: Notmuch/0.11.1+172~g6a5d2c5 (http://notmuchmail.org) Emacs/23.2.1\r
36         (i486-pc-linux-gnu)\r
37 Date: Sun, 12 Feb 2012 10:32:48 +0000\r
38 Message-ID: <87d39k1gvi.fsf@qmul.ac.uk>\r
39 MIME-Version: 1.0\r
40 Content-Type: text/plain; charset=us-ascii\r
41 X-Sender-Host-Address: 94.192.233.223\r
42 X-QM-SPAM-Info: Sender has good ham record.  :)\r
43 X-QM-Body-MD5: c6761476b99f56156da099f193d7d0dd (of first 20000 bytes)\r
44 X-SpamAssassin-Score: -1.8\r
45 X-SpamAssassin-SpamBar: -\r
46 X-SpamAssassin-Report: The QM spam filters have analysed this message to\r
47         determine if it is\r
48         spam. We require at least 5.0 points to mark a message as spam.\r
49         This message scored -1.8 points.\r
50         Summary of the scoring: \r
51         * -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/,\r
52         *      medium trust\r
53         *      [138.37.6.40 listed in list.dnswl.org]\r
54         * 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail\r
55         provider *      (markwalters1009[at]gmail.com)\r
56         * -0.0 T_RP_MATCHES_RCVD Envelope sender domain matches handover relay\r
57         *      domain\r
58         *  0.5 AWL AWL: From: address is in the auto white-list\r
59 X-QM-Scan-Virus: ClamAV says the message is clean\r
60 X-BeenThere: notmuch@notmuchmail.org\r
61 X-Mailman-Version: 2.1.13\r
62 Precedence: list\r
63 List-Id: "Use and development of the notmuch mail system."\r
64         <notmuch.notmuchmail.org>\r
65 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
66         <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
67 List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
68 List-Post: <mailto:notmuch@notmuchmail.org>\r
69 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
70 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
71         <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
72 X-List-Received-Date: Sun, 12 Feb 2012 10:31:32 -0000\r
73 \r
74 \r
75 Hello\r
76 \r
77 On irc recently dme posted a patch notmuch-pick.el which provided a\r
78 threaded message view in the emacs interface. I have added substantially\r
79 to it and made some cli changes to support it better. See\r
80 http://kanelephant.com/screen.png for a screenshot.\r
81 \r
82 It seems to be working well (although doubtless has bugs and lots of\r
83 room for improvement).\r
84 \r
85 One important caveat is that it does call notmuch-show rather than\r
86 notmuch-search so it can be slow. Viewing 10000 notmuch messages takes\r
87 me 20 seconds with a warm cache and about a minute with a cold\r
88 cache. Viewing million message searches in this fashion is not\r
89 recommended! \r
90 \r
91 Note since I modify the notmuch-show.c backend this applies on top of\r
92 Jani's show parsing patches id:"cover.1328558175.git.jani@nikula.org"\r
93 \r
94 The most important key bindings are as follows:\r
95 \r
96 'z' enter a search to display in pick view (analogous to s; works in\r
97 hello, search, show and pick mode).\r
98 \r
99 'Z' displays the current search in pick mode (works in search and show\r
100 mode)\r
101 \r
102 In pick mode: RET displays a message (splitting the current window),\r
103 SPACE scrolls the message window and goes to next message when it\r
104 reaches the end, 'b' scrolls the message window back, 'p', 'n' move to\r
105 the next matching message, 'q' closes the message window (if open) or\r
106 quits the pick view.\r
107 \r
108 't' toggles whether to show the messages as a thread-tree structure or\r
109 just as single messages, 'o' toggles the sort order. \r
110 \r
111 Most of the other commands I could think of work as I would expect (eg\r
112 tagging, piping, help etc)\r
113 \r
114 Questions/thoughts and known bugs:\r
115 \r
116 Do people like the rough idea? \r
117 \r
118 At the moment there is some shared code with notmuch-show.el. This could\r
119 be factored out: however, while this pick mode is WIP I don't think it\r
120 is worth it. I have tried to keep the impact on the current parts of the\r
121 emacs code and the command line interface fairly small.\r
122 \r
123 I will send the patches as 3 bits: one is the command-line support\r
124 needed (i.e. changes to notmuch-show.c) one is the changes to the other\r
125 emacs files and the final one is the notmuch-pick.el file itself.\r
126 \r
127 There are some things that need fixing: some of which are marked in the\r
128 code. For example the highlighting (lowlighting?) of non-matching\r
129 messages is hard-wired gray and should be a defcustom. The tags are not\r
130 in a nice tag face and do not update automatically. There should be an\r
131 option not to use the split-screen mode.\r
132 \r
133 Anyway I am already finding it useful: show a long thread, press 'Z' to\r
134 see the thread structure nicely and then ...\r
135 \r
136 Best wishes\r
137 \r
138 Mark\r