Запустите приложение с NSWorkspace, не активируя его и не переключая пространство - PullRequest
4 голосов
/ 12 июня 2011

Я пытаюсь запустить приложение в фоновом режиме, не активируя его.Я просто запустил этот метод на NSWorkspace, чтобы запустить его в фоновом режиме:

[[NSWorkspace sharedWorkspace] launchAppWithBundleIdentifier:bundleID
                               options:(NSWorkspaceLaunchWithoutActivation | 
                                        NSWorkspaceLaunchAllowingClassicStartup)
                               additionalEventParamDescriptor:nil launchIdentifier:NULL];

Единственная проблема заключается в том, что он не активирует приложение, но переключает пространство на назначенное пространство этого приложения.Есть ли способ избежать этого?

1 Ответ

2 голосов
/ 17 июня 2011

Есть ли у вас контроль над приложением, которое вы запускаете?Если это так, переопределите поведение коллекции окон его окон.Возможно, вы захотите сделать этот элемент управления управляемым с помощью аргумента командной строки или аналогичных методов, чтобы настройки пробелов сохранялись, когда пользователь запускает приложение вручную.

Если запускаемое приложениене под вашим контролем, как насчет , используя AppleScript для временного переопределения своего присваивания пробела , а затем изменить присвоение обратно на исходное значение?

...