emacs-diffs
[Top][All Lists]
Advanced

[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;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]