From c42203835c590fc85746f0db16fd63e955fd914b Mon Sep 17 00:00:00 2001 From: Peter Oliver Date: Tue, 1 Jun 2021 19:31:39 +0100 Subject: [PATCH] Advertise support for Startup Notification when built with GTK * etc/emacsclient.desktop, etc/emacsclient.desktop: Specify StartupNotify=true. * configure.ac (USE_STARTUP_NOTIFICATION): New variable, yes iff HAVE_GTK. * Makefile.in (install-etc): Remove StartupNotify=true from etc/*.desktop unless USE_STARTUP_NOTIFICATION. --- Makefile.in | 7 +++++++ configure.ac | 6 ++++++ etc/emacs.desktop | 1 + etc/emacsclient.desktop | 1 + 4 files changed, 15 insertions(+) diff --git a/Makefile.in b/Makefile.in index 65eceb2a0c..341892c622 100644 --- a/Makefile.in +++ b/Makefile.in @@ -100,6 +100,8 @@ FIND_DELETE = HAVE_NATIVE_COMP = @HAVE_NATIVE_COMP@ +USE_STARTUP_NOTIFICATION = @USE_STARTUP_NOTIFICATION@ + # ==================== Where To Install Things ==================== # Location to install Emacs.app under GNUstep / macOS. @@ -706,11 +708,15 @@ install-man: ## Note: emacs22 does not have all the resolutions. EMACS_ICON=emacs +ifeq (${USE_STARTUP_NOTIFICATION},no) +USE_STARTUP_NOTIFICATION_SED_CMD=-e "/^StartupNotify=true$$/d" +endif install-etc: umask 022; ${MKDIR_P} "$(DESTDIR)${desktopdir}" tmp=etc/emacs.tmpdesktop; rm -f $${tmp}; \ sed -e "/^Exec=emacs/ s/emacs/${EMACS_NAME}/" \ -e "/^Icon=emacs/ s/emacs/${EMACS_NAME}/" \ + $(USE_STARTUP_NOTIFICATION_SED_CMD) \ ${srcdir}/etc/emacs.desktop > $${tmp}; \ ${INSTALL_DATA} $${tmp} "$(DESTDIR)${desktopdir}/${EMACS_NAME}.desktop"; \ rm -f $${tmp} @@ -718,6 +724,7 @@ install-etc: client_name=`echo emacsclient | sed '$(TRANSFORM)'`${EXEEXT}; \ sed -e "/^Exec=emacsclient/ s|emacsclient|${bindir}/$${client_name}|" \ -e "/^Icon=emacs/ s/emacs/${EMACS_NAME}/" \ + $(USE_STARTUP_NOTIFICATION_SED_CMD) \ ${srcdir}/etc/emacsclient.desktop > $${tmp}; \ ${INSTALL_DATA} $${tmp} "$(DESTDIR)${desktopdir}/$${client_name}.desktop"; \ rm -f $${tmp} diff --git a/configure.ac b/configure.ac index d99e5395d3..a44a4730ad 100644 --- a/configure.ac +++ b/configure.ac @@ -2892,6 +2892,12 @@ AC_DEFUN AC_SUBST(SETTINGS_CFLAGS) AC_SUBST(SETTINGS_LIBS) +USE_STARTUP_NOTIFICATION=no +if test "${HAVE_GTK}" = "yes"; then + USE_STARTUP_NOTIFICATION=yes +fi +AC_SUBST(USE_STARTUP_NOTIFICATION) + dnl SELinux is available for GNU/Linux only. HAVE_LIBSELINUX=no diff --git a/etc/emacs.desktop b/etc/emacs.desktop index 2e6496e58c..81c53c6121 100644 --- a/etc/emacs.desktop +++ b/etc/emacs.desktop @@ -8,5 +8,6 @@ Icon=emacs Type=Application Terminal=false Categories=Development;TextEditor; +StartupNotify=true StartupWMClass=Emacs Keywords=Text;Editor; diff --git a/etc/emacsclient.desktop b/etc/emacsclient.desktop index 3feb83c729..2c1edb4b66 100644 --- a/etc/emacsclient.desktop +++ b/etc/emacsclient.desktop @@ -8,5 +8,6 @@ Icon=emacs Type=Application Terminal=false Categories=Development;TextEditor; +StartupNotify=true StartupWMClass=Emacsd Keywords=Text;Editor; -- 2.31.1