Позвольте нам говорящий, что пользователь в настоящее время находится на Chrome. Таким образом, у меня есть HUD, который вызывается глобальной горячей клавишей, пользователь тогда вводит что-то в него и при нажатии на Close или OK, HUD уходит (просто использующий [NSPanel orderOut:]), но мое приложение все еще фокусируется (т.е. Строка меню моего приложения все еще видима). Но я хочу, чтобы фокус вернулся к исходному приложению, Chrome. Как я достигаю чего-то вроде этого? Идеально, я также был бы в состоянии никогда не "получить" фокус к своему приложению и следовательно, вход HUD все произойдет, в то время как Chrome был все еще сфокусированным приложением. Things.app удается достигнуть чего-то вроде этого. Quicksilver делает это также.
Вызов [NSApp hide:]
, что позволит скрыть ваше приложение и активировать ранее активное приложение.
Вы можете либо иметь безликое приложение-помощник, которое делает это за вас, либо получить PSN процесса переднего плана, прежде чем вы будете перенесены вперед, и вернуться к нему, когда вы захотите уйти.
Если это единственный пользовательский интерфейс, который ваше приложение может предложить, вы можете дать ему ключ LSUIElement
Info.plist, который не позволит ему находиться в Dock или быть активным приложением.