一个 macOS 小工具,按住修饰键(默认 Option)即可在窗口任意位置拖拽移动窗口,体验与拖拽原生标题栏一样流畅。它还提供修饰键+双击最大化、修饰键+右键调出分屏面板等便捷手势功能。
如果你用 macOS,应该有过这种体验:想移动一个窗口,鼠标得先挪到标题栏上那窄窄一条,找准了再拖。窗口小的时候还好,窗口一多、一挤,这个瞄准动作就挺烦的。
AnyDrag 让你不必按住标题栏,就能拖动、缩放、最大化、平铺窗口。
一款 macOS 小工具,不必按住标题栏,就能拖动、缩放、最大化、平铺窗口
一款 macOS 小工具,不必按住标题栏,就能拖动、缩放、最大化、平铺窗口
就这么一件事,同类工具不少,为什么它不一样?
市面上早就有能实现类似效果的工具,比如 BetterTouchTool 里的修饰键拖拽功能。但那些工具走的是 Accessibility API 的路径——每移动一帧窗口位置,都要跨进程跟目标应用通信一次,帧和帧之间难免有滞后的感觉。
AnyDrag 的做法是在窗口服务器层面直接把鼠标坐标"改写"进标题栏区域内。系统以为你在拖标题栏,实际你拖的是窗口中间。整个拖动走的是 macOS 原生的标题栏拖拽代码路径,中间没有任何逐帧的进程间通信。
结果就是:拖起来跟拖原生标题栏一个手感,没有延迟。
除了拖拽,它还能做什么
AnyDrag 没有堆砌功能,围绕修饰键这个交互中心,加了几样用得上的:
修饰键 + 双击:窗口最大化,再双击恢复原来尺寸。
修饰键 + 右键:弹出分屏面板,可以快速把窗口贴到半屏、四分之一屏、全屏,或者发送到另一台显示器。
中键方向贴靠:按住鼠标中键,往屏幕边缘或角落拖,窗口自动吸附过去。多显示器下,面板会按你实际屏幕的物理布局来展示,可以一次精准选到"某块屏幕的某个区域"。
任意角落缩放:不用再去对那几像素宽的窗口角把手,从最近的角就能拖拽缩放。
所有设置都在一个系统设置风格的原生窗口里完成,没有配置文件要手动改。
安装和权限
安装走 Homebrew 最省事:
brew install --cask XueshiQiao/tap/anydrag
也可以去 GitHub Releases 页面下载 dmg,拖进 Applications 就行。应用有 Apple Developer ID 签名和公证,安装不会弹安全警告。
首次启动需要授予辅助功能权限(系统设置 → 隐私与安全性 → 辅助功能),这是检测修饰键和移动窗口的前提。
项目由 XueshiQiao 开发,主要用 Swift(90.4%) 编写,采用 GPL v3.0 协议。
项目地址:https://github.com/XueshiQiao/AnyDrag
|