UI: Remove macOS-Default Full Screen Menu Item

macOS looks if the NSUserDefault NSFullScreenMenuItemEverywhere is set
to true, and if it is, it adds its own full screen menu item.
Sets this NSUserDefault to false since it defaults to true.
This commit is contained in:
gxalpha
2021-05-28 20:23:53 +02:00
committed by Jim
parent 6f90380ec2
commit cf445be44c
3 changed files with 12 additions and 0 deletions

View File

@@ -2674,6 +2674,10 @@ int main(int argc, char *argv[])
}
#endif
#ifdef __APPLE__
DisableFullScreenViewMenuItem();
#endif
#ifdef _WIN32
obs_init_win32_crash_handler();
SetErrorMode(SEM_FAILCRITICALERRORS);

View File

@@ -235,6 +235,13 @@ void EnableOSXDockIcon(bool enable)
NSApplicationActivationPolicyProhibited];
}
void DisableFullScreenViewMenuItem()
{
[[NSUserDefaults standardUserDefaults]
setBool:NO
forKey:@"NSFullScreenMenuItemEverywhere"];
}
/*
* This custom NSApplication subclass makes the app compatible with CEF. Qt
* also has an NSApplication subclass, but it doesn't conflict thanks to Qt

View File

@@ -69,6 +69,7 @@ void EnableOSXDockIcon(bool enable);
void InstallNSApplicationSubclass();
void disableColorSpaceConversion(QWidget *window);
void CheckAppWithSameBundleID(bool &already_running);
void DisableFullScreenViewMenuItem();
#endif
#ifdef __linux__
void RunningInstanceCheck(bool &already_running);