* [PATCH 0/8] improvements around notmuch-emacs-mua
@ 2016-11-03 20:37 Jani Nikula
2016-11-03 20:37 ` [PATCH 1/8] completion: complete notmuch emacs-mua Jani Nikula
` (7 more replies)
0 siblings, 8 replies; 15+ messages in thread
From: Jani Nikula @ 2016-11-03 20:37 UTC (permalink / raw)
To: notmuch
This series brings together a bunch of my previous patches [1][2][3],
and adds some new ones, to make notmuch-emacs-mua a first class notmuch
citizen.
Document it as 'notmuch emacs-mua'. Do bash completion. Install it as
part of notmuch-emacs. Have the desktop file use
notmuch-emacs-mua. Update the desktop file to handle mailto:
URIs. Install the desktop file as part of notmuch-emacs.
With these changes, you can configure your desktop environment (well,
tested on a bog standard Gnome on Debian stable) to use notmuch-emacs to
handle mailto: URIs. \o/
BR,
Jani.
[1] id:1477153459-5359-1-git-send-email-jani@nikula.org
[2] id:1478113767-25875-1-git-send-email-jani@nikula.org
[3] id:1478111914-21927-1-git-send-email-jani@nikula.org
Jani Nikula (8):
completion: complete notmuch emacs-mua
man: advertize notmuch-emacs-mua as notmuch emacs-mua subcommand
emacs: move notmuch-emacs-mua under emacs
build: install notmuch-emacs-mua with notmuch-emacs
notmuch.desktop: move under emacs as notmuch-emacs-mua.desktop
emacs/desktop: update to use notmuch-emacs-mua and handle mailto
build: install notmuch-emacs-mua.desktop file with emacs
build: update the desktop database after installing the desktop file
Makefile.local | 5 ----
completion/notmuch-completion.bash | 34 +++++++++++++++++++++-
configure | 13 +++++++++
doc/man1/notmuch-emacs-mua.rst | 4 +--
emacs/Makefile.local | 9 ++++++
notmuch-emacs-mua => emacs/notmuch-emacs-mua | 0
notmuch.desktop => emacs/notmuch-emacs-mua.desktop | 5 +++-
7 files changed, 61 insertions(+), 9 deletions(-)
rename notmuch-emacs-mua => emacs/notmuch-emacs-mua (100%)
rename notmuch.desktop => emacs/notmuch-emacs-mua.desktop (50%)
--
2.1.4
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 1/8] completion: complete notmuch emacs-mua
2016-11-03 20:37 [PATCH 0/8] improvements around notmuch-emacs-mua Jani Nikula
@ 2016-11-03 20:37 ` Jani Nikula
2016-11-03 20:37 ` [PATCH 2/8] man: advertize notmuch-emacs-mua as notmuch emacs-mua subcommand Jani Nikula
` (6 subsequent siblings)
7 siblings, 0 replies; 15+ messages in thread
From: Jani Nikula @ 2016-11-03 20:37 UTC (permalink / raw)
To: notmuch
With subcommand handling for external commands we can easily complete
'notmuch emacs-mua' using the existing completion system.
---
completion/notmuch-completion.bash | 34 +++++++++++++++++++++++++++++++++-
1 file changed, 33 insertions(+), 1 deletion(-)
diff --git a/completion/notmuch-completion.bash b/completion/notmuch-completion.bash
index 78047b5f424d..9e1f7bb74bbf 100644
--- a/completion/notmuch-completion.bash
+++ b/completion/notmuch-completion.bash
@@ -204,6 +204,38 @@ _notmuch_dump()
esac
}
+_notmuch_emacs_mua()
+{
+ local cur prev words cword split
+ _init_completion -s || return
+
+ $split &&
+ case "${prev}" in
+ --to|--cc|--bcc)
+ COMPREPLY=( $(compgen -W "`_notmuch_email to:${cur}`" -- ${cur}) )
+ return
+ ;;
+ --body)
+ _filedir
+ return
+ ;;
+ esac
+
+ ! $split &&
+ case "${cur}" in
+ -*)
+ local options="--subject= --to= --cc= --bcc= --body= --no-window-system --client --auto-daemon --create-frame --print --help"
+
+ compopt -o nospace
+ COMPREPLY=( $(compgen -W "$options" -- ${cur}) )
+ ;;
+ *)
+ COMPREPLY=( $(compgen -W "`_notmuch_email to:${cur}`" -- ${cur}) )
+ return
+ ;;
+ esac
+}
+
_notmuch_insert()
{
local cur prev words cword split
@@ -464,7 +496,7 @@ _notmuch_tag()
_notmuch()
{
- local _notmuch_commands="compact config count dump help insert new reply restore search address setup show tag"
+ local _notmuch_commands="compact config count dump help insert new reply restore search address setup show tag emacs-mua"
local arg cur prev words cword split
# require bash-completion with _init_completion
--
2.1.4
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 2/8] man: advertize notmuch-emacs-mua as notmuch emacs-mua subcommand
2016-11-03 20:37 [PATCH 0/8] improvements around notmuch-emacs-mua Jani Nikula
2016-11-03 20:37 ` [PATCH 1/8] completion: complete notmuch emacs-mua Jani Nikula
@ 2016-11-03 20:37 ` Jani Nikula
2016-11-03 20:37 ` [PATCH 3/8] emacs: move notmuch-emacs-mua under emacs Jani Nikula
` (5 subsequent siblings)
7 siblings, 0 replies; 15+ messages in thread
From: Jani Nikula @ 2016-11-03 20:37 UTC (permalink / raw)
To: notmuch
With subcommand handling for external commands we can now hide the
implementation detail of emacs-mua being a separate notmuch-emacs-mua
script.
---
doc/man1/notmuch-emacs-mua.rst | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/doc/man1/notmuch-emacs-mua.rst b/doc/man1/notmuch-emacs-mua.rst
index 651d00fa4eb8..b80aa5f9b2e5 100644
--- a/doc/man1/notmuch-emacs-mua.rst
+++ b/doc/man1/notmuch-emacs-mua.rst
@@ -5,7 +5,7 @@ notmuch-emacs-mua
SYNOPSIS
========
-**notmuch-emacs-mua** [options ...] [<to-address> ... | <mailto-url>]
+**notmuch** **emacs-mua** [options ...] [<to-address> ... | <mailto-url>]
DESCRIPTION
===========
@@ -13,7 +13,7 @@ DESCRIPTION
Start composing an email in the Notmuch Emacs UI with the specified
subject, recipients, and message body, or mailto: URL.
-Supported options for **notmuch-emacs-mua** include
+Supported options for **emacs-mua** include
``-h, --help``
Display help.
--
2.1.4
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 3/8] emacs: move notmuch-emacs-mua under emacs
2016-11-03 20:37 [PATCH 0/8] improvements around notmuch-emacs-mua Jani Nikula
2016-11-03 20:37 ` [PATCH 1/8] completion: complete notmuch emacs-mua Jani Nikula
2016-11-03 20:37 ` [PATCH 2/8] man: advertize notmuch-emacs-mua as notmuch emacs-mua subcommand Jani Nikula
@ 2016-11-03 20:37 ` Jani Nikula
2016-11-03 20:37 ` [PATCH 4/8] build: install notmuch-emacs-mua with notmuch-emacs Jani Nikula
` (4 subsequent siblings)
7 siblings, 0 replies; 15+ messages in thread
From: Jani Nikula @ 2016-11-03 20:37 UTC (permalink / raw)
To: notmuch
While the notmuch-emacs-mua script is a sort of cli command, it is
really a part of notmuch-emacs. Move it under the emacs directory.
---
notmuch-emacs-mua => emacs/notmuch-emacs-mua | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename notmuch-emacs-mua => emacs/notmuch-emacs-mua (100%)
diff --git a/notmuch-emacs-mua b/emacs/notmuch-emacs-mua
similarity index 100%
rename from notmuch-emacs-mua
rename to emacs/notmuch-emacs-mua
--
2.1.4
^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 4/8] build: install notmuch-emacs-mua with notmuch-emacs
2016-11-03 20:37 [PATCH 0/8] improvements around notmuch-emacs-mua Jani Nikula
` (2 preceding siblings ...)
2016-11-03 20:37 ` [PATCH 3/8] emacs: move notmuch-emacs-mua under emacs Jani Nikula
@ 2016-11-03 20:37 ` Jani Nikula
2016-11-03 20:37 ` [PATCH 5/8] notmuch.desktop: move under emacs as notmuch-emacs-mua.desktop Jani Nikula
` (3 subsequent siblings)
7 siblings, 0 replies; 15+ messages in thread
From: Jani Nikula @ 2016-11-03 20:37 UTC (permalink / raw)
To: notmuch
notmuch-emacs-mua is good enough to be installed with notmuch-emacs.
---
emacs/Makefile.local | 3 +++
1 file changed, 3 insertions(+)
diff --git a/emacs/Makefile.local b/emacs/Makefile.local
index 2d6aedbdfd5d..56b9714d91d7 100644
--- a/emacs/Makefile.local
+++ b/emacs/Makefile.local
@@ -27,6 +27,7 @@ $(dir)/notmuch-version.el: $(srcdir)/$(dir)/notmuch-version.el.tmpl
@sed -e 's/%AG%/Generated file (from $(<F)) -- do not edit!/' \
-e 's/%VERSION%/"$(VERSION)"/' $< > $@
+emacs_mua := $(dir)/notmuch-emacs-mua
emacs_images := \
$(srcdir)/$(dir)/notmuch-logo.png
@@ -83,5 +84,7 @@ ifeq ($(HAVE_EMACS),1)
endif
mkdir -p "$(DESTDIR)$(emacsetcdir)"
install -m0644 $(emacs_images) "$(DESTDIR)$(emacsetcdir)"
+ mkdir -p "$(DESTDIR)$(prefix)/bin/"
+ install $(emacs_mua) "$(DESTDIR)$(prefix)/bin"
CLEAN := $(CLEAN) $(emacs_bytecode) $(dir)/notmuch-version.el
--
2.1.4
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 5/8] notmuch.desktop: move under emacs as notmuch-emacs-mua.desktop
2016-11-03 20:37 [PATCH 0/8] improvements around notmuch-emacs-mua Jani Nikula
` (3 preceding siblings ...)
2016-11-03 20:37 ` [PATCH 4/8] build: install notmuch-emacs-mua with notmuch-emacs Jani Nikula
@ 2016-11-03 20:37 ` Jani Nikula
2016-11-03 20:37 ` [PATCH 6/8] emacs/desktop: update to use notmuch-emacs-mua and handle mailto Jani Nikula
` (2 subsequent siblings)
7 siblings, 0 replies; 15+ messages in thread
From: Jani Nikula @ 2016-11-03 20:37 UTC (permalink / raw)
To: notmuch
The notmuch.desktop file is part of notmuch-emacs. Move it under
emacs, and rename as notmuch-emacs-mua.desktop to reflect this.
---
Makefile.local | 5 -----
emacs/Makefile.local | 6 ++++++
notmuch.desktop => emacs/notmuch-emacs-mua.desktop | 0
3 files changed, 6 insertions(+), 5 deletions(-)
rename notmuch.desktop => emacs/notmuch-emacs-mua.desktop (100%)
diff --git a/Makefile.local b/Makefile.local
index d1b0585f2866..a9998d5b6890 100644
--- a/Makefile.local
+++ b/Makefile.local
@@ -333,11 +333,6 @@ ifeq ($(WITH_EMACS), 1)
endif
endif
-.PHONY: install-desktop
-install-desktop:
- mkdir -p "$(DESTDIR)$(desktop_dir)"
- desktop-file-install --mode 0644 --dir "$(DESTDIR)$(desktop_dir)" notmuch.desktop
-
SRCS := $(SRCS) $(notmuch_client_srcs)
CLEAN := $(CLEAN) notmuch notmuch-shared $(notmuch_client_modules)
CLEAN := $(CLEAN) version.stamp notmuch-*.tar.gz.tmp
diff --git a/emacs/Makefile.local b/emacs/Makefile.local
index 56b9714d91d7..76ba974c4065 100644
--- a/emacs/Makefile.local
+++ b/emacs/Makefile.local
@@ -28,6 +28,7 @@ $(dir)/notmuch-version.el: $(srcdir)/$(dir)/notmuch-version.el.tmpl
-e 's/%VERSION%/"$(VERSION)"/' $< > $@
emacs_mua := $(dir)/notmuch-emacs-mua
+emacs_mua_desktop := $(dir)/notmuch-emacs-mua.desktop
emacs_images := \
$(srcdir)/$(dir)/notmuch-logo.png
@@ -87,4 +88,9 @@ endif
mkdir -p "$(DESTDIR)$(prefix)/bin/"
install $(emacs_mua) "$(DESTDIR)$(prefix)/bin"
+.PHONY: install-desktop
+install-desktop:
+ mkdir -p "$(DESTDIR)$(desktop_dir)"
+ desktop-file-install --mode 0644 --dir "$(DESTDIR)$(desktop_dir)" $(emacs_mua_desktop)
+
CLEAN := $(CLEAN) $(emacs_bytecode) $(dir)/notmuch-version.el
diff --git a/notmuch.desktop b/emacs/notmuch-emacs-mua.desktop
similarity index 100%
rename from notmuch.desktop
rename to emacs/notmuch-emacs-mua.desktop
--
2.1.4
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 6/8] emacs/desktop: update to use notmuch-emacs-mua and handle mailto
2016-11-03 20:37 [PATCH 0/8] improvements around notmuch-emacs-mua Jani Nikula
` (4 preceding siblings ...)
2016-11-03 20:37 ` [PATCH 5/8] notmuch.desktop: move under emacs as notmuch-emacs-mua.desktop Jani Nikula
@ 2016-11-03 20:37 ` Jani Nikula
2016-11-21 11:34 ` David Bremner
2016-11-03 20:38 ` [PATCH 7/8] build: install notmuch-emacs-mua.desktop file with emacs Jani Nikula
2016-11-03 20:38 ` [PATCH 8/8] build: update the desktop database after installing the desktop file Jani Nikula
7 siblings, 1 reply; 15+ messages in thread
From: Jani Nikula @ 2016-11-03 20:37 UTC (permalink / raw)
To: notmuch
With the mailto: handling in notmuch-emacs-mua, we can update the
desktop file to advertize we can be set as the default application to
handle email. While at it, add GenericName and Comment to be more
informative.
---
emacs/notmuch-emacs-mua.desktop | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/emacs/notmuch-emacs-mua.desktop b/emacs/notmuch-emacs-mua.desktop
index f1600473bf60..93b16c9e7fa7 100644
--- a/emacs/notmuch-emacs-mua.desktop
+++ b/emacs/notmuch-emacs-mua.desktop
@@ -1,6 +1,9 @@
[Desktop Entry]
Name=Notmuch (emacs interface)
-Exec=emacs -f notmuch
+GenericName=Email Client
+Comment=Emacs based email client
+Exec=notmuch-emacs-mua %u
+MimeType=x-scheme-handler/mailto;
Icon=emblem-mail
Terminal=false
Type=Application
--
2.1.4
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 7/8] build: install notmuch-emacs-mua.desktop file with emacs
2016-11-03 20:37 [PATCH 0/8] improvements around notmuch-emacs-mua Jani Nikula
` (5 preceding siblings ...)
2016-11-03 20:37 ` [PATCH 6/8] emacs/desktop: update to use notmuch-emacs-mua and handle mailto Jani Nikula
@ 2016-11-03 20:38 ` Jani Nikula
2016-11-03 20:38 ` [PATCH 8/8] build: update the desktop database after installing the desktop file Jani Nikula
7 siblings, 0 replies; 15+ messages in thread
From: Jani Nikula @ 2016-11-03 20:38 UTC (permalink / raw)
To: notmuch
There is really no need to have a separate install target for the
desktop file. Just install the desktop file with emacs, with a
configure option to opt out.
---
configure | 13 +++++++++++++
emacs/Makefile.local | 5 ++---
2 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/configure b/configure
index 2a0ce9eb4156..009d33ab4f92 100755
--- a/configure
+++ b/configure
@@ -70,6 +70,7 @@ LIBDIR=
WITH_DOCS=1
WITH_API_DOCS=1
WITH_EMACS=1
+WITH_DESKTOP=1
WITH_BASH=1
WITH_RUBY=1
WITH_ZSH=1
@@ -141,6 +142,7 @@ Some features can be disabled (--with-feature=no is equivalent to
--without-docs Do not install documentation
--without-api-docs Do not install API man page
--without-emacs Do not install lisp file
+ --without-desktop Do not install desktop file
--without-ruby Do not install ruby bindings
--without-zsh-completion Do not install zsh completions files
--without-retry-lock Do not use blocking xapian opens, even if available
@@ -209,6 +211,14 @@ for option; do
fi
elif [ "${option}" = '--without-emacs' ] ; then
WITH_EMACS=0
+ elif [ "${option%%=*}" = '--with-desktop' ]; then
+ if [ "${option#*=}" = 'no' ]; then
+ WITH_DESKTOP=0
+ else
+ WITH_DESKTOP=1
+ fi
+ elif [ "${option}" = '--without-desktop' ] ; then
+ WITH_DESKTOP=0
elif [ "${option%%=*}" = '--with-bash-completion' ]; then
if [ "${option#*=}" = 'no' ]; then
WITH_BASH=0
@@ -1123,6 +1133,9 @@ VALGRIND_CFLAGS = ${valgrind_cflags}
# Support for emacs
WITH_EMACS = ${WITH_EMACS}
+# Support for desktop file
+WITH_DESKTOP = ${WITH_DESKTOP}
+
# Support for bash completion
WITH_BASH = ${WITH_BASH}
diff --git a/emacs/Makefile.local b/emacs/Makefile.local
index 76ba974c4065..a984023f7840 100644
--- a/emacs/Makefile.local
+++ b/emacs/Makefile.local
@@ -87,10 +87,9 @@ endif
install -m0644 $(emacs_images) "$(DESTDIR)$(emacsetcdir)"
mkdir -p "$(DESTDIR)$(prefix)/bin/"
install $(emacs_mua) "$(DESTDIR)$(prefix)/bin"
-
-.PHONY: install-desktop
-install-desktop:
+ifeq ($(WITH_DESKTOP),1)
mkdir -p "$(DESTDIR)$(desktop_dir)"
desktop-file-install --mode 0644 --dir "$(DESTDIR)$(desktop_dir)" $(emacs_mua_desktop)
+endif
CLEAN := $(CLEAN) $(emacs_bytecode) $(dir)/notmuch-version.el
--
2.1.4
^ permalink raw reply related [flat|nested] 15+ messages in thread
* [PATCH 8/8] build: update the desktop database after installing the desktop file
2016-11-03 20:37 [PATCH 0/8] improvements around notmuch-emacs-mua Jani Nikula
` (6 preceding siblings ...)
2016-11-03 20:38 ` [PATCH 7/8] build: install notmuch-emacs-mua.desktop file with emacs Jani Nikula
@ 2016-11-03 20:38 ` Jani Nikula
7 siblings, 0 replies; 15+ messages in thread
From: Jani Nikula @ 2016-11-03 20:38 UTC (permalink / raw)
To: notmuch
This makes the option to choose Notmuch as mailto: handler show up in
the desktop environment settings.
---
emacs/Makefile.local | 1 +
1 file changed, 1 insertion(+)
diff --git a/emacs/Makefile.local b/emacs/Makefile.local
index a984023f7840..3192b5a9c3cc 100644
--- a/emacs/Makefile.local
+++ b/emacs/Makefile.local
@@ -90,6 +90,7 @@ endif
ifeq ($(WITH_DESKTOP),1)
mkdir -p "$(DESTDIR)$(desktop_dir)"
desktop-file-install --mode 0644 --dir "$(DESTDIR)$(desktop_dir)" $(emacs_mua_desktop)
+ update-desktop-database "$(DESTDIR)$(desktop_dir)"
endif
CLEAN := $(CLEAN) $(emacs_bytecode) $(dir)/notmuch-version.el
--
2.1.4
^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 6/8] emacs/desktop: update to use notmuch-emacs-mua and handle mailto
2016-11-03 20:37 ` [PATCH 6/8] emacs/desktop: update to use notmuch-emacs-mua and handle mailto Jani Nikula
@ 2016-11-21 11:34 ` David Bremner
2016-11-21 11:44 ` Jani Nikula
0 siblings, 1 reply; 15+ messages in thread
From: David Bremner @ 2016-11-21 11:34 UTC (permalink / raw)
To: Jani Nikula, notmuch
Jani Nikula <jani@nikula.org> writes:
> -Exec=emacs -f notmuch
> +GenericName=Email Client
> +Comment=Emacs based email client
> +Exec=notmuch-emacs-mua %u
This seems like a fairly substantial change in functionality. Previously
people could click on the icon fire up a mail reader; now they get a
mail composition window. I probably won't use either, but it seems like
the change merits some discussion.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 6/8] emacs/desktop: update to use notmuch-emacs-mua and handle mailto
2016-11-21 11:34 ` David Bremner
@ 2016-11-21 11:44 ` Jani Nikula
2016-11-21 12:29 ` Tomi Ollila
2016-11-21 16:22 ` Keith Amidon
0 siblings, 2 replies; 15+ messages in thread
From: Jani Nikula @ 2016-11-21 11:44 UTC (permalink / raw)
To: David Bremner; +Cc: Notmuch Mail
On Mon, Nov 21, 2016 at 1:34 PM, David Bremner <david@tethera.net> wrote:
> Jani Nikula <jani@nikula.org> writes:
>
>> -Exec=emacs -f notmuch
>> +GenericName=Email Client
>> +Comment=Emacs based email client
>> +Exec=notmuch-emacs-mua %u
>
> This seems like a fairly substantial change in functionality. Previously
> people could click on the icon fire up a mail reader; now they get a
> mail composition window. I probably won't use either, but it seems like
> the change merits some discussion.
I wonder if there's a way to define different Execs for clicking on
the icon and handling mailto.
BR,
Jani.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 6/8] emacs/desktop: update to use notmuch-emacs-mua and handle mailto
2016-11-21 11:44 ` Jani Nikula
@ 2016-11-21 12:29 ` Tomi Ollila
2016-11-21 16:22 ` Keith Amidon
1 sibling, 0 replies; 15+ messages in thread
From: Tomi Ollila @ 2016-11-21 12:29 UTC (permalink / raw)
To: Notmuch Mail
On Mon, Nov 21 2016, Jani Nikula <jani@nikula.org> wrote:
> On Mon, Nov 21, 2016 at 1:34 PM, David Bremner <david@tethera.net> wrote:
>> Jani Nikula <jani@nikula.org> writes:
>>
>>> -Exec=emacs -f notmuch
>>> +GenericName=Email Client
>>> +Comment=Emacs based email client
>>> +Exec=notmuch-emacs-mua %u
>>
>> This seems like a fairly substantial change in functionality. Previously
>> people could click on the icon fire up a mail reader; now they get a
>> mail composition window. I probably won't use either, but it seems like
>> the change merits some discussion.
>
> I wonder if there's a way to define different Execs for clicking on
> the icon and handling mailto.
What if notmuch-emacs-mua started (notmuch-hello) in case there are no
arguments given ... ?
Tomi
>
> BR,
> Jani.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 6/8] emacs/desktop: update to use notmuch-emacs-mua and handle mailto
2016-11-21 11:44 ` Jani Nikula
2016-11-21 12:29 ` Tomi Ollila
@ 2016-11-21 16:22 ` Keith Amidon
2016-11-21 20:49 ` Jani Nikula
1 sibling, 1 reply; 15+ messages in thread
From: Keith Amidon @ 2016-11-21 16:22 UTC (permalink / raw)
To: Jani Nikula, David Bremner; +Cc: Notmuch Mail
On Mon, 2016-11-21 at 13:44 +0200, Jani Nikula wrote:
> I wonder if there's a way to define different Execs for clicking on
> the icon and handling mailto.
The desktop file format specification implies you can just add an extra
context entry. For reference, the full specification is here:
https://specifications.freedesktop.org/desktop-entry-spec/latest/
Something like this seems like what the spec suggests:
[Desktop Entry]
Name=Notmuch Emacs Client
GenericName=Email Client
Comment=Emacs based email client
Exec=emacs -f notmuch
Icon=emblem-mail
Terminal=false
Type=Application
Categories=Network;Email;
[Create Message]
Name=Notmuch Emacs Create Message
Exec=notmuch-emacs-mua %u
MimeType=x-scheme-handler/mailto;
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.
--- Keith
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 6/8] emacs/desktop: update to use notmuch-emacs-mua and handle mailto
2016-11-21 16:22 ` Keith Amidon
@ 2016-11-21 20:49 ` Jani Nikula
2016-11-21 20:52 ` Jani Nikula
0 siblings, 1 reply; 15+ messages in thread
From: Jani Nikula @ 2016-11-21 20:49 UTC (permalink / raw)
To: Keith Amidon, David Bremner; +Cc: Notmuch Mail, Tomi Ollila
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.
BR,
Jani.
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 6/8] emacs/desktop: update to use notmuch-emacs-mua and handle mailto
2016-11-21 20:49 ` Jani Nikula
@ 2016-11-21 20:52 ` Jani Nikula
0 siblings, 0 replies; 15+ messages in thread
From: Jani Nikula @ 2016-11-21 20:52 UTC (permalink / raw)
To: Keith Amidon, David Bremner; +Cc: Notmuch Mail, Tomi Ollila
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
^ permalink raw reply related [flat|nested] 15+ messages in thread
end of thread, other threads:[~2016-11-22 4:26 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-11-03 20:37 [PATCH 0/8] improvements around notmuch-emacs-mua Jani Nikula
2016-11-03 20:37 ` [PATCH 1/8] completion: complete notmuch emacs-mua Jani Nikula
2016-11-03 20:37 ` [PATCH 2/8] man: advertize notmuch-emacs-mua as notmuch emacs-mua subcommand Jani Nikula
2016-11-03 20:37 ` [PATCH 3/8] emacs: move notmuch-emacs-mua under emacs Jani Nikula
2016-11-03 20:37 ` [PATCH 4/8] build: install notmuch-emacs-mua with notmuch-emacs Jani Nikula
2016-11-03 20:37 ` [PATCH 5/8] notmuch.desktop: move under emacs as notmuch-emacs-mua.desktop Jani Nikula
2016-11-03 20:37 ` [PATCH 6/8] emacs/desktop: update to use notmuch-emacs-mua and handle mailto Jani Nikula
2016-11-21 11:34 ` David Bremner
2016-11-21 11:44 ` Jani Nikula
2016-11-21 12:29 ` Tomi Ollila
2016-11-21 16:22 ` Keith Amidon
2016-11-21 20:49 ` Jani Nikula
2016-11-21 20:52 ` Jani Nikula
2016-11-03 20:38 ` [PATCH 7/8] build: install notmuch-emacs-mua.desktop file with emacs Jani Nikula
2016-11-03 20:38 ` [PATCH 8/8] build: update the desktop database after installing the desktop file Jani Nikula
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).