[PATCH v4 5/5] notmuch-emacs-mua: do not create a frame by default with --client

Tomi Ollila tomi.ollila at iki.fi
Tue Sep 29 23:13:30 PDT 2015


On Tue, Sep 29 2015, Tomi Ollila <tomi.ollila at iki.fi> wrote:

> On Mon, Sep 28 2015, David Bremner <david at tethera.net> wrote:
>
>> Tomi Ollila <tomi.ollila at 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


More information about the notmuch mailing list