M1 Ventura 经常失去窗口焦点

2022-12-06 11:14:55 +08:00
 mbooyn

网上参考的都是以下脚本,但是在 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)

'''

1486 次点击
所在节点    Apple
16 条回复
zhaoxin
2022-12-06 17:06:47 +08:00
mbooyn
2022-12-07 09:35:46 +08:00
@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
2022-12-07 11:27:14 +08:00
@mbooyn 英文已经说得很清楚了。那个 appkit 是第三方的,需要单独安装,虽然名字和苹果的 AppKit 相同,但是不是同一个东西。

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

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

[图片 1]( )
[运行报错]( )
zhaoxin
2022-12-07 11:46:44 +08:00
@mbooyn 你撞到坑了。看到你运行时的环境时 py3 ,这个脚本是 py2 的。需要转换成 py3 ,而 py3 引用 AppKit ,需要全小写才行,appkit 。用 py3 的话,后面你还需要把 print 的部分都改成 py3 的格式。
mbooyn
2022-12-07 12:42:13 +08:00
@zhaoxin 现在修改成了 py2 的格式,还是拿不到。



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

https://filetransfer.io/data-package/X6Xmkgqd#link
mbooyn
2022-12-07 13:41:57 +08:00
@zhaoxin 我去!已经下载使用,感谢大佬的工具 🐂
vimcaw
2022-12-07 14:10:32 +08:00
@zhaoxin 挺好的工具,非常感谢,另外要是能显示历史记录就好了。
mbooyn
2022-12-07 16:00:27 +08:00
@zhaoxin 哈哈,抓到了,是罗技的驱动 lghub

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

iCloud 不能匿名分享,上传到 dropbox 了。
yueryuer
2023-03-10 14:07:45 +08:00
@zhaoxin 非常感谢,通过您的工具已经捕捉到是 iShotHelper

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/900441

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX