mbooyn
V2EX  ›  Apple

M1 Ventura 经常失去窗口焦点

By mbooyn at 2022 年 12 月 6 日 · 3263 次点击

网上参考的都是以下脚本,但是在 m1 中并没有 python2 安装在 /usr/bin/python ,有大佬指条明路吗,一天能碰到 5 次以上 1 、使用 pyenv 安装的 py2.7.18 环境执行报错 2 、将 pyenv 的 ln -s 也是报错 sh-3.2# ln -s /Users/xxx/.pyenv/versions/2.7.18/bin/python2.7 /usr/bin/python ln: /usr/bin/python: Operation not permitted

参考: https://www.v2ex.com/t/743899

'''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)

'''

16 条回复  •  2023-03-10 14:07:45 +08:00
mbooyn
   2
mbooyn  
OP
   2022 年 12 月 7 日
@zhaoxin
It turns out someone has written a package called AppKit that is completely distinct Mac operating system component. Here is the other AppKit:

----
我好像就是要找那个 Mac 系统里面的 AppKit 🤦按照文章说的一通操作下来在 python 中导入 AppKit 模块还是提示没有
zhaoxin
   3
zhaoxin  
   2022 年 12 月 7 日
@mbooyn 英文已经说得很清楚了。那个 appkit 是第三方的,需要单独安装,虽然名字和苹果的 AppKit 相同,但是不是同一个东西。

我没学过 python ,不过按照说明,应该就是用 pip 安装一个 appkit 的包,然后就可以了。不过如果你会 swift 的话,可以自己写一个应用,它那个应用就是每秒打印一次当前窗口的应用名,这样一但发现窗口失去焦点,就看看这个后台打印的是哪个应用的名字,就知道是哪个应用导致了这个问题了。

所以,如果用别的语言写的话,也很简单。
mbooyn
   4
mbooyn  
OP
   2022 年 12 月 7 日
@zhaoxin 现在在 pycharm 里面的 python 环境变量已经加上了这个第三方的 AppKit ,但是就是引用不到 😔
swift 并不会。。。搜到教程看到介绍写程序获取的方法,但是我无从下手🤦

[图片 1]( )
[运行报错]( )
zhaoxin
   5
zhaoxin  
   2022 年 12 月 7 日
@mbooyn 你撞到坑了。看到你运行时的环境时 py3 ,这个脚本是 py2 的。需要转换成 py3 ,而 py3 引用 AppKit ,需要全小写才行,appkit 。用 py3 的话,后面你还需要把 print 的部分都改成 py3 的格式。
mbooyn
   6
mbooyn  
OP
   2022 年 12 月 7 日
@zhaoxin 现在修改成了 py2 的格式,还是拿不到。



py3 的环境我也改成小写尝试,没找到对应方法
zhaoxin
   7
zhaoxin  
   2022 年 12 月 7 日   ❤️ 1
不会 python ,我按照这个思路写了一个 swift 版的。应用支持 macOS 11 及以上。已经通过苹果验证。可以直接安装。下载:

https://filetransfer.io/data-package/X6Xmkgqd#link
mbooyn
   8
mbooyn  
OP
   2022 年 12 月 7 日
@zhaoxin 我去!已经下载使用,感谢大佬的工具 🐂
vimcaw
   9
vimcaw  
   2022 年 12 月 7 日
@zhaoxin 挺好的工具,非常感谢,另外要是能显示历史记录就好了。
mbooyn
   10
mbooyn  
OP
   2022 年 12 月 7 日
@zhaoxin 哈哈,抓到了,是罗技的驱动 lghub

zhaoxin
   11
zhaoxin  
   2022 年 12 月 7 日
@mbooyn 我的这个应用在 M1 下运行不正常。一只显示动画,刷不出来硬件。所以我把它卸载了。我用的是 G304 ,把配置写到版载内存,不安装这个驱动也可以。
mbooyn
   12
mbooyn  
OP
   2022 年 12 月 7 日
@zhaoxin 我的是 14 寸 m1 pro 13.0.1 版本,可以正常运行。我也是设置了板载内存,今天下午刚把 LGhub 卸载
yueryuer
   13
yueryuer  
   2023 年 3 月 10 日
@zhaoxin 你好,
Current Window.app.zip 该应用在 filetransfer 上需要收费下载,请问有其他下载链接吗
zhaoxin
   14
zhaoxin  
   2023 年 3 月 10 日
@yueryuer 别急。我弄个 iCloud 的分享。
zhaoxin
   15
zhaoxin  
   2023 年 3 月 10 日   ❤️ 4
@yueryuer https://www.dropbox.com/s/d8qbu1v98ok059h/Current%20Window.app.zip?dl=0

iCloud 不能匿名分享,上传到 dropbox 了。
yueryuer
   16
yueryuer  
   2023 年 3 月 10 日   ❤️ 1
@zhaoxin 非常感谢,通过您的工具已经捕捉到是 iShotHelper
© 2026 V2EX · 43ms · 3.9.8.5