Subject: bug#4566: 23, NS: frames re-appear when app switching

From: Alan Third <[email-masked]>
Date: Sat, 4 Dec 2021 21:51:42 +0000

On Sat, Dec 04, 2021 at 10:11:56PM +0100, Lars Ingebrigtsen wrote:
> David Reitter <[email-masked]> writes:
> 
> > When starting up the NS port (trunk, on OS X 10.6.1), and then hiding
> > the frame:
> >
> > (make-frame-invisible nil t)
> >
> > and then switching away and back to Emacs (Command-Tab, Command-Tab),
> > the frame magically re-appears.
> > It shouldn't do that (it's non-standard).
> 
> (I'm going through old bug reports that unfortunately weren't resolved
> at the time.)
> 
> This behaviour is still present in Emacs 29, and it does seem to be
> non-standard (i.e., other Macos programs don't seem to do this?)
> 
> Perhaps Alan has an opinion here; added to the CCs.

I don't believe other macOS applications let you make arbitrary
windows "invisible" like Emacs does. Minimising windows and "hiding"
the application work exactly like other macOS apps I've tried.

As far as I can tell we don't do anything particularly unusual. Hidden
windows other than the last selected one don't magically reappear, so
I suspect what we're seeing is macOS bringing the "main" window to the
front when we switch to the application.

We can't resign the main window, afaik. I suppose we could just delete
the windows completely when we make them invisible instead of just,
y'know, making them invisible.
-- 
Alan Third