Заставьте приложение Какао оставаться на вершине полноэкранных приложений - PullRequest
4 голосов
/ 21 декабря 2011

Я работаю над приложением, которое имеет меню состояния, и из этого меню пользователь может открыть главное окно приложения.Мне нужна возможность открывать это окно поверх полноэкранных приложений.Следующий код работает нормально, если Приложение является агентом (UIElement) установлено на ДА :

- (IBAction)showMainWindow:(id)sender
{
   [_window makeKeyAndOrderFront:self];
   [NSApp activateIgnoringOtherApps:YES];
}

Тем не менее, я хочу иметь значок в доке какЧто ж.Если Приложение является агентом (UIElement), установлено на NO showMainWindow заставляет приложение переходить в другое пространство, а не появляться поверх активного полноэкранного приложения.Есть ли решение для этого?

1 Ответ

3 голосов
/ 01 февраля 2012

Я отвечаю на свой вопрос здесь для полноты картины.

После небольшого исследования выясняется, что пути нет. Это как OS X работает.

Мое решение: я дал пользователю возможность в настройках приложения, хотят ли они, чтобы приложение было приложением типа док-станции или типом агента. Установите Приложение является агентом (UIElement) в ДА в основном списке. Вы можете изменить тип приложения во время выполнения, установив для политики активации приложения значение NSApplicationActivationPolicyRegular.

...