From: Carlos Pita Date: Sun, 9 Aug 2020 13:57:51 +0000 (+0200) Subject: Improve client/daemon xdg/systemd experience X-Git-Tag: emacs-28.0.90~6726 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=1a845a672dc73c8e98e6cb9bb734616e168e60ba;p=emacs.git 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). --- 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;