Как я уступаю фокус предыдущему приложению в Какао?

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

9
задан abiraja 25 December 2009 в 04:17
поделиться

3 ответа

Вызов [NSApp hide:]

, что позволит скрыть ваше приложение и активировать ранее активное приложение.

8
ответ дан 4 December 2019 в 20:24
поделиться

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

1
ответ дан 4 December 2019 в 20:24
поделиться

Если это единственный пользовательский интерфейс, который ваше приложение может предложить, вы можете дать ему ключ LSUIElement Info.plist, который не позволит ему находиться в Dock или быть активным приложением.

.
0
ответ дан 4 December 2019 в 20:24
поделиться