From 675467be8d20d8206d7d88cc78e869a3e02b2469 Mon Sep 17 00:00:00 2001 From: Jani Nikula Date: Sun, 6 Oct 2013 10:08:19 +0300 Subject: [PATCH] Re: Emacs: how to remove "unread" tag while reading emails --- 91/376296696b895d30f04ec45110b1bfa4ecfc94 | 161 ++++++++++++++++++++++ 1 file changed, 161 insertions(+) create mode 100644 91/376296696b895d30f04ec45110b1bfa4ecfc94 diff --git a/91/376296696b895d30f04ec45110b1bfa4ecfc94 b/91/376296696b895d30f04ec45110b1bfa4ecfc94 new file mode 100644 index 000000000..fa449e0b7 --- /dev/null +++ b/91/376296696b895d30f04ec45110b1bfa4ecfc94 @@ -0,0 +1,161 @@ +Return-Path: +X-Original-To: notmuch@notmuchmail.org +Delivered-To: notmuch@notmuchmail.org +Received: from localhost (localhost [127.0.0.1]) + by olra.theworths.org (Postfix) with ESMTP id 451E3431FBD + for ; Sun, 6 Oct 2013 00:08:27 -0700 (PDT) +X-Virus-Scanned: Debian amavisd-new at olra.theworths.org +X-Spam-Flag: NO +X-Spam-Score: -0.7 +X-Spam-Level: +X-Spam-Status: No, score=-0.7 tagged_above=-999 required=5 + tests=[RCVD_IN_DNSWL_LOW=-0.7] autolearn=disabled +Received: from olra.theworths.org ([127.0.0.1]) + by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id nZMBAZflXteQ for ; + Sun, 6 Oct 2013 00:08:21 -0700 (PDT) +Received: from mail-ea0-f174.google.com (mail-ea0-f174.google.com + [209.85.215.174]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) + (No client certificate requested) + by olra.theworths.org (Postfix) with ESMTPS id 14E05431FAF + for ; Sun, 6 Oct 2013 00:08:20 -0700 (PDT) +Received: by mail-ea0-f174.google.com with SMTP id z15so2581990ead.33 + for ; Sun, 06 Oct 2013 00:08:18 -0700 (PDT) +X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; + d=1e100.net; s=20130820; + h=x-gm-message-state:from:to:cc:subject:in-reply-to:references + :user-agent:date:message-id:mime-version:content-type; + bh=WqJBpno6Xl+2i9E/107mUwDno8J69UkXBvKq3AGss3E=; + b=Seh6qyKg0hDaEydTrcHjwPZ+KNqj0q0XPAYpwXYcRElXks3Lq4jc4/91oTKxYgUNqc + PwqoJ0dwvyN4wdJsmQ2fsNCdl+R2G5uQVpZ9wWxWeCEkUS3YPSbfx428ZPGYMzytmqih + b0q0rm6E7VKFTGFaALF7MLfMzNp3SQAFZwh0BLcbpe2ocH4DcckxGGokaTqFfsvQHPch + MnN5XwhmvkpFaiE7SsREEPHd6iRoRXha8OdZy2kuIcDQoCdn8bHdU1+Kg8+oPWSu7TGI + 42iZwmZIKFgVjJwBj/tFjPanySOJLBoZb70ErnxB06ff9jczNWr3HuzxOeIZPUsv6Hx1 + IAUw== +X-Gm-Message-State: + ALoCoQnnFJrX/lre20CMvOuwhkCeP2he+eAe0SvoRBbW4EpnVGsH9ehILlkrR2CPWZXL/80a/yJp +X-Received: by 10.14.174.131 with SMTP id x3mr144592eel.61.1381043298442; + Sun, 06 Oct 2013 00:08:18 -0700 (PDT) +Received: from localhost (dsl-hkibrasgw2-58c36f-91.dhcp.inet.fi. + [88.195.111.91]) + by mx.google.com with ESMTPSA id m54sm48094546eex.2.1969.12.31.16.00.00 + (version=TLSv1.2 cipher=RC4-SHA bits=128/128); + Sun, 06 Oct 2013 00:08:17 -0700 (PDT) +From: Jani Nikula +To: Austin Clements , + Mark Walters +Subject: Re: Emacs: how to remove "unread" tag while reading emails +In-Reply-To: <20131005162202.GJ21611@mit.edu> +References: <87hadi0xse.fsf@boo.workgroup> <87pprk3whs.fsf@qmul.ac.uk> + <20131005162202.GJ21611@mit.edu> +User-Agent: Notmuch/0.16+88~g563143a (http://notmuchmail.org) Emacs/24.3.1 + (x86_64-pc-linux-gnu) +Date: Sun, 06 Oct 2013 10:08:19 +0300 +Message-ID: <87vc1aho64.fsf@nikula.org> +MIME-Version: 1.0 +Content-Type: text/plain +Cc: notmuch@notmuchmail.org +X-BeenThere: notmuch@notmuchmail.org +X-Mailman-Version: 2.1.13 +Precedence: list +List-Id: "Use and development of the notmuch mail system." + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +X-List-Received-Date: Sun, 06 Oct 2013 07:08:27 -0000 + +On Sat, 05 Oct 2013, Austin Clements wrote: +> One of the problems with the current approach, which most of these +> options share, is that there's no feedback. For example, when I enter +> a thread, I have no idea if the first message was unread or not. + +Agreed. And this gets repeated for navigating messages within the +thread. Very annoying. This should be fixed. + +Two other things I find annoying: + +* I often find myself glancing at the first few lines of the message to + decide whether I want to read it now or later (potentially never). I + still want the unread information be retained if I decide to archive + or move on to the next thread, so I often end up restoring the unread + tag. So the marking as read is too eager. + +* I sometimes use the arrow keys and page down/up to read through + messages, and this leaves messages unread even though I've read + them. So the marking as read is not eager enough. + +> I'd like a solution that either naturally doesn't have this problem, +> that visually indicates that a message *was* unread, or that delays +> all unread marking until you leave the thread (possibly combined with +> a visual indication of what will be marked unread). Bonus points if +> it's easy to adjust what happens, such as saying "keep everything +> unread" or "keep everything unread except this one". + +I'd like to have the visual indication. + +> To this end, here are my two proposals: +> +> A1) Mark whole thread read when you leave it (via q, X, A or friends) +> and provide a binding to leave a thread without marking it read (C-x k +> would do, but we should provide an explicit one; perhaps C-u prefixing +> other "leave" bindings? For once, C-u is easy to remember because u +> is the first letter of unread). + +I think I'd like to keep this message based instead of thread +based. However it's very difficult to know for sure until one actually +gets to try it. + +I do switch between show buffers (for example, while reading a message, +I need to check something from another message) and the marking as read +might get lost. Also, it's not clear to me what happens if you refresh +the buffer and new messages show up in the thread. Again, difficult to +know in advance. + + +My message based proposal: + +Don't do anything when you enter a message. This keeps the unread tag +visible if it's there. + +Mark each message as read on actions you do when the point already is +within the message: n/N/p/P/SPC/a/x/A/X/q/r/R/f (others?), arrow keys, +and page up/down, *unless* the action is prefixed with C-u. + +Collapsed messages would never be marked as read. RET to expand would +mark as read. + +This still does not provide visual indication of the removal of the +unread tag in a way that would be always visible. But I think it's more +important to know whether the message *was* unread before or not. + + +Here's a proposal independent of the marking-as-read topic that would +help with the visual indication: + +We currently set header-line-format (the top header in show view) to the +subject of the first message. The usefulness of the header line could be +improved a lot. We could make it reflect the message the point is +currently on, with user configurable format not unlike +notmuch-search-result-format. Including tags. And this would provide +visual indication for marking as read when the message header is not +visible. The header would also help in navigating long threads with long +messages. + +> In either case, I'd like an echo message when I leave the thread +> telling me what happened ("Thread marked as read", "First 3 messages +> marked as read; thread archived", etc.). These would blend especially +> well with undo, because they would bundle together all read marking +> into a single action that would make sense to undo ("Thread marked as +> read [C-/ to undo]"). + +This might be useful with the message based approach, although it might +be too verbose, and a new annoyance... + + +BR, +Jani. -- 2.26.2