Способ получить beginGestureWithEvent / endGestureWithEvent, если окно не является передним - PullRequest
5 голосов
/ 15 апреля 2011

Есть ли способ получить

- (void)beginGestureWithEvent:(NSEvent *)event

и

- (void)endGestureWithEvent:(NSEvent *)event

вызовов для представления, даже если содержащее окно находится в фоновом режиме?Похоже, что эти звонки доставляются в Windows, только если они являются ключевыми.

Ответы [ 2 ]

2 голосов
/ 15 апреля 2011

В общем нет. В Leopard и SnowLeopard жесты предназначены только для переднего окна. Как вы обнаружили, сервер окон даже не будет отправлять события жестов в фоновые приложения.

Вы могли бы установить сигнал события, но эти события не выглядят точно как их эквиваленты NS. Однако все данные есть, если вы действительно хотите в них разобраться.

Пожалуйста, отправьте радар с просьбой об этом, а также почему это было бы полезно.

0 голосов
/ 30 апреля 2011

Но вот обходной путь:

Добавьте область отслеживания к границам просмотра с параметрами NSTrackingMouseEnteredAndExited | NSTrackingActiveAlways

… и активируйте свое приложение при mouseEntered:

Это не-стандарт, но это будет работать.

...