用一根键摆好窗口macOS 免费开源窗口管理工具 Loop 完整上手指南【免费下载链接】LoopWindow management made elegant.项目地址: https://gitcode.com/GitHub_Trending/lo/LoopLoop 是一款免费、开源GPLv3的 macOS 窗口管理工具支持 macOS 13 及以上系统。它把拖窗口这个动作换成了指方向按住一个触发键圆形径向菜单立刻浮在光标前光标往哪边移窗口就往哪边摆——左半屏、右四分之一、横向三分之一松手即落位。所有窗口动作执行前还会先画一个半透明轮廓位置没对就取消不浪费一次移动。对每天要在两三个布局之间来回倒腾的人这套流程比反复拖拽省事得多手基本不离开键盘区单次摆放两三秒。从拖到指一次摆放的完整动作流先建立直观感受。下面这段演示里窗口停在屏幕中央用户按住触发键后径向菜单展开光标移向左侧目标区域立刻画出轮廓松开按键窗口一步到位。把它拆成四个动作按住触发键——菜单以光标为中心展开每个方向块对应一种布局移动光标——扫过哪个方向块哪个布局高亮同时目标轮廓在屏幕上预览松手——窗口移动 缩放到目标区域一步完成不满意就松手前移开——不选中任何方向块动作直接取消。这套交互主要面向触控板和鼠标用户。相比修饰键加方向键的组合键方案指方向更接近指哪放哪的直觉不用去记⌃⌥←对应哪个区域。先把工具装进 Mac两条路 一项权限Homebrew 一行装好brew install loop没有 Homebrew 就自己编译克隆仓库后用 Xcode 打开项目运行git clone https://gitcode.com/GitHub_Trending/lo/Loop首次启动只弹 1 项权限申请辅助功能权限用于读取窗口列表、移动和调整窗口大小。到「系统设置 → 隐私与安全性 → 辅助功能」里勾选 Loop 即可。径向菜单和预览轮廓本身不额外申请任何权限。一个常被卡住的细节很多人想把 Caps Lock 当触发键但系统默认把它当开关用。README 给了改法——在「系统设置 → 键盘 → 键盘快捷键 → 修饰键」里把 Caps Lock 重映射为 Control再回 Loop 里选 Control 当触发键也可以借助第三方工具完成映射。30 秒完成第一次半屏摆放装好后只需要三步就能跑通选触发键打开设置窗口 Behavior 标签挑一个平时不用的键或键组作为触发键聚焦窗口点一下要摆放的窗口让它处于最前按住、指向、松手按住触发键光标移向左侧看到左半屏的预览轮廓后松手。到这里核心功能已经可用。触发键支持单键或多键组合后续每个方向动作都可以单独绑定触发键 方向键的快捷键实现纯键盘操作入口在 KeybindsConfigurationView.swift。四个核心模块各管一件事径向菜单方向选择器本体。宽度、形状、配色都能单独调用不惯鼠标交互的话光标交互和菜单本身可以分别关掉只保留键盘路径。配置项在 RadialMenuConfigurationView.swift菜单几何与渲染逻辑在 Radial Menu 目录。预览轮廓动作落位前的影印图。窗口将占的位置和大小先画出来确认无误再执行避免摆完再撤销。预览的边距、圆角、边框颜色和粗细都在 Preview 标签里可调视图实现在 PreviewView.swift。暂存 Stash把不用的窗口压扁贴到屏幕边缘只留一条窄边。鼠标悬停到那条边窗口自动滑出再用快捷键收回。屏幕小的 MacBook 上尤其有用相当于把 Dock 的思路用到了工作窗口上。核心逻辑在 StashManager.swift。循环 Cycles同一个快捷键连续按窗口会在预设的多个布局间依次轮换比如左半屏 → 左三分之一 → 全屏重复点击鼠标左键也能触发。一天里反复在两三个布局之间切换的人这是省得最多的一个功能。轮换状态由 CycleActionCoordinator.swift 管理。全部可用动作——半屏、四分之一、横向/纵向三分之一、跨屏切换、缩放、平移、撤销——都定义在 WindowDirection.swift 里对照这份枚举就能查全菜单上每个方向块对应的精确布局。和付费同类工具比Loop 赢在哪macOS 原生只有有限的窗口贴边布局Rectangle Pro$9.99和 Magnet$4.99把快捷键摆窗口做熟了但都没有径向菜单外观也基本不可定制。Loop 的差异点集中在三处方向选择用径向菜单而非纯快捷键、窗口暂存 Stash、外观全链路可改——菜单形状和颜色、预览边框连应用图标都内置了十余套主题Classic、Holo、Synthwave Sunset、Black Hole 等用够次数还会解锁新图标图标定义见 Icon.swift。价格维度上没有悬念Loop 免费且完整开源GPLv3 协议意味着菜单布局、交互逻辑本身都能改源码。从终端自动化布局loop:// URL Scheme想更省事的话Loop 暴露了loop://URL Scheme终端里一行open就能摆窗口open loop://direction/left # 当前窗口移到左半屏 open loop://action/maximize # 最大化 open loop://screen/next # 换到下一块屏幕配合sleep 0.5可以串成多步脚本AppleScript 里也能调例如osascript -e open location loop://direction/left。忘了参数名时直接跑open loop://list/actions列出全部动作loop://list/keybinds列出自定义键位。多显示器场景下内置 next、previous、left、right 等 6 个跨屏动作先把整块窗口换屏再独立摆布局。完整命令文档写在 URLCommandHandler.swift 头部。全屏游戏这类不想被管理的程序加进 Excluded Apps 列表即可入口在 ExcludedAppsConfiguration.swift。装好之后先做这一件事回到日常后台占用很小只在触发键按下时才干活权限只要辅助功能 1 项版本支持 macOS 13 到最新。下一步动作很具体打开 Behavior 标签把触发键设好然后对当前窗口做一次左半屏摆放——按住、指向、松手。径向菜单的配色、预览边框样式、暂存宽度这些都不用第一天调用一周之后再看哪些留、哪些关。【免费下载链接】LoopWindow management made elegant.项目地址: https://gitcode.com/GitHub_Trending/lo/Loop创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考