From e45dd45156f583cc6931aeba92087b10983d76f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pa=CC=84vels=20Nadtoc=CC=8Cajevs?= <7645683+bruvzg@users.noreply.github.com> Date: Wed, 23 Apr 2025 08:13:33 +0300 Subject: [PATCH] [macOS] Fix close button hidden and title bar transparent in fullscreen mode. --- platform/macos/display_server_macos.mm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/platform/macos/display_server_macos.mm b/platform/macos/display_server_macos.mm index 3ec84872e66..7cd9bdfeb94 100644 --- a/platform/macos/display_server_macos.mm +++ b/platform/macos/display_server_macos.mm @@ -2682,6 +2682,7 @@ void DisplayServerMacOS::window_set_custom_window_buttons(WindowData &p_wd, bool float window_buttons_spacing = (is_rtl) ? (cb_frame - mb_frame) : (mb_frame - cb_frame); + [p_wd.window_object setTitlebarAppearsTransparent:YES]; [p_wd.window_object setTitleVisibility:NSWindowTitleHidden]; [[p_wd.window_object standardWindowButton:NSWindowZoomButton] setHidden:YES]; [[p_wd.window_object standardWindowButton:NSWindowMiniaturizeButton] setHidden:YES]; @@ -2695,9 +2696,10 @@ void DisplayServerMacOS::window_set_custom_window_buttons(WindowData &p_wd, bool [[p_wd.window_object standardWindowButton:NSWindowZoomButton] setHidden:(p_wd.no_min_btn && p_wd.no_max_btn)]; } else { [p_wd.window_object setTitleVisibility:NSWindowTitleVisible]; - [[p_wd.window_object standardWindowButton:NSWindowZoomButton] setHidden:NO]; + [p_wd.window_object setTitlebarAppearsTransparent:NO]; [[p_wd.window_object standardWindowButton:NSWindowMiniaturizeButton] setHidden:(p_wd.no_min_btn && p_wd.no_max_btn)]; [[p_wd.window_object standardWindowButton:NSWindowZoomButton] setHidden:(p_wd.no_min_btn && p_wd.no_max_btn)]; + [[p_wd.window_object standardWindowButton:NSWindowCloseButton] setHidden:NO]; } } @@ -2739,14 +2741,12 @@ void DisplayServerMacOS::window_set_flag(WindowFlags p_flag, bool p_enabled, Win NSRect rect = [wd.window_object frame]; wd.extend_to_title = p_enabled; if (p_enabled) { - [wd.window_object setTitlebarAppearsTransparent:YES]; [wd.window_object setStyleMask:[wd.window_object styleMask] | NSWindowStyleMaskFullSizeContentView]; if (!wd.fullscreen) { window_set_custom_window_buttons(wd, true); } } else { - [wd.window_object setTitlebarAppearsTransparent:NO]; [wd.window_object setStyleMask:[wd.window_object styleMask] & ~NSWindowStyleMaskFullSizeContentView]; if (!wd.fullscreen) {