unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#4566: 23, NS: frames re-appear when app switching
       [not found] <84E3245F-C845-4397-B790-4442243E4098@gmail.com>
@ 2021-12-04 21:11 ` Lars Ingebrigtsen
  2021-12-04 21:51   ` Alan Third
  0 siblings, 1 reply; 6+ messages in thread
From: Lars Ingebrigtsen @ 2021-12-04 21:11 UTC (permalink / raw)
  To: David Reitter; +Cc: Alan Third, 4566

David Reitter <david.reitter@gmail.com> 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.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#4566: 23, NS: frames re-appear when app switching
  2021-12-04 21:11 ` bug#4566: 23, NS: frames re-appear when app switching Lars Ingebrigtsen
@ 2021-12-04 21:51   ` Alan Third
  2021-12-04 21:55     ` Lars Ingebrigtsen
  0 siblings, 1 reply; 6+ messages in thread
From: Alan Third @ 2021-12-04 21:51 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: David Reitter, 4566

On Sat, Dec 04, 2021 at 10:11:56PM +0100, Lars Ingebrigtsen wrote:
> David Reitter <david.reitter@gmail.com> 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





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#4566: 23, NS: frames re-appear when app switching
  2021-12-04 21:51   ` Alan Third
@ 2021-12-04 21:55     ` Lars Ingebrigtsen
  2021-12-04 22:03       ` Alan Third
  0 siblings, 1 reply; 6+ messages in thread
From: Lars Ingebrigtsen @ 2021-12-04 21:55 UTC (permalink / raw)
  To: Alan Third; +Cc: David Reitter, 4566

Alan Third <alan@idiocy.org> writes:

> 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.

Ah, right.  

> 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.

I think that'd be even more unexpected.

Well, then I don't think there's anything to do here, and I'm closing
this bug report.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#4566: 23, NS: frames re-appear when app switching
  2021-12-04 21:55     ` Lars Ingebrigtsen
@ 2021-12-04 22:03       ` Alan Third
  2021-12-04 22:13         ` Lars Ingebrigtsen
  0 siblings, 1 reply; 6+ messages in thread
From: Alan Third @ 2021-12-04 22:03 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: David Reitter, 4566

On Sat, Dec 04, 2021 at 10:55:09PM +0100, Lars Ingebrigtsen wrote:
> Alan Third <alan@idiocy.org> writes:
> 
> > 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.
> 
> Ah, right.  
> 
> > 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.
> 
> I think that'd be even more unexpected.

It may not be as unexpected as you think. macOS windows are made up of
multiple components and when we change between various states, like
switching to fullscreen, we destroy the old NSWindow, create a new one
and then apply the old NSView to it. Maybe not quite in that order. :D

It may be possible to just remove the NSWindow when we make a frame
invisible and hang onto the NSView. It might not be practical, and I'm
not sure if it will really make any difference. I suspect David wanted
to make the frame invisible as a work-around for the bug we fixed
recently where when the last frame was closed the menus and dock icon
were visible but failed to respond.
-- 
Alan Third





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#4566: 23, NS: frames re-appear when app switching
  2021-12-04 22:03       ` Alan Third
@ 2021-12-04 22:13         ` Lars Ingebrigtsen
  2021-12-05  2:02           ` David Reitter
  0 siblings, 1 reply; 6+ messages in thread
From: Lars Ingebrigtsen @ 2021-12-04 22:13 UTC (permalink / raw)
  To: Alan Third; +Cc: David Reitter, 4566

Alan Third <alan@idiocy.org> writes:

> I suspect David wanted to make the frame invisible as a work-around
> for the bug we fixed recently where when the last frame was closed the
> menus and dock icon were visible but failed to respond.

Yes, sounds likely.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#4566: 23, NS: frames re-appear when app switching
  2021-12-04 22:13         ` Lars Ingebrigtsen
@ 2021-12-05  2:02           ` David Reitter
  0 siblings, 0 replies; 6+ messages in thread
From: David Reitter @ 2021-12-05  2:02 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: Alan Third, 4566, Win Treese

[-- Attachment #1: Type: text/plain, Size: 705 bytes --]

Yes that is correct. Indeed I created an elaborate workaround.
If that other behavior is fixed, Win might revise that module one day!
(Cc’ed)

On Sat, Dec 4, 2021 at 17:13 Lars Ingebrigtsen <larsi@gnus.org> wrote:

> Alan Third <alan@idiocy.org> writes:
>
> > I suspect David wanted to make the frame invisible as a work-around
> > for the bug we fixed recently where when the last frame was closed the
> > menus and dock icon were visible but failed to respond.
>
> Yes, sounds likely.
>
> --
> (domestic pets only, the antidote for overdose, milk.)
>    bloggy blog: http://lars.ingebrigtsen.no
>
-- 
David Reitter, PhD
New York City, NY
+1 (412) 417 0529
www.david-reitter.com

[-- Attachment #2: Type: text/html, Size: 1418 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-12-05  2:02 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <84E3245F-C845-4397-B790-4442243E4098@gmail.com>
2021-12-04 21:11 ` bug#4566: 23, NS: frames re-appear when app switching Lars Ingebrigtsen
2021-12-04 21:51   ` Alan Third
2021-12-04 21:55     ` Lars Ingebrigtsen
2021-12-04 22:03       ` Alan Third
2021-12-04 22:13         ` Lars Ingebrigtsen
2021-12-05  2:02           ` David Reitter

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).