DGD
V2EX  ›  macOS

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

  •  
  •   DGD · 2h 54m ago · 182 views

    从多年前开始使用 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 )

    最后欢迎大家使用。

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2779 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 10:59 · PVG 18:59 · LAX 03:59 · JFK 06:59
    ♥ Do have faith in what you're doing.