news 2026/9/15 21:49:59

Loop 径向菜单窗口管理:一个按键让 macOS 窗口各就各位

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Loop 径向菜单窗口管理:一个按键让 macOS 窗口各就各位

Loop 径向菜单窗口管理:一个按键让 macOS 窗口各就各位

【免费下载链接】LoopWindow management made elegant.项目地址: https://gitcode.com/GitHub_Trending/lo/Loop

如果你受够了在 macOS 上手动拖动、缩放每一个窗口,开源应用Loop可能正合适。它是一个macOS 窗口管理工具:按住一个键,屏幕边缘弹出径向菜单,把光标甩向某个方向,当前窗口就精准吸附到左半屏、四分之一或任意自定义区域。免费,完全开源。

为什么 macOS 的窗口管理这么让人头疼

macOS 原生缺少好用的窗口布局能力:分屏对照资料、双屏来回搬窗口、六个窗口各占一角,全靠鼠标抓住边角拖,而且很难一次拖得刚刚好。当键盘流用户想快速整理桌面时,这种反复的鼠标拖动往往是最打断心流的环节。

周边工具倒是不缺,但多数收费或闭源,有些快捷键方案记起来也费劲。Loop 的切入点很明确:免费、开源,用一个按键把窗口摆好位置,并且在落位前让你先看到结果。

Loop 的工作原理:从触发键到屏幕吸附

🧲 整个交互的核心可以概括为触发键 + 径向菜单。应用常驻后台监听全局键盘和鼠标事件,逻辑集中在 LoopManager.swift:它追踪当前目标窗口的位置,接收输入,再交给窗口引擎执行布局。

按住键,径向菜单跟着光标走

默认触发键是右 Command。按住它,光标处浮现一个环形菜单,指向哪个方向,窗口就落到对应位置——半屏、四分屏,或者你自定义的任意矩形。体验类似手柄的方向键,只是操作对象变成了窗口布局。不喜欢鼠标的话,把任意按键绑定到触发键,纯键盘也能一键完成。菜单的形状、宽度、颜色全部可调,和壁纸不搭就换个主题。

先预览,再落位

窗口真正移动之前,Loop 会先在目标区域画一个"幽灵框",你确认方向无误它才执行吸附,避免手滑放错位置。幽灵框的内边距、圆角、边框粗细都可以调。

另一项能力叫Cycles:重复按同一个组合键(或连续点击),就能依次执行一串布局动作,比如"左半屏 → 右半屏 → 下三分之一"循环进行。

实际场景:三件值得做的事

分屏对照。问题:编辑器写代码,右侧要放着文档窗口,每次拖动都对不齐。用 Loop:按住触发键向右一甩,窗口精准落在右半屏,左右各占 50%,一秒完成。

桌面收纳。问题:开了十几个窗口,屏幕像被占满的停车场。Stash 功能把暂不用的窗口推到屏幕边缘,只露出几个像素;鼠标靠近边缘它滑出来,移开又收回,等于"窗口随身带、桌面保持空"。

脚本自动化。Loop 注册了loop://URL 协议,终端里敲一行命令就能操作当前窗口:

open "loop://direction/right" # 当前窗口移到右半屏 open "loop://action/maximize" # 最大化当前窗口

配合脚本串起来,就是"一键工作台"。完整命令列表见 URLCommandHandler.swift 文件头的说明。

三步装好并体验

第一步,安装:有 Homebrew 直接brew install loop;也可以从发布页下载 zip 解压后把 Loop 拖入"应用程序"。系统要求macOS 13 及以上

第二步,授权:首次运行按提示在系统设置里开启辅助功能权限,否则应用无法控制其他应用的窗口。

第三步,上手:按住默认触发键(右 Command),光标右甩,窗口落到右半屏——到这里你已经会用了。之后在设置的行为页改触发键、开关预览、挑主题。想用 Caps Lock 当触发键,需先在系统设置里把它重映射为其他键。想折腾源码,可克隆仓库后打开 Xcode 工程自行构建。

局限与注意

  • 仅支持 macOS,且必须授予辅助功能权限,属于常驻后台应用。
  • 不支持把一组布局存成工作区一键恢复,需要借助 Cycles 或脚本来近似实现。
  • 不支持触控板手势;Stash 同一时刻只展开一个窗口。
  • 采用 GPLv3 许可,可免费使用,修改再分发时需遵循相应义务。

Loop 的思路不复杂:把"摆窗口"这件事的门槛降到按一个键的程度。如果你的 Mac 上常年开着七八个窗口,它可以省掉每天几十次无意义的拖动。

【免费下载链接】LoopWindow management made elegant.项目地址: https://gitcode.com/GitHub_Trending/lo/Loop

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/15 21:49:51

LunaTranslator OCR 模式窗口绑定指南:让截图与翻译窗口彻底解耦

LunaTranslator OCR 模式窗口绑定指南:让截图与翻译窗口彻底解耦 【免费下载链接】LunaTranslator 视觉小说翻译器 / Visual Novel Translator 项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator LunaTranslator 的 OCR 模式允许直接读取任意…

作者头像 李华
网站建设 2026/9/15 21:45:20

数独求解器设计与实现:位掩码、MRV剪枝与C语言实践

简介:华中科技大学计算机学院20级数据结构课程设计高分项目,主题是用C/C实现DPLL算法SAT求解器并解决数独问题,适合正在完成类似课设、需要参考完整源码与报告的学生。压缩包共21个文件,其中12个cnf测试用例用于验证算法求解效果&…

作者头像 李华
网站建设 2026/9/15 21:45:13

科研Skills怎么选?按研究流程拆解GitHub高价值项目

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

作者头像 李华
网站建设 2026/9/15 21:44:53

FrankenPHP 的 GitHub Actions 镜像构建与发布流水线全解析

FrankenPHP 的 GitHub Actions 镜像构建与发布流水线全解析 【免费下载链接】frankenphp 🧟 The modern PHP app server 项目地址: https://gitcode.com/GitHub_Trending/fr/frankenphp 本指南以 FrankenPHP 官方仓库中的 docs/tr/github-actions.md 为核心&…

作者头像 李华
网站建设 2026/9/15 21:44:22

基于Simulink的氢光互补微电网仿真建模与功率互补控制策略

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

作者头像 李华