summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Pita <carlosjosepita@gmail.com>2020-08-09 15:57:51 +0200
committerLars Ingebrigtsen <larsi@gnus.org>2020-08-09 15:57:51 +0200
commit1a845a672dc73c8e98e6cb9bb734616e168e60ba (patch)
tree4ba3d685a65661e85b4a8340d917fdcd7754323f
parent8e82baf5a730ff542118ddba5b76afdc1db643f6 (diff)
downloademacs-1a845a672dc73c8e98e6cb9bb734616e168e60ba.tar.gz
Improve client/daemon xdg/systemd experience
* Makefile.in: Add emacsclient.desktop generation. * etc/emacsclient.desktop: Add file, use emacsd as StartupWMClass. * etc/emacs.service: Run with name emacsd (bug#37847).
-rw-r--r--Makefile.in7
-rw-r--r--etc/emacs.service2
-rw-r--r--etc/emacsclient.desktop12
3 files changed, 20 insertions, 1 deletions
diff --git a/Makefile.in b/Makefile.in
index 67e15cfecd2..fbb1891ba72 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -714,6 +714,13 @@ install-etc:
${srcdir}/etc/emacs.desktop > $${tmp}; \
${INSTALL_DATA} $${tmp} "$(DESTDIR)${desktopdir}/${EMACS_NAME}.desktop"; \
rm -f $${tmp}
+ tmp=etc/emacsclient.tmpdesktop; rm -f $${tmp}; \
+ client_name=`echo emacsclient | sed '$(TRANSFORM)'`${EXEEXT}; \
+ sed -e "/^Exec=emacsclient/ s|emacsclient|${bindir}/$${client_name}|" \
+ -e "/^Icon=emacs/ s/emacs/${EMACS_NAME}/" \
+ ${srcdir}/etc/emacsclient.desktop > $${tmp}; \
+ ${INSTALL_DATA} $${tmp} "$(DESTDIR)${desktopdir}/$${client_name}.desktop"; \
+ rm -f $${tmp}
umask 022; ${MKDIR_P} "$(DESTDIR)${appdatadir}"
tmp=etc/emacs.tmpappdata; rm -f $${tmp}; \
sed -e "s/emacs\.desktop/${EMACS_NAME}.desktop/" \
diff --git a/etc/emacs.service b/etc/emacs.service
index c99c6779f58..0dc2418269e 100644
--- a/etc/emacs.service
+++ b/etc/emacs.service
@@ -8,7 +8,7 @@ Documentation=info:emacs man:emacs(1) https://gnu.org/software/emacs/
[Service]
Type=notify
-ExecStart=emacs --fg-daemon
+ExecStart=@emacs emacsd --fg-daemon
ExecStop=emacsclient --eval "(kill-emacs)"
# The location of the SSH auth socket varies by distribution, and some
# set it from PAM, so don't override by default.
diff --git a/etc/emacsclient.desktop b/etc/emacsclient.desktop
new file mode 100644
index 00000000000..3feb83c7290
--- /dev/null
+++ b/etc/emacsclient.desktop
@@ -0,0 +1,12 @@
+[Desktop Entry]
+Name=Emacs (Client)
+GenericName=Text Editor
+Comment=Edit text
+MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
+Exec=emacsclient -c %F
+Icon=emacs
+Type=Application
+Terminal=false
+Categories=Development;TextEditor;
+StartupWMClass=Emacsd
+Keywords=Text;Editor;