Subject: bug#59790: 30.0.50; ns-use-native-fullscreen is not respected for first use of initial-frame-alist

From: Aaron Jensen <[email-masked]>
Date: Wed, 20 Nov 2024 13:38:27 -0800

Thanks for trying it out. I saw the error as well both before and after the
patch, so I didn't look into it. I think you're right though. I can try
that out later. It probably shouldn't impact when/if this patch should be
installed.

Are you able to install this and the other or do we need someone else to
sign off on it and install them?

Aaron

On Wed, Nov 20, 2024 at 1:27 PM, Alan Third <[email-masked]> wrote:

> On Sun, Nov 17, 2024 at 12:00:07AM -0500, Aaron Jensen wrote:
>
> ​The bugged behavior is that `ns-use-native-fullscreen' set to nil is not
> read when launching emacs.
>
> The attached patch should fix this. The problem is that when the frame is
> made, the current value of ns-use-native-fullscreen is copied to a variable
> and that's only reset when the frame goes from fullscreen to windowed. I
> believe the original intent was to ensure that the mode could not change
> while the window was fullscreen already.
>
> This resets the value of fs_is_native if the frame is not already
> fullscreen, which allows it to respect the value at the time of the first
> fullscreen.
>
> Without this, the only way to get the behavior that Sean is expecting is
> to set ns-use-native-fullscreen in early-init, which should not be
> necessary.
>
> The patch looks good here. The only thing is I get this printed to the
> console:
>
> 2024-11-20 21:11:36.609 emacs[18867:241457] ERROR: Can't have a toolbar in
> a window with <NSNextStepFrame: 0x7f8db350c7e0> as it's borderview
>
> I don't think I've ever seen NextStep explicitly mentioned in macOS code
> before, other than the "NS" prefix.
>
> I'm going to hazard a guess that the first if at the top of createToolbar
> needs another test for when we're in non-native fullscreen or something.
>
> Native fullscreen displays the toolbar, non-native doesn't because it uses
> the borderless stylemask. Perhaps a check on the stylemask would be enough
> to cover both this and undecorated.
>
> --
> Alan Third
>