[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 57ec4aa 1/2: Advertise support for Startup Notification when buil
From: |
Lars Ingebrigtsen |
Subject: |
master 57ec4aa 1/2: Advertise support for Startup Notification when built with GTK |
Date: |
Tue, 22 Jun 2021 09:21:43 -0400 (EDT) |
branch: master
commit 57ec4aadc65389f6df5a173cfbff0a551b3ee25d
Author: Peter Oliver <git@mavit.org.uk>
Commit: Lars Ingebrigtsen <larsi@gnus.org>
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 (bug#48783).
---
Makefile.in | 7 +++++++
configure.ac | 5 +++++
etc/NEWS | 6 ++++++
etc/emacs.desktop | 1 +
etc/emacsclient.desktop | 1 +
5 files changed, 20 insertions(+)
diff --git a/Makefile.in b/Makefile.in
index 474441f..b750288 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -100,6 +100,8 @@ FIND_DELETE = @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 c828f8d..830f338 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2892,6 +2892,11 @@ fi
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/NEWS b/etc/NEWS
index 3c7d5ca..40c7c93 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -91,6 +91,12 @@ proper pty support that Emacs needs.
* Startup Changes in Emacs 28.1
+---
+** In GTK builds, Emacs now supports startup notification.
+This means that Emacs won't steal keyboard focus upon startup
+(when started via the Desktop) if the user is typing into another
+application.
+
** Emacs can support 24-bit color TTY without terminfo database.
If your text-mode terminal supports 24-bit true color, but your system
lacks the terminfo database, you can instruct Emacs to support 24-bit
diff --git a/etc/emacs.desktop b/etc/emacs.desktop
index 2e6496e..81c53c6 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 3feb83c..2c1edb4 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;