unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: Jani Nikula <jani@nikula.org>
To: notmuch@notmuchmail.org
Cc: Tomi Ollila <tomi.ollila@iki.fi>
Subject: [PATCH v4 4/5] notmuch-emacs-mua: add --auto-daemon option to start Emacs daemon as needed
Date: Sat, 15 Aug 2015 12:05:14 +0300	[thread overview]
Message-ID: <ed5cc25f2dfb978192f69c7f458771115381c359.1439629384.git.jani@nikula.org> (raw)
In-Reply-To: <cover.1439629384.git.jani@nikula.org>
In-Reply-To: <cover.1439629384.git.jani@nikula.org>

Automatically starting Emacs in daemon mode if the Emacs server is not
running is a matter of preference better not hard coded in
notmuch-emacs-mua. Add an option to control the behaviour.
---
 doc/man1/notmuch-emacs-mua.rst | 9 +++++++--
 notmuch-emacs-mua              | 8 ++++++--
 2 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/doc/man1/notmuch-emacs-mua.rst b/doc/man1/notmuch-emacs-mua.rst
index 7c2f5c24f1c0..89a2fead17b1 100644
--- a/doc/man1/notmuch-emacs-mua.rst
+++ b/doc/man1/notmuch-emacs-mua.rst
@@ -37,8 +37,13 @@ Supported options for **notmuch-emacs-mua** include
         Even if a window system is available, use the current terminal.
 
     ``--client``
-        Use **emacsclient**, rather than **emacs**. This will start
-        an Emacs daemon process if necessary.
+        Use **emacsclient**, rather than **emacs**. For
+        **emacsclient** to work, you need an already running Emacs
+        with a server, or use ``--auto-daemon``.
+
+    ``--auto-daemon``
+        Automatically start Emacs in daemon mode, if the Emacs server
+        is not running. Applicable with ``--client``.
 
     ``--print``
         Output the resulting elisp to stdout instead of evaluating it.
diff --git a/notmuch-emacs-mua b/notmuch-emacs-mua
index 1f088c42feb9..ac03a4a60d56 100755
--- a/notmuch-emacs-mua
+++ b/notmuch-emacs-mua
@@ -36,6 +36,7 @@ EMACSCLIENT=${EMACSCLIENT-emacsclient}
 PRINT_ONLY=
 NO_WINDOW=
 USE_EMACSCLIENT=
+AUTO_DAEMON=
 CREATE_FRAME="-c"
 
 # The crux of it all: construct an elisp progn and eval it.
@@ -64,7 +65,7 @@ while getopts :s:c:b:i:h opt; do
 		    opt=${opt%%=*}
 		    ;;
 		# Long options without arguments.
-		--help|--print|--no-window-system|--client)
+		--help|--print|--no-window-system|--client|--auto-daemon)
 		    ;;
 		*)
 		    echo "$0: unknown long option ${opt}, or argument mismatch." >&2
@@ -107,6 +108,9 @@ while getopts :s:c:b:i:h opt; do
 	--client)
 	    USE_EMACSCLIENT="yes"
 	    ;;
+	--auto-daemon)
+	    AUTO_DAEMON="--alternate-editor="
+	    ;;
 	*)
 	    # We should never end up here.
 	    echo "$0: internal error (option ${opt})." >&2
@@ -134,7 +138,7 @@ fi
 
 if [ -n "$USE_EMACSCLIENT" ]; then
     # Evaluate the progn.
-    exec ${EMACSCLIENT} ${NO_WINDOW} ${CREATE_FRAME} -a '' --eval "${ELISP}"
+    exec ${EMACSCLIENT} ${NO_WINDOW} ${CREATE_FRAME} ${AUTO_DAEMON} --eval "${ELISP}"
 else
     exec ${EMACS} ${NO_WINDOW} --eval "${ELISP}"
 fi
-- 
2.1.4

  parent reply	other threads:[~2015-08-15  9:05 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-15  9:05 [PATCH v4 0/5] notmuch-emacs-mua updates Jani Nikula
2015-08-15  9:05 ` [PATCH v4 1/5] man: clean up notmuch-emacs-mua man page Jani Nikula
2015-08-15  9:05 ` [PATCH v4 2/5] notmuch-emacs-mua: support --no-window-system also for non-client Jani Nikula
2015-08-15  9:05 ` [PATCH v4 3/5] notmuch-emacs-mua: move --client option handling around Jani Nikula
2015-08-15  9:05 ` Jani Nikula [this message]
2015-08-15  9:05 ` [PATCH v4 5/5] notmuch-emacs-mua: do not create a frame by default with --client Jani Nikula
2015-08-26 19:03   ` Tomi Ollila
2015-08-28 18:22     ` Jani Nikula
2015-08-28 19:18       ` Tomi Ollila
2015-09-28 10:59     ` David Bremner
2015-09-29 19:18       ` Tomi Ollila
2015-09-30  6:13         ` Tomi Ollila
2015-09-29 11:28 ` [PATCH v4 0/5] notmuch-emacs-mua updates David Bremner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://notmuchmail.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ed5cc25f2dfb978192f69c7f458771115381c359.1439629384.git.jani@nikula.org \
    --to=jani@nikula.org \
    --cc=notmuch@notmuchmail.org \
    --cc=tomi.ollila@iki.fi \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://yhetil.org/notmuch.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).