ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

macOS 窗口管理快速指南:Loop 径向菜单与免费开源布局方案

macOS 窗口管理快速指南:Loop 径向菜单与免费开源布局方案 macOS 窗口管理快速指南Loop 径向菜单与免费开源布局方案【免费下载链接】LoopWindow management made elegant.项目地址: https://gitcode.com/GitHub_Trending/lo/Loop三块屏、十几个窗口上午十点你就开始来回拖拽。Loop 是个免费开源的 macOS 窗口管理工具按住一个触发键、把鼠标往一个方向挪当前窗口就对齐到对应位置径向菜单让方向本身变成指令。径向菜单到底怎么操作整条操作链就三步按住触发键不放移动鼠标指向想要的方向松手和传统快捷键方案的差别在于反馈发生在松手之前你按住触发键移动鼠标的过程中屏幕上的预览窗口会实时画出窗口落位后的样子不对就换个方向再试不用赌。方向本身就是指令——往左划就是左半屏往左上划就是左上四分之一。空间位置和操作结果一一对应第一次见菜单就知道每个扇区干什么不用背CmdOpt方向这种键位表。安装与触发键怎么设从 0 到第一次左半屏装上有两条路brew install loop # 推荐手动安装就是从发布页拿 dmg拖进应用程序即可想改源码的自己构建仓库里带完整的 Xcode 工程Loop.xcodeproj。装完首次启动按系统提示授予辅助功能权限窗口操作全部依赖它。触发键决定了整个使用体验建议用 Caps Lock有两条重映射路径系统设置里改系统设置 → 键盘 → 键盘快捷键 → 修饰键把 Caps Lock 映射成 Control然后在 Loop 里把触发键选成 Right Control外部工具改用 Karabiner Elements 这类工具做重映射规则可以写得更细但多一个常驻组件第一次布局点中一个浏览器窗口 → 按住触发键 → 鼠标水平向左移动看到预览贴住屏幕左半边 → 松手。窗口对齐完毕后面所有工作流都建立在这套肌肉记忆上。场景化工作流开发、设计、三屏各一套开发机IDE 在左、终端在右、文档塞边IDE触发键 鼠标左移 → 左半屏终端切到终端触发键 鼠标右移 → 右半屏参考文档触发键选到 Stash → 窗口被推到屏幕底边只露出几十像素的边条需要时鼠标扫到边缘它就滑出离开再缩回去由 StashManager.swift 统一调度同一条边上的多个窗口会自动错开不互相压住设计位主屏画图、参考图压边、色板在下设计软件触发键 最大化参考图库浏览器触发键 触发键 R右侧三分之一在 Keybinds 设置页 里改绑色板工具触发键 触发键 B下三分之一用过的素材窗口Stash 收进下边缘多显示器按屏分工触发键 方向键跨屏主屏固定主力窗口副屏放通讯和参考跨屏移动用nextScreen/previousScreen动作每台显示器各自独立做布局互不干扰触发键指向的方向永远落在窗口当前所在的屏上副屏上看完没用的窗口Stash 到副屏边缘主屏保持干净进阶控制面循环、脚本与快捷键速查循环操作模式同一组合键连按给某个组合键绑上 cycle 后每次按下依次推进序列而不是每次都执行同一个动作第 1 按 → 左半屏 第 2 按 → 右半屏 第 3 按 → 最大化 第 4 按 → 恢复初始尺寸序列在 Cycle 配置视图 里编辑顺序随意排。URL scheme 脚本控制Loop 注册了loop://协议实现见 URLCommandHandler.swiftshell 里可以这样调open loop://direction/left # 当前窗口贴左半屏 open loop://action/maximize # 最大化 open loop://screen/next # 移到下一块屏 open loop://list/actions # 列出全部可用动作不记得参数时list命令会给你完整清单。快捷键能干什么速查表类别动作基础操作最大化、全屏、居中、最小化、隐藏、只留一个分屏上下左右半屏、四个四分之一、水平/垂直居中半屏三分屏左中右各 1/3 与 2/3、上中下各 1/3 与 2/3窗口调整放大、缩小、四边收缩/扩张、上下左右平移屏幕管理下一屏、上一屏、指定方向屏高级功能恢复初始尺寸、撤销、循环、自定义布局、Stash、聚焦相邻窗口顺手换皮菜单和图标主题径向菜单的宽度、形状、配色全可改整个菜单也能直接关掉只留键盘流应用图标有十几套风格可选配置入口在 Theme 设置页。同类工具功能矩阵特性LoopRectangleMagnetmacOS 原生价格免费免费$4.99免费开源✅✅❌❌径向菜单✅❌❌❌主题定制✅❌❌❌窗口暂存Stash✅❌❌❌循环操作✅✅❌❌脚本控制✅✅❌有限差异化在交互层原生快捷键能干活但得背键位Magnet 便宜但闭源且没有菜单流Loop 把看方向选位置做成了默认体验Stash 和主题定制也是它独有的。源码里的设计思路事件监控Event Monitoring/ 下BaseEventTapMonitor.swift 是所有监听器的基类LocalEventMonitor.swift 抓本 app 内的事件PassiveEventMonitor.swift 被动旁观全局事件监听跑在独立线程 EventTapThread.swift 上不压 UI。基类还内置了保护2 秒内自动重启超过 5 次就停止重试防止事件 tap 崩溃时形成死循环。窗口管理引擎Window Management/ 是主引擎。WindowAction.swift 用一个结构体统一表达往哪放、多大、绑什么键、是不是循环WindowFrameResolver.swift 负责把方向和 padding 算成目标 frameWindowEngine.swift 执行 resizemacOS 15 上可走系统窗口管理器否则自己处理动画由 WindowTransformAnimation.swift 负责撤销依赖 WindowRecords.swift 记录的历史 frame。私有 API 集成Private APIs/ 目录封装了 SkyLight 相关符号的加载与桥接见 SkyLightToolBelt.swift用来拿普通接口给不了的窗口信息。这是它能力下限的保障也是系统升级时最先要验证的部分——SkyLightSymbolLoader.swift 做了动态符号解析减少硬编码符号名的脆性。踩坑与排障你感觉输入卡顿、系统变卡 → 大概率是事件 tap 被系统挂起后自动重启。→ 基类里有降级保护2 秒内重启超 5 次即停用先确认辅助功能权限还在再重启 Loop。它平时只在触发键被按下时才真正干活空闲时资源占用极低持续卡顿多半是权限或监听器问题不是资源吃紧。某款全屏游戏或视频播放器被误动 → 大概率没加进排除列表。→ 设置里的 Excluded Apps 选项加进该应用见 ExcludedAppsConfiguration.swift。多显示器下窗口总弹回主屏或位置不对 → 大概率是 padding 配置或方向指向问题。→ 用nextScreen/previousScreen跨屏别靠拖每块屏的边距在 Padding 配置 里单独调。快捷键跟系统或其他工具打架 → 大概率是触发键组合撞了系统手势。→ 在 Keybinds 页换键用 Caps Lock 的先确认重映射生效触发后 Caps 状态不应再翻转。想提代码 → 先读 CONTRIBUTING.md按模板提交 issue 或直接 fork 开发项目用 Swift SwiftUI模块边界见上面的目录划分。收尾Loop 免费开源的 macOS 窗口管理器核心是触发键 径向菜单附带 Stash、循环和脚本控制。三步开始brew install loop授予辅助功能权限把触发键设成你愿意长期按住的键Caps Lock 重映射后选 Control按你的场景把组合键绑好开发用左右分屏 Stash多屏加nextScreen【免费下载链接】LoopWindow management made elegant.项目地址: https://gitcode.com/GitHub_Trending/lo/Loop创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表