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


25

我机器上的活动窗口有时会失去焦点。活动的应用程序保持不变-如果我以前使用过Chrome,现在现在仍在Chrome中-但活动窗口不再处于活动状态。没有窗口处于活动状态。这令人沮丧。输入此问题时发生了,我的按键突然停止了注册。

我相信其他一些应用程序正在失去焦点,但是它本身没有要显示的UI,因此活动窗口不会处于活动状态,但是活动应用程序仍然处于活动状态。

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


您可以尝试Apple > Force Quit...菜单来查看是否有任何不该运行的内容。
迈克尔·弗兰克

1
@MichaelFrank它不会显示没有菜单栏的应用程序(例如,LSUIElement设置为truein的应用程序Info.plist)。这些完全有能力做到这一点。
丹尼尔·贝克

@DanielBeck啊,知道了。这很容易知道。
Michael Frank

1
仅供参考,我在Apple SE上基本问了同样的问题:是否可以检测到哪些程序正在将注意力转移到Mac上?
凯文·里德

tell application "System Events" to display alert ((name of first application process whose frontmost is true) as string)不幸的是,不考虑没有菜单栏的进程。
丹尼尔·贝克

Answers:


35

这是一个脚本,它将告诉您哪个应用程序正在激活,而无需告诉您。我将其改编自Apple SE上 @KevinReid的问题的答案。

让它在终端中运行,等待恶意应用窃取焦点,然后查看最后列出的应用。(对我来说:Google云端硬盘。其他人报告了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)

该脚本告诉我我的罪魁祸首是Google Drive [/Applications/Google Drive.app]
MarkHu

对我来说,罪魁祸首是赛门铁克。
Josh Bleecher Snyder 2015年

1
就我而言,它是SecurityAgent [/System/Library/Frameworks/Security.framework/Versions/A/MachServices/SecurityAgent.bundle]
Ed Randall

令人反感的应用是Microsoft Update Assistant。我非常感谢这个答案,这个问题使我发疯了一段时间。
jamesbev

2
我的罪魁祸首是JetBrains工具箱[/ Applications / JetBrains Toolbox.app/Contents/jetbrains-toolbox-cef.app],它试图进行自我更新并崩溃。非常感谢你!它还消耗了大量的资源。
加百利

1

这听起来很愚蠢而且荒谬……当我使用触控板或内置键盘时,我的笔记本电脑也遇到了同样的问题。如果两台单独的笔记本电脑在暴露于湿气后会提供相似的体验(是的,我溅到了键盘上)。

添加外围鼠标和键盘为我解决了它。


1
有趣。我使用外部鼠标和键盘,但希望这会对其他人有所帮助。谢谢。
Josh Bleecher Snyder 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.