[PATCH v4 5/5] notmuch-emacs-mua: do not create a frame by default with --client
authorJani Nikula <jani@nikula.org>
Sat, 15 Aug 2015 09:05:15 +0000 (12:05 +0300)
committerW. Trevor King <wking@tremily.us>
Sat, 20 Aug 2016 21:49:21 +0000 (14:49 -0700)
50/9ca0866dbe5591003ab8bd25189bfb33733c27 [new file with mode: 0644]

diff --git a/50/9ca0866dbe5591003ab8bd25189bfb33733c27 b/50/9ca0866dbe5591003ab8bd25189bfb33733c27
new file mode 100644 (file)
index 0000000..f47e2b5
--- /dev/null
@@ -0,0 +1,163 @@
+Return-Path: <jani@nikula.org>\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 C01E06DE1A3A\r
+ for <notmuch@notmuchmail.org>; Sat, 15 Aug 2015 02:05:36 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at cworth.org\r
+X-Amavis-Alert: BAD HEADER SECTION, Duplicate header field: "References"\r
+X-Spam-Flag: NO\r
+X-Spam-Score: -0.126\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=-0.126 tagged_above=-999 required=5 tests=[AWL=0.594,\r
+  RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01]\r
+ 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 sJ5hIBbdlHLx for <notmuch@notmuchmail.org>;\r
+ Sat, 15 Aug 2015 02:05:35 -0700 (PDT)\r
+Received: from mail-wi0-f182.google.com (mail-wi0-f182.google.com\r
+ [209.85.212.182])\r
+ by arlo.cworth.org (Postfix) with ESMTPS id 29A506DE1A1C\r
+ for <notmuch@notmuchmail.org>; Sat, 15 Aug 2015 02:05:21 -0700 (PDT)\r
+Received: by wicne3 with SMTP id ne3so35939740wic.0\r
+ for <notmuch@notmuchmail.org>; Sat, 15 Aug 2015 02:05:19 -0700 (PDT)\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:cc:subject:date:message-id:in-reply-to\r
+ :references:in-reply-to:references;\r
+ bh=xzaayMHM26NsqHwVFkIeSFyM+hUzgiHOcOBsNHoClw0=;\r
+ b=Dsr3h9yZ4sTYJ6KFqUQgtA67pOqpyO1mcRqMaryDqxBRT8SVWtIuRQPR0FENgCwOCu\r
+ AT9JdsmjobaGifaocgM2DTPjFqynBZwyuvKl3zwa21CqUCLHOFX+aFUTxe2d+15/RxVx\r
+ JbJgydJLNZ2y5Cd0FiyjfZ6VAhxNIw7FcQk52RbTOjmjs1pK+cDc1ASWyvXMKe2LlbuN\r
+ AtMyanXWGTkjne3PLlUI+ktVelH2RbBo11cU08Awp0k1NfNJx4YFnsEOlR33jsePvr+X\r
+ MAbG5Ifxp22mv3tVNQ33utvDJSBFHbBAgkXj/xhhdGLBrDvum6aXZ4pAUzMhxoLO/qn4\r
+ fDIA==\r
+X-Gm-Message-State:\r
+ ALoCoQkFhTlZ3WX/uUufUdPpmaSUm1f4y+JCmKsS9E4rh+Xw8tje0sKivI0ECwh6EKzhSNs5K/5V\r
+X-Received: by 10.194.122.200 with SMTP id lu8mr8124032wjb.83.1439629519716;\r
+ Sat, 15 Aug 2015 02:05:19 -0700 (PDT)\r
+Received: from localhost (mobile-access-bcee4f-131.dhcp.inet.fi.\r
+ [188.238.79.131])\r
+ by smtp.gmail.com with ESMTPSA id kb1sm12021350wjc.24.2015.08.15.02.05.18\r
+ (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\r
+ Sat, 15 Aug 2015 02:05:19 -0700 (PDT)\r
+From: Jani Nikula <jani@nikula.org>\r
+To: notmuch@notmuchmail.org\r
+Subject: [PATCH v4 5/5] notmuch-emacs-mua: do not create a frame by default\r
+ with --client\r
+Date: Sat, 15 Aug 2015 12:05:15 +0300\r
+Message-Id:\r
+ <455026447d3f75b1038ac11cebe734431604be9d.1439629384.git.jani@nikula.org>\r
+X-Mailer: git-send-email 2.1.4\r
+In-Reply-To: <cover.1439629384.git.jani@nikula.org>\r
+References: <cover.1439629384.git.jani@nikula.org>\r
+In-Reply-To: <cover.1439629384.git.jani@nikula.org>\r
+References: <cover.1439629384.git.jani@nikula.org>\r
+Cc: Tomi Ollila <tomi.ollila@iki.fi>\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.18\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+ <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://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: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Sat, 15 Aug 2015 09:05:36 -0000\r
+\r
+Make the default behaviour for --client the same as emacsclient\r
+default: do not create a new frame. Add a new option --create-frame,\r
+passing the same option to emacsclient to create a frame.\r
+\r
+---\r
+\r
+v2: fix killing frame with --create-frame\r
+\r
+v3: fix --create-frame w/o --client parameter check\r
+\r
+v4: fix kill terminal logic, document behaviour with daemon mode\r
+---\r
+ doc/man1/notmuch-emacs-mua.rst |  6 ++++++\r
+ notmuch-emacs-mua              | 14 ++++++++++----\r
+ 2 files changed, 16 insertions(+), 4 deletions(-)\r
+\r
+diff --git a/doc/man1/notmuch-emacs-mua.rst b/doc/man1/notmuch-emacs-mua.rst\r
+index 89a2fead17b1..c3689eb82c8a 100644\r
+--- a/doc/man1/notmuch-emacs-mua.rst\r
++++ b/doc/man1/notmuch-emacs-mua.rst\r
+@@ -45,6 +45,12 @@ Supported options for **notmuch-emacs-mua** include\r
+         Automatically start Emacs in daemon mode, if the Emacs server\r
+         is not running. Applicable with ``--client``.\r
\r
++    ``--create-frame``\r
++        Create a new frame instead of trying to use the current Emacs\r
++        frame. Applicable with ``--client``. This will be required\r
++        when Emacs is running (or automatically started with\r
++        ``--auto-daemon``) in daemon mode.\r
++\r
+     ``--print``\r
+         Output the resulting elisp to stdout instead of evaluating it.\r
\r
+diff --git a/notmuch-emacs-mua b/notmuch-emacs-mua\r
+index ac03a4a60d56..b51d8d0e2c5b 100755\r
+--- a/notmuch-emacs-mua\r
++++ b/notmuch-emacs-mua\r
+@@ -37,11 +37,10 @@ PRINT_ONLY=\r
+ NO_WINDOW=\r
+ USE_EMACSCLIENT=\r
+ AUTO_DAEMON=\r
+-CREATE_FRAME="-c"\r
++CREATE_FRAME=\r
\r
+ # The crux of it all: construct an elisp progn and eval it.\r
+ ELISP="(prog1 'done (require 'notmuch) (notmuch-mua-new-mail)"\r
+-ELISP="${ELISP} (setq message-exit-actions (list #'save-buffers-kill-terminal))"\r
\r
+ # Short options compatible with mutt(1).\r
+ while getopts :s:c:b:i:h opt; do\r
+@@ -65,7 +64,7 @@ while getopts :s:c:b:i:h opt; do\r
+                   opt=${opt%%=*}\r
+                   ;;\r
+               # Long options without arguments.\r
+-              --help|--print|--no-window-system|--client|--auto-daemon)\r
++              --help|--print|--no-window-system|--client|--auto-daemon|--create-frame)\r
+                   ;;\r
+               *)\r
+                   echo "$0: unknown long option ${opt}, or argument mismatch." >&2\r
+@@ -103,7 +102,6 @@ while getopts :s:c:b:i:h opt; do\r
+           ;;\r
+       --no-window-system)\r
+           NO_WINDOW="-nw"\r
+-          CREATE_FRAME=\r
+           ;;\r
+       --client)\r
+           USE_EMACSCLIENT="yes"\r
+@@ -111,6 +109,9 @@ while getopts :s:c:b:i:h opt; do\r
+       --auto-daemon)\r
+           AUTO_DAEMON="--alternate-editor="\r
+           ;;\r
++      --create-frame)\r
++          CREATE_FRAME="-c"\r
++          ;;\r
+       *)\r
+           # We should never end up here.\r
+           echo "$0: internal error (option ${opt})." >&2\r
+@@ -128,6 +129,11 @@ for arg; do\r
+     ELISP="${ELISP} (message-goto-to) (insert \"${arg}, \")"\r
+ done\r
\r
++# Kill the terminal/frame if we're creating one.\r
++if [ -z "$USE_EMACSCLIENT" -o -n "$CREATE_FRAME" -o -n "$NO_WINDOW" ]; then\r
++    ELISP="${ELISP} (setq message-exit-actions (list #'save-buffers-kill-terminal))"\r
++fi\r
++\r
+ # End progn.\r
+ ELISP="${ELISP})"\r
\r
+-- \r
+2.1.4\r
+\r