从多年前开始使用 macOS 的时候,通常会出现需要点击两次(先激活窗口)才能够进行操作的问题,比如当你打开网页版 ChatGPT 想复制代码块的时候,通常得点两次才能够复制的到,有时候没复制到还需要反复折腾,有点劳累。
然后我在 V 站做了下初步调研,很多 V 友也有这个问题,如: https://www.v2ex.com/t/1039149 https://www.v2ex.com/t/1042500
这些回答下的很多热心 V 友提供了一个叫 autoraise 的软件(我也用了很久),基本原理是追踪鼠标的轨迹,raise 或者 focus 来提前激活鼠标所在的窗口。
但是这两个方法会造成应用菜单栏改变的问题,比如我想打开 A 软件的设置,而到达左上角应用菜单的路径上有另外的软件 B ,移动鼠标的时候会导致软件 B 被唤起,从而左上角应用菜单栏变成软件 B 的了。
对于这个问题,autoraise 可以通过设置延时来进行缓解。但是这个延时是一把双刃剑,如果延时设置少了,你得一个非常快的速度移到左上角,不够优雅,如果你设置多了,有时候窗口激活没反应过来。
于是感谢 AI 神力,针对这个问题我开发了了这个小工具: https://github.com/realDGD/macOS-ClickThrough
这个软件不同 autoraise 需要定时对鼠标位置进行轮询的原理,而是通过 CGEventTap 监听左右键按下的时间,然后调用 macOS 的 AXMain → AXFrontmost 来进行操作,也就是在左键点击下才会改变窗口的焦点,从根本上解决 autoraise 的问题。
当然,得实事求是的说,目前这个软件存在着一些不足:
最后欢迎大家使用。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.