On Tue, Sep 29 2015, Tomi Ollila <tomi.ollila@iki.fi> wrote: > On Mon, Sep 28 2015, David Bremner <david@tethera.net> wrote: > >> Tomi Ollila <tomi.ollila@iki.fi> writes: >> >> >>> if [ -n "$AUTO_DAEMON" -a -z "$CREATE_FRAME" ]; then >>> echo "$0: --auto-daemon is only applicable with --create-frame." >&2 >>> exit 1 >>> fi >>> >>> without this one may execute ./notmuch-emacs-mua --client --auto-daemon >>> which yields starting emacs in daemon mode (in this example it is expected >>> emacs is not running; otherwise --auto-daemon has no use in this example) >>> -- but no ui to that newly-running emacs is provided. Similar behaviour >>> can be observed by the following >>> >> >> I think what you propose is fine for a followup patch; note that the >> scenario you worry about also needs --client to be a problem. Apparently >> nothing is uncontroversial here, but if auto-daemon only works with >> create frame, then perhaps the followup would be to have auto-daemon >> imply create-frame > > Without --client --auto-daemon is no-op (as it is no-op in case emacs > server is already running). I am (only) concerned about user experience > when one runs --client --auto-daemon and user gets nothing (i.e. emacs > server is running in the background w/o any clients connected to it. > > We could make --auto-daemon imply --create-frame, but then > > ./notmuch-emacs-mua --auto-daemon (i.e. w/o --client) starts new mail > compose window to separate frame (even though user did not request > it w/ --create-frame) Hmm, a few more tests. it now looks like in case the command line is ./notmuch-emacs-mua --client --auto-daemon Then the --create-frame should be implied. w/o --client --create-frame would ... well, create that (only) emacs frame anyways... oh, the combinations; for reference I just paste from my history... 1 07:57 0:01 ccd notmuch 2 07:57 0:06 git pull --rebase 3 07:57 0:01 git log 4 07:57 0:04 tig 5 07:58 0:10 ./notmuch-emacs-mua --auto-daemon 6 07:58 0:00 ps ax 8 07:58 0:00 emacs & 9 07:58 0:07 ./notmuch-emacs-mua --auto-daemon 10 07:59 0:01 ./notmuch-emacs-mua --client --auto-daemon 12 08:01 0:03 ./notmuch-emacs-mua --auto-daemon 13 08:02 0:00 ps ax 14 08:02 0:00 ls /tmp/emacs1001 15 08:02 0:00 ./notmuch-emacs-mua -nw --auto-daemon 16 08:02 0:04 DISPLAY= ./notmuch-emacs-mua --auto-daemon 17 08:02 0:05 tig 18 08:03 0:02 DISPLAY= ./notmuch-emacs-mua --auto-daemon 19 08:04 0:01 DISPLAY= ./notmuch-emacs-mua --client --auto-daemon 20 08:04 0:00 ps ax 21 08:04 0:00 kill 1860 22 08:04 0:00 ps ax 23 08:06 0:00 ./notmuch-emacs-mua --client --auto-daemon 24 08:06 0:00 ps ax 25 08:06 0:00 kill 1875 26 08:06 0:00 ./notmuch-emacs-mua --client --auto-daemon 27 08:06 0:00 ps ax 28 08:06 0:00 kill 1926 29 08:06 0:06 ./notmuch-emacs-mua --client --auto-daemon --create-frame 30 08:07 0:28 ./notmuch-emacs-mua --auto-daemon --create-frame 31 08:08 0:00 ps x 32 08:08 0:00 h So. I'm going w/ the suggestion making --auto-daemon imply --create-frame > > (actually I already did the 'imply' option (easy, one line in script, > another in namual), just that testing it gave this thought... > > ... therefore I'd rather make ./notmuch-emacs-mua --auto-daemon > spit an error and exit -- but I can be convinced otherwise :) > > Tomi