From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id OCkHH1aaAWMmCwEAbAwnHQ (envelope-from ) for ; Sun, 21 Aug 2022 04:37:10 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id gM4oH1aaAWN88gAA9RJhRA (envelope-from ) for ; Sun, 21 Aug 2022 04:37:10 +0200 Received: from mail.notmuchmail.org (yantan.tethera.net [IPv6:2a01:4f9:c011:7a79::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id EBED75FBD for ; Sun, 21 Aug 2022 04:37:09 +0200 (CEST) Received: from yantan.tethera.net (localhost [127.0.0.1]) by mail.notmuchmail.org (Postfix) with ESMTP id D18545F3E2; Sun, 21 Aug 2022 02:28:20 +0000 (UTC) Received: from mail-pj1-x102a.google.com (mail-pj1-x102a.google.com [IPv6:2607:f8b0:4864:20::102a]) by mail.notmuchmail.org (Postfix) with ESMTPS id 2380F5F365 for ; Sun, 21 Aug 2022 02:28:18 +0000 (UTC) Received: by mail-pj1-x102a.google.com with SMTP id t2-20020a17090a4e4200b001f21572f3a4so8254390pjl.0 for ; Sat, 20 Aug 2022 19:28:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:content-disposition:mime-version :references:subject:to:from:message-id:date:from:to:cc; bh=X6PQFx3PS+lf0Q9CmwT2gIECz9ZNH2tajRoJAljiu+g=; b=YamqQKTvSsQCpHs/rBdLm2pvmcmmnQGjoaqKUDLg9RUW3i/1D4B82BRqxDgZ6uRp6x a7UgUnNzLR6gpRdao3OuzXMV5x2NiuLtpXLi7aFNAXBI5RNXFE1hAiEqz2QZWKcN1v7q FZphFoCY12GQNInu8dLgPGsmzF0GAQDSKl39VSTyB2Lfhd7RqT0WpWdIRejQR9k46axo AkODfLGAVEJevXThEbPe/Iw9CaDK+Ej9Nt7gFc0Wjlco+WO8Ee/Xszxgu61hgRUX29By 8O82cLRKukkWBRQvrc9IUcIWDL8f5gxZw/kmqcY+ACE8NnkvIZJqMvRTYTT7xURGHbbF 0A0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:content-disposition:mime-version :references:subject:to:from:message-id:date:x-gm-message-state:from :to:cc; bh=X6PQFx3PS+lf0Q9CmwT2gIECz9ZNH2tajRoJAljiu+g=; b=kZp7r6IiE3PaWcWQdjmX01605l7lS+mEzvQVehqb48HeI8W3WyRFPAEFdEEvP7akyf wU4byb70ZWnvX7v9ZWjktgBvWeoAt5z1tw/4hFnLnuGm5VHLcbm+m44Ba95mfZzYwNQ6 p7I41KN+/OZH2Wc1TZo867GtTq2Gpma5Y4EG+mxZMjMDT8BHR/pjLNq8wH3gQb7uXvqU Us6T31OGaCjR7eUSvjUXxRBxbybzhNNgYW5oH2LbX+QKk40pzmAzA4f40WJLPYqbr8kt VDuLCpVP8fo03vzBob0B8HvoDV2WYTUSPLuNn+DLliElp3RKJZKf7zIZpWidq2UqOSgG aUCA== X-Gm-Message-State: ACgBeo27uDNJN2Cfq9yoQWbbUOPkxVATI6cXr7dFtwxwJbF0sO8bFOE5 ofHRWu3iFxr96FhaqzM4MLB6NUTR3ns= X-Google-Smtp-Source: AA6agR47cj6PLQfUXW+HCXSN6Vooujk6y/u/OrKK98LHfxMoUD2WMuCtxNFxlhjyMKZC3JWPmj5qVQ== X-Received: by 2002:a17:902:aa41:b0:16f:85be:f348 with SMTP id c1-20020a170902aa4100b0016f85bef348mr14136547plr.15.1661048895955; Sat, 20 Aug 2022 19:28:15 -0700 (PDT) Received: from localhost ([115.69.5.77]) by smtp.gmail.com with ESMTPSA id g29-20020aa796bd000000b00535e46171c1sm5229292pfk.117.2022.08.20.19.28.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 20 Aug 2022 19:28:15 -0700 (PDT) Date: Sun, 21 Aug 2022 12:28:11 +1000 Message-ID: <20220821122811.GH1593@gmail.com> From: Peter Wang To: notmuch@notmuchmail.org Subject: [announce] Bower 1.0 References: MIME-Version: 1.0 Content-Disposition: inline Message-ID-Hash: CAE6A4JDVWNKZS3DXPIA2IIKT77LGQ72 X-Message-ID-Hash: CAE6A4JDVWNKZS3DXPIA2IIKT77LGQ72 X-MailFrom: novalazy@gmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-notmuch.notmuchmail.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.3 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: DE ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1661049430; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: references:references:list-id:list-help:list-owner:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=m9GjoMmPZcro5HA/Eu8GEn9HEn2JyJ4Dh4RqQstVxsY=; b=XhpbMOVcgWlksuS6FcTuguXlVUXbTmBnBz2L3tLngFktISgLfiv6r4I7c/iNeEZ/Y9jp3y P7ch5CpZjiZODxkdx3CVYB/2TNNjshbeI5UiWhUGeYxbpuIZZqVq5iRRrjaYtML1rPcu3E 2aKGSUm4XkJYWCxi3/ESlMPKDahcnDm1vTqN2wrXPcOSOlJyTHRVAC1MdW0PspPCQJ7mVb uhae/DAsJx2akfCCz891Ot67dYxYUGKGj87Dpepd6eSgkk75z0QujP2qlFvm8AWW6vUC1+ JrDhJZnaQg+7wtNJ7GG1yvZ77Oa1leUheqF/t8pZIhygTCA5SAqBDit9OnTPwQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1661049430; a=rsa-sha256; cv=none; b=MmK+L+X5yERLX0TWm9A9/uDyC5VZA9enREPlkGXfqYoJk6C7VRhgVEJo4M+KvqdLlUl328 3bolCwzWPzKQ/Yz2i98GdocQoCt1G8WUsJJw5sBef2I5av99vGg/xeBwsx7dKMgklJ6kBz 5WqdEO6rDBqDZuuCGd8XSnwA9P0gjh7MvMs8YV0jmr9AUzlS6nTADimYryJvZ/Si3ct0cb 9QjNVy+qqzkarB8I6bJ7/fwDh9aLqllnKSt4XVL4o6gXBYMZ63OObp03aZCYxhCPGUalNI pIOAjRgB7fc6t6xhdKtk9wlXPoGrxNk7Z+dRAyETFPXz/iEj3K4BtMtVeBDLOg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=gmail.com header.s=20210112 header.b=YamqQKTv; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of notmuch-bounces@notmuchmail.org designates 2a01:4f9:c011:7a79::1 as permitted sender) smtp.mailfrom=notmuch-bounces@notmuchmail.org X-Migadu-Spam-Score: 6.82 Authentication-Results: aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=gmail.com header.s=20210112 header.b=YamqQKTv; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of notmuch-bounces@notmuchmail.org designates 2a01:4f9:c011:7a79::1 as permitted sender) smtp.mailfrom=notmuch-bounces@notmuchmail.org X-Migadu-Queue-Id: EBED75FBD X-Spam-Score: 6.82 X-Migadu-Scanner: scn1.migadu.com X-TUID: j7nj96MSlmIA Hi, Bower is a curses frontend for the Notmuch email system. I wrote it for me, but you might like it, too. https://github.com/wangp/bower Bower 1.0 (2022-08-21) ====================== The first commit to this project was made 11 years ago. Let's call this v1.0. * index: Use Alt+Enter to open a thread in "obscured" mode. Messages that did not match the search query are displayed differently and not interactable. * thread/pager: Use 'M' key to toggle obscured mode. * Allow omitting "+" prefix when entering tag additions. * Support tag editing on compose screen. * Inherit tags from message being replied to or forwarded. * Also apply tags to sent message when using a custom post_sendmail action. * Use domain of From address for right part of Message-ID. * Expand ~ in config values. * Expand ~ in interactively entered commands. * config: Add ui.default_save_directory option. * Remove lynx as the default HTML-to-text filter. * Improve search string parser. * Fix bug where "body:(foo bar)" was unparsed as "body: ( foo bar )". * Restrict places in search string where "~" names a Bower search term alias to after whitespace or open parenthesis/brace. * Accept mailto: argument on command line. * Accept --help and --version options. BTW, you may also be interested in my IMAP/Maildir synchronisation tool: https://github.com/wangp/pushpull It doesn't synchronise notmuch tags, though. Peter