Skip to content

Mac OS Sierra 失去焦点的检测方法 - 简书 #91

Description

@HenryTSZ

出现的场景:打开任何应用都会出现焦点被占用的情况,点击和输入都非常不方便

参考链接

保存以下Python脚本,在出现这种情况的时候运行/usr/bin/python filename.py

#!/usr/bin/python                                                                                                       
    
try:
    from AppKit import NSWorkspace
except ImportError:
    print("Can't import AppKit -- try `pip install PyObjC`")
    print("(see instructions for running in a venv with PyObjC)")
    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)

以上脚本是用于检测当前焦点被哪个应用程序占用,运行之后点击当前显示的应用,然后发现焦点马上被占用,通过观察输出即可知道是哪个引用不断占用焦点,关闭它即可

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions