Я пытаюсь заставить NSWindow
быть невероятно упрямым и полностью игнорировать полноэкранные запросы других приложений.
Короче говоря, я хочу, чтобы мое приложение доминировало над вторым монитором и,даже если один (например) переключится на Finder и выберет View > Enter Full Screen
, мое окно останется на месте.В настоящее время он переходит к полноэкранному окну поиска.
Прикрепленный код, который я придумал до сих пор:
CGRect boardFrame = ...
NSArray <NSScreen *> *myScreens = [NSScreen screens];
NSScreen *s = [myScreens objectAtIndex:1];
NSWindow *window = [[NSWindow alloc] initWithContentRect:boardFrame
styleMask:NSWindowStyleMaskBorderless
backing:NSBackingStoreBuffered
defer:NO
screen:s];
[window setLevel:NSMainMenuWindowLevel+2]; // remove menu bar
[window makeKeyAndOrderFront:NSApp];
[window setCanHide:NO];
[window setOpaque:YES]; // speed up rendering
[window setHasShadow:NO];
В моем окне будет отображаться содержимое в видеинформационное табло (представьте: меню ресторана);он не должен уступать тому, что будет делать пользователь на компьютере.
Есть ли какие-либо советы по обеспечению этого безотказным образом? Я почти на месте.