Loop:macOS 窗口管理器,径向菜单把分屏、贴边、多屏切换一次到位
【免费下载链接】LoopWindow management made elegant.项目地址: https://gitcode.com/GitHub_Trending/lo/Loop
每个用 Mac 办公的人都干过同一件事:一只手悬在窗口边角上,另一只手凑近触控板,一点点把浏览器拖到屏幕左半边,再对着像素缝来回微调 20 秒。窗口一多,桌面就变成了一场持续的体力活。Loop 是一款开源的 macOS 窗口管理应用:按住一个触发键,光标朝哪个方向走,窗口就落到哪个位置,拖拽和微调从此退出你的日常。
为什么选它
它把"移动、缩放、排列窗口"这件高频小事压缩成了单键操作,而且免费、开源(GPLv3),macOS 13 及以上可用。它最适合两类人:一台 MacBook 上常驻十几个窗口的重度用户,以及被多显示器折磨得想把窗口"扔"到另一块屏幕的人。与同类产品相比,它独有的组合是径向菜单 + 动作循环(Cycle)+ 窗口暂存(Stash),后两者在同价位的商业软件里都不多见。
5分钟跑起来:完成安装与首次授权
最短路径只有一条:打开终端执行
brew install loop不想用 Homebrew 的话,到项目的发布页面下载最新的.zip包解压即可。
装完先做两件事,之后基本不用再碰设置:
- 首次启动时系统会提示授予辅助功能权限,到「系统设置 > 隐私与安全性 > 辅助功能」里勾上 Loop,没有这一步它动不了任何窗口。
- 打开设置窗口,在Behavior页确认触发键。触发键是你所有操作的"前缀",按住它再配合方向或按键才生效,支持单键或组合键。
到这里就够用了——默认的径向菜单和快捷键已经能覆盖大部分场景。
场景化用法:分屏、清桌面、多屏搬运
对照资料写作:左右分屏
你在写文档,需要左边放资料、右边放编辑器,不想再拖窗口?
- 按住触发键,光标移向左或右,窗口立刻占住半边屏幕;想更精细,继续按住方向键连按,可以在"半屏 → 三分之一 → 三分之二"之间循环切换(这就是 Cycle,同一键位连按多一次,尺寸多走一档)。
- 更省事的办法是直接按"触发键 + 方向键":上下左右对应四个方向的循环,空格最大化,回车居中,四个斜向对角组合对应四个四分之一角落。
- 不确定会不会摆错位置?开启预览(Preview)后,执行动作前会先给你一个半透明占位框,确认满意再松手落位。
桌面越堆越乱:把窗口藏到屏幕边缘
开着一堆"暂时用不到但马上还要用"的窗口,最小化太粗暴,不关又占地方?
- 用 Stash 把当前窗口推到屏幕边缘,它从视野里消失但保留位置和状态。
- 需要时把鼠标移到对应屏幕边缘,窗口自己滑出来;也可以给它绑一个快捷键直接召回。
- 不想一个个处理?支持一键还原所有暂存窗口,桌面瞬间回到暂存前的样子。
两块屏幕来回搬窗口:多屏切换
外接显示器后,窗口从笔记本屏挪到外接屏不再需要"三指跨越 + 拖标题栏"。
- 在设置里给"Next Screen / Previous Screen / Left Screen / Right Screen"这类动作绑上触发键组合。
- 需要时按一下,当前窗口直接整块出现在目标屏幕上,尺寸不变。
- 配合"半屏"动作,可以顺手在新屏幕上再分一次屏,两步完成"搬过去 + 摆好"。
深度定制:主题、快捷键与排除名单
真正值得花时间改的就三个入口:
- 径向菜单外观:环形菜单的宽度、形状、配色都可以调,也可以整个关掉,只留光标拖拽模式。入口在主题的 Radial Menu 页,相关实现可以看 RadialMenuConfigurationView.swift。
- 快捷键映射:Keybinds 页里每个动作(半屏、三分之一、最大化、换屏……)都能单独重新绑键,录键器所见即所得,见 KeybindsConfigurationView.swift。
- 排除名单:有些应用(比如游戏、看视频)你根本不想让它参与窗口管理,在排除应用里加一行就行,源码在 ExcludedAppsConfiguration.swift。
避坑指南
窗口纹丝不动,快捷键也没反应?
十有八九是辅助功能权限没给对。回「系统设置 > 隐私与安全性 > 辅助功能」确认 Loop 的开关是打开的,然后重启 Loop。偶尔系统抽风会把它从列表里清掉,重新加一次即可。
触发键总被别的软件抢走?
触发键是全局监听,最容易撞车的是输入法切换键或别的效率工具。进 Behavior 页把触发键换一个少用的组合(比如右侧的 Control 或 Command),或者把你其他工具里的那条绑定删掉。如果你执意想用 Caps Lock 当触发键,得先在系统设置的修饰键映射里把它改成 Control,Loop 这边选对应的 Control 键。
动画偶尔卡顿、想关掉?
设置里有窗口动画相关开关,关掉后窗口动作会瞬间完成,牺牲一点流畅感换确定性的响应速度,见 AnimationConfiguration.swift。
某些窗口死活管不了?
先查它是不是全屏应用——全屏模式下 macOS 不允许外部调整窗口。退出全屏(或改用 Loop 的"最大化")就能管了。
写在最后
把窗口管理从"肌肉记忆"降级成"按一下",桌面立刻清爽一截。想深入看功能对比(README 里附了一张和十余款同类软件的横向表)、参与贡献或提需求,从 CONTRIBUTING.md 入手即可。
【免费下载链接】LoopWindow management made elegant.项目地址: https://gitcode.com/GitHub_Trending/lo/Loop
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考