fix: fullscreen for windows without rounded corners (#47681)

Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com>
Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
This commit is contained in:
trop[bot] 2025-07-08 15:21:13 +02:00 committed by GitHub
commit 130f00dfcd
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
6 changed files with 67 additions and 10 deletions

View file

@ -299,6 +299,8 @@ using TitleBarStyle = electron::NativeWindowMac::TitleBarStyle;
- (void)windowWillEnterFullScreen:(NSNotification*)notification {
// Store resizable mask so it can be restored after exiting fullscreen.
is_resizable_ = shell_->HasStyleMask(NSWindowStyleMaskResizable);
// Store borderless mask so it can be restored after exiting fullscreen.
is_borderless_ = !shell_->HasStyleMask(NSWindowStyleMaskTitled);
shell_->set_is_transitioning_fullscreen(true);
@ -306,6 +308,8 @@ using TitleBarStyle = electron::NativeWindowMac::TitleBarStyle;
// Set resizable to true before entering fullscreen.
shell_->SetResizable(true);
// Set borderless to false before entering fullscreen.
shell_->SetBorderless(false);
}
- (void)windowDidEnterFullScreen:(NSNotification*)notification {
@ -341,6 +345,7 @@ using TitleBarStyle = electron::NativeWindowMac::TitleBarStyle;
shell_->set_is_transitioning_fullscreen(false);
shell_->SetResizable(is_resizable_);
shell_->SetBorderless(is_borderless_);
shell_->NotifyWindowLeaveFullScreen();
if (shell_->HandleDeferredClose())