applescript 无法直接调用 macos 原生分屏功能,必须依赖 rectangle 等第三方工具的 url scheme 或应用内置脚本接口;通过 open location 触发预设布局(如 left-half)、链式操作及启动自动分屏,配合权限设置(辅助功能+全盘访问)方可稳定运行。

AppleScript 能直接驱动 macOS 应用窗口分屏,但不是靠模拟点击或拖拽,而是通过调用支持 AppleScript 的工具(如 Rectangle)或应用自身接口来实现。关键在于:系统原生不提供通用的“分屏”AppleScript命令,必须依赖第三方窗口管理工具的 URL Scheme 或应用内置脚本词典。
用 Rectangle + AppleScript 实现精准分屏
Rectangle 是目前最成熟、最稳定的方案。它开放完整的 URL Scheme,AppleScript 可以用 open location 直接触发任意布局动作。
- 确保 Rectangle 已安装并运行(后台常驻)
- 脚本示例:将当前窗口设为左半屏
tell application "System Events" to open location "rectangle://execute-action?name=left-half" - 同理可替换为:
right-half、maximize、top-left、third-left等 50+ 种预设布局 - 支持链式操作:先右半屏,再移到外接显示器,只需连续两次
open location
为特定应用启动时自动分屏
结合 launch application 和延迟触发,可实现“打开即分屏”:
- 先启动应用(如 Safari),再等窗口出现
- 用
repeat循环检查窗口是否存在,避免执行过早 - 检测到后立即调用 Rectangle URL,例如:
open location "rectangle://execute-action?name=right-half" - 适合固定工作流:邮件客户端总在右侧三分之一,终端总在左侧,浏览器总居中
配合 Terminal 或其他可脚本化应用
某些应用(如 Terminal、iTerm2、Automator)自身支持 AppleScript 控制,可进一步组合:
- Terminal 支持
do script和create window,新建窗口后立刻用 Rectangle 分屏 - Automator 工作流程中嵌入“运行 AppleScript”操作,把分屏逻辑封装进图形化自动化
- iTerm2 虽不可直接 AppleScript 分屏,但可通过快捷键触发(用
key code模拟),前提是已启用辅助功能权限
注意事项与权限设置
这类脚本首次运行通常会失败,因为 macOS 限制了自动化权限:
- 必须在“系统设置 → 隐私与安全性 → 辅助功能”中勾选 Script Editor 和目标应用(如 Rectangle、Terminal)
- 若调用 URL Scheme,还需授予“全盘访问”权限(Rectangle 文档明确要求)
- 脚本保存为 .scpt 文件后,双击运行仍需手动授权;建议导出为 App 或集成到 Alfred/BetterTouchTool 中复用











