用一根键摆好窗口:macOS 免费开源窗口管理工具 Loop 完整上手指南
用一根键摆好窗口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 开源窗口管理工具 Synthwave Sunset 主题图标](https://raw.gitcode.com/GitHub_Trending/lo/Loop/raw/7ce662a55fc1fb7ee30ab2946a15cfc3fdc61835/Loop/Assets.xcassets/App Icons/AppIcon-Holo.appiconset/appicon_1024.png?utm_sourcegitcode_repo_files)价格维度上没有悬念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),仅供参考

相关新闻

随机点名器实战拆解:JavaScript读取TXT名单与编码处理全解析

随机点名器实战拆解:JavaScript读取TXT名单与编码处理全解析

简介:这是一份面向网页设计初学者的HTMLJavaScript随机点名器源码,适合教师、主持人在课堂或活动中快速点名。工具通过上传txt文档导入姓名列表,点击按钮即可随机抽取一人并展示结果,界面简洁,交互反馈即时。压缩包共7…

2026/10/9 3:09:57 阅读更多 →
SSM+JSP网上招投标系统:从环境搭建到业务闭环落地

SSM+JSP网上招投标系统:从环境搭建到业务闭环落地

简介:面向Java毕业设计与课程设计的SSM网上招投标系统完整项目包,适合有Java基础、需要完成实训项目或期末大作业的学生。项目基于SSM框架整合,前端采用HTML/JSP/Vue组合,代码含注释,核心逻辑易于理解。压缩包共812个文…

2026/10/9 3:09:57 阅读更多 →
eNSP中DHCPv6地址自动配置实战:从原理到抓包排错

eNSP中DHCPv6地址自动配置实战:从原理到抓包排错

1. 为什么要在 eNSP 里动手搭 DHCPv6:从"手动配死"到"地址自动下发"1.1 这个实验到底在解决什么问题先说个很多人都有过的经历:刚接触 IPv6 的时候,总觉得它和 IPv4 没什么本质区别——无非就是把 32 位的地址换成了 128…

2026/10/9 3:09:57 阅读更多 →

最新新闻

Java跨平台原理深度解析:字节码、JVM 与一次编译到处运行的真相

Java跨平台原理深度解析:字节码、JVM 与一次编译到处运行的真相

1. 跨平台问题的本质:你踩中的“认知陷阱”在哪1.1 跨平台到底在跨什么“平台”先把这个词拆开看。平台这个概念,多数时候指的是操作系统与底层硬件架构的组合,比如 Windows x86、Linux ARM、macOS Apple Silicon。任何一个程序最终都要通过操…

2026/10/9 3:40:17 阅读更多 →
MySQL JOIN优化实战:从EXPLAIN看懂执行计划,彻底告别慢查询

MySQL JOIN优化实战:从EXPLAIN看懂执行计划,彻底告别慢查询

前阵子接到一个线上慢查询,三张表JOIN,接口一到晚高峰就超时,DBA把EXPLAIN丢给我,我看到一整排的ALL和Extra列里的“Using join buffer”,就知道这条SQL又没吃到JOIN算法的红利,纯靠嵌套循环硬扛。后来花了…

2026/10/9 3:40:17 阅读更多 →
Win10网络发现关闭指南:公用网络与防火墙规则彻底禁用

Win10网络发现关闭指南:公用网络与防火墙规则彻底禁用

简介:针对 Windows 10 用户关闭网络发现功能的实操型图文文档,压缩包内包含 1 个 docx 文件,整体仅 228KB,内容精炼无冗余。文档通过控制面板中大图标视图、网络和共享中心、更改高级共享设置三步路径,详细展示关闭网络…

2026/10/9 3:40:17 阅读更多 →
MyBatis动态SQL核心标签实战:if、where、set、foreach、trim详解

MyBatis动态SQL核心标签实战:if、where、set、foreach、trim详解

1. 为什么要学 MyBatis 动态 SQL做 Java 后端开发的,几乎没有不认识 MyBatis 的。它轻量、灵活、SQL 掌控力强,是很多团队持久层方案的默认选项。但是真正用好的分水岭,往往就出现在“动态 SQL”这一关——也就是根据条件拼接 SQL 的能力。如…

2026/10/9 3:40:17 阅读更多 →
WinForm截图识别工具源码解析:OCR引擎调用与避坑实践

WinForm截图识别工具源码解析:OCR引擎调用与避坑实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 3:40:17 阅读更多 →
优先级频繁变动怎么办?建立响应机制让团队告别厌战情绪

优先级频繁变动怎么办?建立响应机制让团队告别厌战情绪

1. 先别急着管情绪,先承认一个残酷事实:优先级本身就不该“稳定”先抛个反直觉的观点:如果你们团队正在为“优先级频繁变动”而痛苦,问题往往不在“变”本身,而在“变”这件事被做得太潦草了。我做项目和带团队这些年&…

2026/10/9 3:39:17 阅读更多 →

日新闻

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API实战:LocalDate、Date与ZonedDateTime的转换与避坑指南

Java时间API这个话题,隔三差五就会在群里被翻出来讨论一次。上周还有个同事线上处理一个订单超时问题,排查到最后发现是ZonedDateTime序列化后时区丢了,用户在下单当天晚上看到的时间整整差了8个小时。这类问题几乎每个做Java开发的人都遇到过…

2026/10/9 0:00:49 阅读更多 →
EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

EasyTier实践:从NAT穿透到子网代理的异地组网部署与排错

前几个月我手头有好几台机器需要互相访问:办公室台式机、家里 NAS、还有一台云主机。如果只是偶尔传个文件倒还好,问题是工作场景经常要在几处环境之间来回切换,每次都先登录跳板机再层层代理,实在折腾。我先后试过端口映射、自建…

2026/10/9 0:00:49 阅读更多 →
AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent工程实战:从七要素到七个决策点的系统设计指南

AI Agent 这个词在过去一年里被反复提及,但真正动手搭过一套能跑起来的 Agent 系统的人都知道,从"知道它是什么"到"让它稳定干活"之间隔着一整套工程决策。我前后参与过几个 Agent 项目的落地,从最初用现成框架拼装&…

2026/10/9 0:01:50 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:32 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:40 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 10:10:36 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 21:13:17 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/8 15:26:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/7 13:34:55 阅读更多 →