1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-08 00:33:13 -08:00

Add ability to bring only the selected frame to the front (bug#48865)

Causes ‘ns-hide-emacs’ to layer the selected frame in front of every other
application’s windows, and give that frame keyboard focus, when called with
'activate-front.

* src/nsfns.m (Fns_hide_emacs): Allow activating only selected frame.
This commit is contained in:
Matt Beshara 2021-06-06 13:06:47 +10:00 committed by Alan Third
parent e775ef2f57
commit 57950515ec

View file

@ -1953,8 +1953,11 @@ DEFUN ("ns-hide-emacs", Fns_hide_emacs, Sns_hide_emacs,
doc: /* If ON is non-nil, the entire Emacs application is hidden.
Otherwise if Emacs is hidden, it is unhidden.
If ON is equal to `activate', Emacs is unhidden and becomes
the active application. */)
(Lisp_Object on)
the active application.
If ON is equal to `activate-front', Emacs is unhidden and
becomes the active application, but only the selected frame
is layered in front of the windows of other applications. */)
(Lisp_Object on)
{
check_window_system (NULL);
if (EQ (on, intern ("activate")))
@ -1962,6 +1965,12 @@ the active application. */)
[NSApp unhide: NSApp];
[NSApp activateIgnoringOtherApps: YES];
}
else if (EQ (on, intern ("activate-front")))
{
[NSApp unhide: NSApp];
[[NSRunningApplication currentApplication]
activateWithOptions: NSApplicationActivateIgnoringOtherApps];
}
else if (NILP (on))
[NSApp unhide: NSApp];
else