[PATCH WIP v2 0/5] emacs: show: redesign unread/read logic
[notmuch-archives.git] / 20 / f03e1920828a0189a5ef58552b6284b71f2514
1 Return-Path: <markwalters1009@gmail.com>\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 1D063431FDC\r
6         for <notmuch@notmuchmail.org>; Sun,  1 Dec 2013 02:10:26 -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: 2.7\r
10 X-Spam-Level: **\r
11 X-Spam-Status: No, score=2.7 tagged_above=-999 required=5\r
12         tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1,\r
13         FREEMAIL_ENVFROM_END_DIGIT=1, FREEMAIL_FROM=0.001,\r
14         FREEMAIL_REPLY=2.499, RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled\r
15 Received: from olra.theworths.org ([127.0.0.1])\r
16         by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
17         with ESMTP id Zd-SzbGcn+2D for <notmuch@notmuchmail.org>;\r
18         Sun,  1 Dec 2013 02:10:19 -0800 (PST)\r
19 Received: from mail-wg0-f54.google.com (mail-wg0-f54.google.com\r
20  [74.125.82.54])        (using TLSv1 with cipher RC4-SHA (128/128 bits))        (No client\r
21  certificate requested) by olra.theworths.org (Postfix) with ESMTPS id\r
22  668E4431FD0    for <notmuch@notmuchmail.org>; Sun,  1 Dec 2013 02:10:19 -0800\r
23  (PST)\r
24 Received: by mail-wg0-f54.google.com with SMTP id n12so9875502wgh.9\r
25         for <notmuch@notmuchmail.org>; Sun, 01 Dec 2013 02:10:18 -0800 (PST)\r
26 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;\r
27         h=from:to:cc:subject:date:message-id;\r
28         bh=9ogf33Vu3qwdlzllUlBhZOSLK/4pgLZMSZ2cfm00IO4=;\r
29         b=VVRlXVm1qqnGwnIqfa9ImWU2AJGgXEkbMqXDbbv1jcFMB2xFC5XgWsCkhovy5S084r\r
30         HS2Rr8JnPWlxA7tMmZt6vYZyvmOgTC/38UqIHK7n0setX5Jw05BXc4u4svZBkP82Jms8\r
31         UxdUHoTUB+6oCxlU6IQ9kS04EA9CHib71ormFpmzTMqMkYd4DxQRg7bqVT78z3p/9jFv\r
32         PGF4Q0YVHqJ7Nwc82QPbApS7vB0zYBKTUvebh1WZLAElCb+HktaITZBQuIla3XM15v+e\r
33         Qwz0U0B/Mf5xP9WYJYwUyN67MDYB9O7QrTouZ5531xqNqwE+F/fGoRXHcODAwwtRCDnn\r
34         eBHg==\r
35 X-Received: by 10.180.206.41 with SMTP id ll9mr13388609wic.7.1385892150353;\r
36         Sun, 01 Dec 2013 02:02:30 -0800 (PST)\r
37 Received: from localhost (93-97-24-31.zone5.bethere.co.uk. [93.97.24.31])\r
38         by mx.google.com with ESMTPSA id\r
39         qc10sm111039177wic.9.2013.12.01.02.02.29 for <multiple recipients>\r
40         (version=TLSv1.2 cipher=RC4-SHA bits=128/128);\r
41         Sun, 01 Dec 2013 02:02:29 -0800 (PST)\r
42 From: Mark Walters <markwalters1009@gmail.com>\r
43 To: notmuch@notmuchmail.org\r
44 Subject: [PATCH WIP v2 0/5] emacs: show: redesign unread/read logic\r
45 Date: Sun,  1 Dec 2013 10:02:21 +0000\r
46 Message-Id: <1385892147-16994-1-git-send-email-markwalters1009@gmail.com>\r
47 X-Mailer: git-send-email 1.7.9.1\r
48 X-BeenThere: notmuch@notmuchmail.org\r
49 X-Mailman-Version: 2.1.13\r
50 Precedence: list\r
51 List-Id: "Use and development of the notmuch mail system."\r
52         <notmuch.notmuchmail.org>\r
53 List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
54         <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
55 List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
56 List-Post: <mailto:notmuch@notmuchmail.org>\r
57 List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
58 List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
59         <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
60 X-List-Received-Date: Sun, 01 Dec 2013 10:10:26 -0000\r
61 \r
62 This is further wip of the message at\r
63 id:1385285551-5158-1-git-send-email-markwalters1009@gmail.com\r
64 see there for some discussion of the design.\r
65 \r
66 This series is still definitely wip: one reason for posting is so\r
67 people can play with different strategies for marking read\r
68 easily. (As WIP tree's unread handling is broken and the tests need updating.)\r
69 \r
70 The series consists of three parts: the first 4 patches add the notion\r
71 of seen: this means the user has seen the message but the message has\r
72 typically not been marked read yet. The seen messages are marked read\r
73 when the user quits the show buffer unless the user quits with\r
74 prefix-arg quit. In all cases an informative message is shown.\r
75 \r
76 The fifth patch adds a psot-command-hook stub for updating the seen\r
77 status. This seems a natural place to do the update as it means\r
78 however the user navugates around the buffer (eg next-message or\r
79 page-down etc) the update gets done.\r
80 \r
81 This is intended to be an easy place for other people to try out their\r
82 own mark read strategies.\r
83 \r
84 The final patch implements something pretty close to what I would like\r
85 for marking seen/read. A message is deemed seen provided the user has\r
86 seen the top of the message, and has seen either the bottom of the\r
87 message or a point at least some customisable number of lines into the\r
88 message. The customisable number of lines can either be a fixed number\r
89 e.g. 20, or a number depending on the height of the current window\r
90 e.g. the default is 3/4 of the window height.\r
91 \r
92 The idea is a message seen if the user has seen the entire message, or\r
93 enough of it they have to have noticed it. The figure of 3/4 also\r
94 means that the notmuch commands like next-message which place the top\r
95 of the message at the top of the window automatically mark the message\r
96 seen as either the whole message or at least one window full must be\r
97 visible.\r
98 \r
99 I would be very grateful for any comments on whether this behaves as\r
100 people would expect, what they would want instead etc\r
101 \r
102 Best wishes\r
103 \r
104 Mark\r
105 \r
106 \r
107 \r
108 \r
109 \r
110 Mark Walters (6):\r
111   emacs: show: add a function to test for unread\r
112   emacs: show: add some seen helpers\r
113   emacs: show: sync seen to read on quit and refresh\r
114   emacs: show: use the `seen' interface\r
115   emacs: show: add an update seen function to post-command-hook\r
116   emacs: show: make `seen' mean user viewed whole message\r
117 \r
118  emacs/notmuch-show.el |  163 ++++++++++++++++++++++++++++++++++++++++++++-----\r
119  1 files changed, 148 insertions(+), 15 deletions(-)\r
120 \r
121 -- \r
122 1.7.9.1\r
123 \r