V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
chonger
V2EX  ›  macOS

mac os 窗口不定时失焦的问题

  •  
  •   chonger · 2023-09-24 23:17:15 +08:00 · 621 次点击
    这是一个创建于 521 天前的主题,其中的信息可能已经有所发展或是发生改变。
    这段时间不知道什么软件有冲突,总是出现窗口莫名之妙失去焦点的问题,尤其是打字的时候,搜索了一下,发现以下代码,但不知道怎么运行,有朋友能教我一下吗?
    #!/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)
    jasonyang9
        1
    jasonyang9  
       2023-09-25 06:31:38 +08:00
    这段代码会每秒检测一次并在活动 App 切换时输出当前时间戳和 App 名字+路径
    Wxh16144
        2
    Wxh16144  
       10 小时 23 分钟前
    同: https://s.v2ex.com/t/743899
    Apple 社区: https://discussionschinese.apple.com/thread/254974399


    今天( 2025/02/26 )我也遇到了,将软件一个一个的退掉发现还是存在。
    虽然可以重启解决,但是不死心的我一定要找到问题,然后就 google 到了这段代码。


    我的是 macOS Sequoia 15.2, 没有 python 命令,取而代之的是 python3

    1. 手动手动复制这段代码。
    2. 打开终端,随便找一个目录
    3. 运行 `pbpaste > test.py` 将复制的代码写入一个 test.py 文件
    4. `cat test.py` 查看文件内容是否正确 [可选]
    5. python3 test.py 执行后查看终端输入那个软件抢夺了焦点
    6. 然后在活动监视器找到软件强制退出即可


    根据官网社区回复,在第 5 步可能会报错让其安装某个依赖。回复使用的是 pip

    实际上 macOS 最新的是 pip3. 具体看这里: https://stackoverflow.com/a/42937384/11302760

    使用 pip3 代替安装 `pip3 install --upgrade --force-reinstall PyObjC PyObjC-core` 可能还会遇到 python 报错。提示推荐使用虚拟环境(我纯 py 小白,所以都是翻译来的)


    在你当前目录创建虚拟环境命令
    第一步 `python3 -m venv $PWD`
    第二步 `source $PWD/bin/activate`

    然后再执行前面的 pip3 安装。

    最后再重复一开始的 5 和 6 步骤

    这是我最终 debug 出来抢夺焦点的软件日志

    2025-02-26 13:53:12: BetterAndBetter [/Applications/BetterAndBetter.app]
    2025-02-26 13:53:13: Google Chrome [/Applications/Google Chrome.app]
    2025-02-26 13:53:14: BetterAndBetter [/Applications/BetterAndBetter.app]
    2025-02-26 13:53:15: Google Chrome [/Applications/Google Chrome.app]
    2025-02-26 13:53:16: BetterAndBetter [/Applications/BetterAndBetter.app]

    罪魁祸首和官网社区提到的 ishot 出至同一个软件公司,无了个大语
    最终在活动监视器中将

    BetterAndBetterHelper
    BetterAndBetter

    都强制退出就好了~

    以上,希望对后面的人有一些帮助。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1616 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 16:39 · PVG 00:39 · LAX 08:39 · JFK 11:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.