[开源自荐] 做了一个提升幸福感的小工具,功能是在 macOS 上面实现点击穿透

3 小时 3 分钟前
 DGD

从多年前开始使用 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 的问题。

当然,得实事求是的说,目前这个软件存在着一些不足:

  1. 不一定适配了所有的软件,因为这个项目才开发了几天,得大量使用和时间才能够保证所有应用首次点击都有效。个人通过这几天的使用目前没发现异常,软件兼容性还需要时间观察。
  2. 当前为 ad-hoc 签名、未经 Apple 公证的开发版。(没钱买开发者的证书😭,需要大伙安装后到隐私与安全性那边去批准)
  3. 软件为 AI Slop 并且测试环境为 macOS 27 ,可能对低版本系统兼容性不好( GPT 说是能够支持到 macOS 14 )

最后欢迎大家使用。

188 次点击
所在节点    macOS
0 条回复

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

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

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

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

© 2021 V2EX