Активное окно на моей машине иногда теряет фокус. Активное приложение остается прежним - если я был в Chrome раньше, я все еще в Chrome - но активное окно больше не активно. Окно не активно. Это расстраивает; это произошло во время ввода этого вопроса, и мои нажатия клавиш внезапно перестали регистрироваться.
Я считаю, что какое-то другое приложение крадет фокус, но само по себе оно не имеет интерфейса для отображения, поэтому активное окно становится неактивным, но активное приложение остается активным.
Вопрос в том, как отследить нарушающее приложение, чтобы я мог его гневно удалить? Обычно в случаях кражи фокуса виновник очевиден, потому что у него есть фокус. В этом случае я в тупике.
LSUIElement
установлено значение true
in Info.plist
). Те вполне способны на такое поведение.
tell application "System Events" to display alert ((name of first application process whose frontmost is true) as string)
к сожалению не учитывает процессы без строки меню.
Apple > Force Quit...
меню, чтобы увидеть, если что-то работает, что не должно быть.