On Mon, 21 Nov 2016, Jani Nikula <jani@nikula.org> wrote: > On Mon, 21 Nov 2016, Keith Amidon <camalot@picnicpark.org> wrote: >> However, this did not seem to work when I tried it out in my gnome >> session. I'm pretty sure creating two separate desktop files >> (duplicating some of the fields) would work. > > I see three options here: > > 1) Just always go to message composition directly (meh) > > 2) Add two desktop files (meh) > > 3) Have notmuch-emacs-mua call (notmuch-hello) if there are no arguments > (Tomi's suggestion). I like this because notmuch-emacs-mua also does > (require 'notmuch). > > 4) Same as 3) but only do it if a new --hello parameter is given but > there are no other arguments. This is to not change notmuch-emacs-mua > default behaviour. > > I'd go for either 3 or 4. This is what 4) would look like: diff --git a/emacs/notmuch-emacs-mua b/emacs/notmuch-emacs-mua index 98103972f400..a521497784ec 100755 --- a/emacs/notmuch-emacs-mua +++ b/emacs/notmuch-emacs-mua @@ -40,6 +40,7 @@ AUTO_DAEMON= CREATE_FRAME= ELISP= MAILTO= +HELLO= # Short options compatible with mutt(1). while getopts :s:c:b:i:h opt; do @@ -63,7 +64,7 @@ while getopts :s:c:b:i:h opt; do opt=${opt%%=*} ;; # Long options without arguments. - --help|--print|--no-window-system|--client|--auto-daemon|--create-frame) + --help|--print|--no-window-system|--client|--auto-daemon|--create-frame|--hello) ;; *) echo "$0: unknown long option ${opt}, or argument mismatch." >&2 @@ -112,6 +113,9 @@ while getopts :s:c:b:i:h opt; do --create-frame) CREATE_FRAME="-c" ;; + --hello) + HELLO=1 + ;; *) # We should never end up here. echo "$0: internal error (option ${opt})." >&2 @@ -146,6 +150,8 @@ if [ -n "${MAILTO}" ]; then exit 1 fi ELISP="(browse-url-mail \"${MAILTO}\")" +elif [ -z "${ELISP}" -a -n "${HELLO}" ]; then + ELISP="(notmuch)" else ELISP="(notmuch-mua-new-mail) ${ELISP}" fi