19

Активное окно на моей машине иногда теряет фокус. Активное приложение остается прежним - если я был в Chrome раньше, я все еще в Chrome - но активное окно больше не активно. Окно не активно. Это расстраивает; это произошло во время ввода этого вопроса, и мои нажатия клавиш внезапно перестали регистрироваться.

Я считаю, что какое-то другое приложение крадет фокус, но само по себе оно не имеет интерфейса для отображения, поэтому активное окно становится неактивным, но активное приложение остается активным.

Вопрос в том, как отследить нарушающее приложение, чтобы я мог его гневно удалить? Обычно в случаях кражи фокуса виновник очевиден, потому что у него есть фокус. В этом случае я в тупике.

2 ответа2

26

Вот скрипт, который скажет вам, какое приложение активируется, не сообщая вам. Я адаптировал его от ответа на вопрос @ KevinReid на Apple SE.

Оставьте его запущенным в терминале, подождите, пока мошенническое приложение украдет фокус, и посмотрите, какое приложение указано последним. (Для меня: Google Drive. Другие сообщили о Symantec AV материал.)

#!/usr/bin/python                                                                                                       

try:
    from AppKit import NSWorkspace
except ImportError:
    print "Can't import AppKit -- maybe you're running python from brew?"
    print "Try running with Apple's /usr/bin/python instead."
    exit(1)

from datetime import datetime
from time import sleep

last_active_name = None
while True:
    active_app = NSWorkspace.sharedWorkspace().activeApplication()
    if active_app['NSApplicationName'] != last_active_name:
        last_active_name = active_app['NSApplicationName']
        print '%s: %s [%s]' % (
            datetime.now().strftime('%Y-%m-%d %H:%M:%S'),
            active_app['NSApplicationName'],
            active_app['NSApplicationPath']
        )
    sleep(1)
0

Это будет звучать глупо и нелепо просто ... У меня была такая же проблема с моим ноутбуком, когда я использовал трекпад или встроенную клавиатуру. Если бы два отдельных ноутбука давали похожий опыт после небольшого количества влаги (да, я пролил на клавиатуру).

Добавление периферийной мыши и клавиатуры решило это для меня.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .