如何判断哪个应用程序在 OS X 中偷走了我的注意力?

Jos*_*der 32 focus window-focus macos

我机器上的活动窗口偶尔会失去焦点。活动应用程序保持不变——如果我之前在 Chrome 中,我现在仍然在 Chrome 中——但活动窗口不再处于活动状态。没有窗口处于活动状态。这令人沮丧;它发生在输入这个问题时,我的击键突然停止注册。

我相信其他一些应用程序正在窃取焦点,但它本身没有可显示的用户界面,因此活动窗口变得不活动,但活动应用程序保持活动状态。

问题是:我如何追踪有问题的应用程序,以便我可以愤怒地删除它?通常在窃取焦点的情况下,罪魁祸首很明显,因为它具有焦点。在这种情况下,我很难过。

小智 46

这是一个脚本,它会在不告诉您的情况下告诉您正在激活哪个应用程序。我根据 @KevinReid在 Apple SE 上问题的回答改编了它。

让它在终端中运行,等待流氓应用程序窃取焦点,然后查看最后列出的应用程序。(对我来说:Google Drive。其他人报告了赛门铁克 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)
Run Code Online (Sandbox Code Playgroud)

  • 我的罪魁祸首是 JetBrains Toolbox [/Applications/JetBrains Toolbox.app/Contents/jetbrains-toolbox-cef.app],它试图自我更新并在此过程中崩溃。非常感谢!也消耗了大量的资源。 (2认同)
  • 非常感谢你的剧本。就我而言,它是 Corel 的更新程序 (CUH.app)。 [更多信息](https://beesbuzz.biz/blog/7337-Corel-Update-Helper-focus-stealing)。 (2认同)