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