diff options
author | Carlos Pita <carlosjosepita@gmail.com> | 2020-08-09 15:57:51 +0200 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2020-08-09 15:57:51 +0200 |
commit | 1a845a672dc73c8e98e6cb9bb734616e168e60ba (patch) | |
tree | 4ba3d685a65661e85b4a8340d917fdcd7754323f | |
parent | 8e82baf5a730ff542118ddba5b76afdc1db643f6 (diff) | |
download | emacs-1a845a672dc73c8e98e6cb9bb734616e168e60ba.tar.gz emacs-1a845a672dc73c8e98e6cb9bb734616e168e60ba.tar.bz2 emacs-1a845a672dc73c8e98e6cb9bb734616e168e60ba.zip |
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.in | 7 | ||||
-rw-r--r-- | etc/emacs.service | 2 | ||||
-rw-r--r-- | etc/emacsclient.desktop | 12 |
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; |