Loop 免费开源 macOS 窗口管理工具:径向菜单 + 快捷键的完整上手教程
【免费下载链接】LoopWindow management made elegant.项目地址: https://gitcode.com/GitHub_Trending/lo/Loop
Loop是一款免费开源的 macOS 窗口管理工具,用一次按键 + 一个圆形菜单就能完成移动、缩放、分屏等窗口操作,适合窗口多、爱整理桌面的 Mac 用户。你是否还在为把窗口拖到屏幕一半、精确到几个像素而反复拉拽?
2 分钟装好 Loop
Homebrew 安装(推荐)
brew install loop手动安装:到项目仓库的 Releases 页面下载最新的.zip安装包,解压后拖进 Applications 即可。如果想从源码构建,可以克隆仓库:
git clone https://gitcode.com/GitHub_Trending/lo/Loop然后打开 Xcode 工程编译运行。安装完成后首次启动,系统会要求授予辅助功能权限,点允许即可;权限逻辑在 Loop/Utilities/AccessibilityManager.swift。整个过程 2 分钟以内。
按场景实战:Loop 能替你干什么
当你想快速分屏的时候
传统做法是把窗口拖到屏幕边缘等吸附,Loop 的做法是:按住触发键(默认⌘⌘即左右 Command,可改成任意组合),光标朝某个方向移动,屏幕中央会浮现一个径向菜单,指向哪个方向窗口就去哪——左半屏、右上四分之一、下三分之一……松开按键即生效。径向菜单的实现代码在 Loop/Window Action Indicators/Radial Menu/,它的每个扇区就是一个窗口方向。
以"代码放左半屏、浏览器放右半屏"为例:先选中代码窗口,按住触发键向左推;再选中浏览器,向右推。两次操作,全程手不离键盘。
当你怕误操作的时候
Loop 有预览窗口功能:执行动作前,先用半透明的轮廓框显示窗口将变成什么样,你确认方向没问题再执行,不想要就直接松手放弃。相当于给窗口操作加了一个"撤销保险"。预览窗口的控制器代码在 Loop/Window Action Indicators/Preview Window/。

当窗口太多想收起来的时候
暂存(Stash)可以把暂时不用的窗口贴到屏幕边缘"藏"起来,只留一小条可见。鼠标靠近屏幕边缘时窗口会自动滑出,移开后又收回——不用切换应用、不用最小化。这个机制由 Loop/Stashing/StashManager.swift 实现,多个窗口堆在同一边缘时还会自动错开位置,保证每个都点得中。
当你不想记菜单方向的时候
纯键盘流也完全支持:给任意窗口操作绑定一个快捷键(触发键 + 一个字母),比如触发键 + L= 左半屏、触发键 + R= 右半屏、触发键 + M= 最大化。设置界面在 Loop/Settings Window/Settings/Keybinds/,内置操作覆盖最大化、最小化、居中、四半屏、四象限、横竖三分之一、跨显示器移动、放大缩小、撤销恢复等 50 多种。
3 个可直接照抄的效率配方
配方一:重复按键触发循环动作(Cycles)
把同一个键绑成一个循环序列,比如右三分之一 → 右半屏 → 最大化,然后连按这个键,窗口就在三种状态间轮转。这是 Loop/Settings Window/Settings/Keybinds/ 里的 Cycle 类型快捷键,还支持 Shift 反向循环、"每次从第一项开始"等选项。
配方二:用 URL Scheme 写自动化脚本
Loop 支持loop://协议,终端里就能控制当前窗口(完整命令清单见 Loop/Core/URLCommandHandler.swift 顶部注释,也可用open "loop://list/all"自行查询):
open "loop://direction/left" # 当前窗口贴左半屏 sleep 0.5 open -a "Terminal" open "loop://direction/right" # 终端贴右半屏配方三:把 Caps Lock 改成触发键
很多用户把 Caps Lock 重映射为 Control 再当触发键。去系统设置 → 键盘 → 键盘快捷键 → 修饰键,把 Caps Lock 改成 Control,然后在 Loop 的设置(Behavior 选项卡)里选⌃ Control作为触发键即可。不想动系统设置的话,也可以用 Hyperkey、Karabiner 这类第三方工具做重映射。
个性化配置速览
| 类别 | 可定制项 |
|---|---|
| 径向菜单 | 圆形/方形样式、宽度、颜色方案、整体或光标交互单独开关 |
| 预览窗口 | 内边距、圆角半径、边框颜色与宽度、透明度 |
| 触发器 | 触发键(单键或多键)、触发延迟、双击触发、中键触发、左右键区别对待 |
| 快捷键 | 每个操作独立绑定、循环序列、自定义窗口尺寸 |
| 排除列表 | 指定 App 不受 Loop 管理(ExcludedAppsConfiguration.swift) |
| 主题 | 内置 12 套应用图标主题,支持从壁纸提取强调色 |

同类窗口管理工具怎么选
| 对比维度 | Loop | Rectangle Pro | Magnet | Moom |
|---|---|---|---|---|
| 价格 | 免费 | $9.99 | $4.99 | $15.00 |
| 开源 | ✅ | ❌ | ❌ | ❌ |
| 径向菜单(鼠标/触控板) | ✅ | 部分支持 | ❌ | ❌ |
| 主题定制 | ✅ | ❌ | ❌ | ❌ |
| 窗口暂存(Stash) | ✅ | ✅ | ❌ | ❌ |
| 动作循环(Cycles) | ✅ | ✅ | ❌ | ✅ |
| 脚本控制(URL/AppleScript) | ✅ | ✅ | ❌ | ✅ |
选型建议:预算有限、想要鼠标和键盘双交互选 Loop;已经是 Rectangle 重度用户且只需键盘快捷键,免费版 Rectangle 也够用;需要更复杂的自动化编排则考虑 Hammerspoon。
常见坑与解决
现象:按了触发键径向菜单不出来。原因:辅助功能权限未授予或授予后没重启应用。解法:系统设置里确认 Loop 已开启辅助功能,然后彻底退出 Loop 再打开。
现象:触发键和系统或其他软件的快捷键冲突。原因:比如你选了 Command 方向键,会跟 macOS 原生操作打架。解法:换一个少用的键(如 Control 或 Caps Lock 重映射),并在设置里开启"左右键区别对待",把左右触发分开用。
现象:某个 App 的窗口总被 Loop 乱动。原因:全屏游戏、视频播放器等不适合被分屏。解法:在排除列表里加入该应用,设置路径见 Loop/Settings Window/Loop/ExcludedAppsConfiguration.swift。
现象:暂存窗口在屏幕边缘互相压住。原因:同一边缘暂存窗口过多且高度不够。解法:调小"暂存可见高度"设置,或把不同项目的窗口暂存到不同边缘。
现象:用 URL Scheme 命令时操作了错误的窗口。原因:命令作用在"最前面的非终端窗口"上。解法:执行命令前先激活目标窗口,多步脚本里用open -a或osascript激活应用。
成长路线
今天:装好 Loop,把触发键改成顺手的那个键,用径向菜单完成 3 次左右分屏。
本周:给最常用的 4~6 个操作绑上字母快捷键,开一个预览窗口试试"先看到再执行"的手感。
进阶:把 Cycles 和 URL Scheme 脚本用起来——例如给"日常编码布局"配一个一键循环,给演示切换写一段 shell 脚本。
如果你的桌面常年同时开着 5 个以上窗口,不妨花 2 分钟装一下 Loop,把它当成键盘和鼠标之间的第三种操控方式试试。
【免费下载链接】LoopWindow management made elegant.项目地址: https://gitcode.com/GitHub_Trending/lo/Loop
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考