--- /dev/null
+Return-Path: <marmstrong@google.com>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+ by arlo.cworth.org (Postfix) with ESMTP id 0B5B86DE0173\r
+ for <notmuch@notmuchmail.org>; Wed, 3 Aug 2016 10:33:13 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at cworth.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -0.911\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-0.911 tagged_above=-999 required=5 tests=[AWL=0.111,\r
+ DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1,\r
+ RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.211, SPF_PASS=-0.001,\r
+ T_RP_MATCHES_RCVD=-0.01] autolearn=disabled\r
+Received: from arlo.cworth.org ([127.0.0.1])\r
+ by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024)\r
+ with ESMTP id jVG0EWLfNSYM for <notmuch@notmuchmail.org>;\r
+ Wed, 3 Aug 2016 10:33:05 -0700 (PDT)\r
+Received: from mail-pf0-f170.google.com (mail-pf0-f170.google.com\r
+ [209.85.192.170])\r
+ by arlo.cworth.org (Postfix) with ESMTPS id F15FC6DE0005\r
+ for <notmuch@notmuchmail.org>; Wed, 3 Aug 2016 10:33:04 -0700 (PDT)\r
+Received: by mail-pf0-f170.google.com with SMTP id y134so79450072pfg.0\r
+ for <notmuch@notmuchmail.org>; Wed, 03 Aug 2016 10:33:04 -0700 (PDT)\r
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\r
+ s=20120113;\r
+ h=from:to:subject:in-reply-to:references:user-agent:date:message-id\r
+ :mime-version; bh=yh/CEp5Ku8L0yrypSjbljIUdejWE4ACzFOWfU6nqXE0=;\r
+ b=OHGL4vdBM5sK27xAPSfWezBKtmRSLLSQxA2qycS4ssterFfPZ0t8cbBJMr9zbfTMG/\r
+ eJZfmTdgAFi676h32c2LhoJp0BRBIgyiqbDRA8E1BzYL34gn51jyUyCpRqKA9YJ8pon3\r
+ n26V/dA7q8Kg8fjOsVGqCA+c8hbTv+4z+NQHO6OmBebB6KPp+henIRLa7v+Qed6M2Fo4\r
+ CID5805X4vpuMRzzGLVrxmYXPF/Itzpmk0gjb5G+8NzlC0P2oqbdVe414xaekx7GS1ip\r
+ Nn1dYl5FGAPRArhqtk8XQxF5yxD9r3b1K3rBrSrwmyK0onXfMAw6N3a/XfhppwDvPSYU +2lg==\r
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;\r
+ d=1e100.net; s=20130820;\r
+ h=x-gm-message-state:from:to:subject:in-reply-to:references\r
+ :user-agent:date:message-id:mime-version;\r
+ bh=yh/CEp5Ku8L0yrypSjbljIUdejWE4ACzFOWfU6nqXE0=;\r
+ b=huNZKMwkO/vPQ++vIMF/HtqGjdWrf+Gz4oS5/ZX6yYxEQIhPCDqb7J76N4l+mv2gDL\r
+ sISFk8NMEFJq4jUOJhCXIjHhg8cQBt36uI/8/M+quUN/oqdpoD60tw3XZft0qk0xcDY3\r
+ 5yF/B2s/2ksGB7rV4B9C1HCP9E/OlBmNFQ/GyDRro/QD94pE5aBYFSbeAs0d6sqRI6Wj\r
+ ysK8Hq1gD13VHDBIvIJA8dKjr5SQ85VyfFPp7wkfeK95/Y33Oh+1RABM5mvt5jtqI9bO\r
+ bZC3HzH17+zyRrGVGOTNoU1Oc9dfpKT+9Rx2IBIG+tBwuXWZSD2ZxQat1hNzUtCNqN1o\r
+ zCaA==\r
+X-Gm-Message-State:\r
+ AEkoousFI4ye+l7XDJDTM9kBIxFH8gwyFXVX0CLSDeJc8WwchMahZqfs0EAcZ63t7h0nOlje\r
+X-Received: by 10.98.147.156 with SMTP id r28mr96546918pfk.154.1470245583709; \r
+ Wed, 03 Aug 2016 10:33:03 -0700 (PDT)\r
+Received: from marmstrong-linux.kir.corp.google.com\r
+ ([2620:0:1008:11:c0a0:ba91:a737:fbef])\r
+ by smtp.gmail.com with ESMTPSA id h125sm14102391pfg.54.2016.08.03.10.33.02\r
+ (version=TLS1_2 cipher=AES128-SHA bits=128/128);\r
+ Wed, 03 Aug 2016 10:33:02 -0700 (PDT)\r
+From: Matt Armstrong <marmstrong@google.com>\r
+To: David Bremner <david@tethera.net>, notmuch@notmuchmail.org\r
+Subject: Re: notmuch and "mute" -- useful to anyone?\r
+In-Reply-To: <87invivm2y.fsf@maritornes.cs.unb.ca>\r
+References: <qf5vazjjciq.fsf@marmstrong-linux.kir.corp.google.com>\r
+ <87invivm2y.fsf@maritornes.cs.unb.ca>\r
+User-Agent: Notmuch/0.21 (https://notmuchmail.org) Emacs/24.3.1\r
+ (x86_64-pc-linux-gnu)\r
+Date: Wed, 03 Aug 2016 10:33:01 -0700\r
+Message-ID: <qf5fuqlkbaq.fsf@marmstrong-linux.kir.corp.google.com>\r
+MIME-Version: 1.0\r
+Content-Type: text/plain\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.20\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+ <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <https://notmuchmail.org/mailman/options/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch/>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <https://notmuchmail.org/mailman/listinfo/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Wed, 03 Aug 2016 17:33:13 -0000\r
+\r
+David Bremner <david@tethera.net> writes:\r
+\r
+> Matt Armstrong <marmstrong@google.com> writes:\r
+>\r
+>> Is anyone else interested in Gmail-like "mute" support in notmuch.el?\r
+>> If so, I can think about polishing the below off and adding it to\r
+>> notmuch.\r
+>>\r
+>> I've managed to implement Gmail's "mute" in notmuch as follows in my\r
+>> notmuch-post-new:\r
+>>\r
+>> ----------------------------------------------------------------------\r
+>> # Unmute all threads with new messages sent to me.\r
+>> notmuch search --output=threads tag:new AND tag:me | \\r
+>> xargs --no-run-if-empty notmuch tag -muted --\r
+>>\r
+>> # Remove all muted threads from the inbox and mark every message in them\r
+>> # muted. Ideally this would be atomic with the above.\r
+>> notmuch search --output=threads tag:muted | \\r
+>> xargs --no-run-if-empty notmuch tag -inbox +muted --\r
+>> ----------------------------------------------------------------------\r
+>\r
+> See also the example of https://notmuchmail.org/excluding/\r
+>\r
+> This kind of thing is what message exclusion is invented for.\r
+>\r
+> I guess you have to adjust to get precisely the semantics you want where\r
+> messages specifically to you are not muted.\r
+\r
+"mute" is a bit odd. It is essentially "new messages in this thread\r
+skip the inbox". It is a property of a thread, not a message.\r
+\r
+It has little to do with excluding messages from arbitrary searches. In\r
+particular, muted threads should show up in normal free text searches.\r
+I don't think message exclusion is the right mechanism.\r
+\r
+The spec is: when a message arrives,\r
+ if it is "to me" unmute any thread it is part of\r
+ otherwise if it is in a muted thread, avoid tagging it "inbox"\r
+\r
+This is a little bit hard to deal with in a the notmuch model, which\r
+deals more naturally with mechanisms that tag individual messages and\r
+handles threading as a post-search message gathering step (as far as I\r
+can tell).\r
+\r
+I'm not claiming that what I've got is optimal -- it feels like a hack\r
+to me, but is the best I came up with.\r