[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 2c87aab: Enable GUI Emacs without 'make install' on
From: |
Charles A. Roelli |
Subject: |
[Emacs-diffs] master 2c87aab: Enable GUI Emacs without 'make install' on macOS (Bug #27645) |
Date: |
Sun, 23 Jul 2017 10:58:32 -0400 (EDT) |
branch: master
commit 2c87aab57946b95d67b664259f30e64468d08544
Author: Charles A. Roelli <address@hidden>
Commit: Charles A. Roelli <address@hidden>
Enable GUI Emacs without 'make install' on macOS (Bug #27645)
* nextstep/INSTALL: Correct it, and mention that Emacs can be run
from 'src/emacs'.
* src/nsterm.m (applicationDidFinishLaunching:): When Emacs is
launched outside of a macOS application bundle, change its
activation policy from the default 'prohibited' to 'regular'.
; * etc/NEWS: Mention the change on macOS.
---
etc/NEWS | 3 +++
nextstep/INSTALL | 16 ++++++++++++----
src/nsterm.m | 13 +++++++++++++
3 files changed, 28 insertions(+), 4 deletions(-)
diff --git a/etc/NEWS b/etc/NEWS
index 4324d87..4cb02bf 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1600,6 +1600,9 @@ debugger has been attached to it.
** 'set-mouse-position' and 'set-mouse-absolute-pixel-position' work
on macOS.
+** Emacs can now be run as a GUI application from the command line on
+macOS.
+
----------------------------------------------------------------------
This file is part of GNU Emacs.
diff --git a/nextstep/INSTALL b/nextstep/INSTALL
index 799cd4d..b7e84e0 100644
--- a/nextstep/INSTALL
+++ b/nextstep/INSTALL
@@ -21,15 +21,23 @@ In the top-level directory, use:
(On macOS, --with-ns is enabled by default.)
-This will compile all the files, but emacs will not be able to be run except
-in -nw (terminal) mode.
+Then run:
-In order to run Emacs.app, you must run:
+ make
+
+This will compile all the files.
+
+In order to run Emacs, you must run:
+
+ src/emacs
+
+In order to install Emacs, you must run:
make install
This will assemble the app in nextstep/Emacs.app (i.e., the --prefix
-argument has no effect in this case).
+argument has no effect in this case). You can then move the Emacs.app
+bundle to a location of your choice.
If you pass the --disable-ns-self-contained option to configure, the lisp
files will be installed under whatever 'prefix' is set to (defaults to
diff --git a/src/nsterm.m b/src/nsterm.m
index a3c7031..36d906a 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -5497,6 +5497,19 @@ ns_term_shutdown (int sig)
object:nil];
#endif
+#ifdef NS_IMPL_COCOA
+ if ([NSApp activationPolicy] == NSApplicationActivationPolicyProhibited) {
+ /* Set the app's activation policy to regular when we run outside
+ of a bundle. This is already done for us by Info.plist when we
+ run inside a bundle. */
+ [NSApp setActivationPolicy:NSApplicationActivationPolicyRegular];
+ [NSApp setApplicationIconImage:
+ [EmacsImage
+ allocInitFromFile:
+ build_string("icons/hicolor/128x128/apps/emacs.png")]];
+ }
+#endif
+
ns_send_appdefined (-2);
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 2c87aab: Enable GUI Emacs without 'make install' on macOS (Bug #27645),
Charles A. Roelli <=