Defi:macOS 滚动平铺窗口管理器
一款受 Niri 启发的 macOS 原生平铺窗口管理器,用横向滚动的列来排列窗口。
- 浏览
- 6
- 访问
- 0
- 下载
- 0
- 版本
- v0.7.1
- 平台
- macOS
详细介绍
项目简介
Defi 是一款 macOS 上的滚动式平铺窗口管理器,灵感来自 Niri。它把窗口排成横向长条上的列,打开新窗口长条就变长;当焦点移到屏幕外的窗口时,桌面会滚动把它带回视野。
它管理的是原生 macOS 窗口,点击窗口、在 Dock 中选中、Command-Tab 切换等习惯用法都照常可用。项目目前处于 Alpha 阶段,要求 Apple Silicon Mac 与 macOS 15.4 及以上系统。
主要功能
- 自动平铺:打开窗口即自动进入布局,关闭窗口后剩余窗口自动重排。
- 滚动列:窗口排列在横向长条上,可纵向堆叠,并可调整列宽。
- 动态工作区:始终保留一个空工作区待用,也可为常驻任务保留命名工作区。
- 应用规则与浮动窗口:可将应用送到指定命名工作区、保持浮动或设置初始列宽;任意窗口都能用快捷键切换为浮动。
- 多显示器独立:每个显示器拥有各自的工作区与布局。
- Overview 总览:浏览工作区、选择窗口,并在工作区之间拖动窗口,可开启窗口预览。
- 窗口边框:高亮当前窗口,颜色、宽度及失焦边框均可配置。
- 键盘控制与快捷键速查:快捷键可自定义,单独按住修饰键即可显示可用命令。
- 鼠标重排:拖动平铺窗口即可调整顺序。
- 实时配置:用 TOML 配置间距、动画、快捷键与规则,保存后自动重载。
- CLI 与 SketchyBar 集成:可从脚本控制 Defi,并在状态栏展示工作区状态。
安装与使用
使用 Homebrew 安装:
brew install --cask qeude/tap/defi
open /Applications/Defi.app
不使用 Homebrew 时,可运行安装脚本:
curl -fsSL https://raw.githubusercontent.com/qeude/Defi/main/script/install.sh | sh
也可以从 latest release 下载 DMG 并拖入「应用程序」。由于应用未经过公证,首次启动会被 macOS 拦截:打开 Defi、关闭提示,再到「系统设置 › 隐私与安全性」点击「仍要打开」并确认,之后的更新不再需要这一步。此外还支持从源码构建。
首次启动时 Defi 会请求辅助功能权限,用于聚焦和排列窗口;授权后立即开始管理窗口,无需重启。随后会请求屏幕录制权限:由于很多应用会延迟应用窗口移动,逐帧移动真实窗口容易卡顿,Defi 改为截取每个窗口的画面,在覆盖层上对画面做动画,再在下面一次性移动真实窗口;Overview 卡片也使用同样的画面。这些画面只留在内存中,不写入磁盘、不外传。若不授权,窗口会直接移动,Overview 卡片不带预览图,可在 Defi 设置的「通用」中调整。
默认快捷键基于 Control + Option,例如:
| 操作 | 快捷键 |
|---|---|
| 聚焦某一列 | Control + Option + ← / → |
| 切换工作区 | Control + Option + ↑ / ↓ |
| 在堆叠中聚焦窗口 | Control + Option + J / K |
| 左右移动列 | Control + Option + Shift + ← / → |
| 打开 Overview | Control + Option + O |
没有配置文件也能使用。如需覆盖间距、快捷键、命名工作区和应用规则,可编辑 ~/.config/defi/config.toml,保存后自动生效。应用自带 CLI,例如:
/Applications/Defi.app/Contents/MacOS/defi status
/Applications/Defi.app/Contents/MacOS/defi focus-column right
注意事项
- 当前为 Alpha 版本,行为与配置在首个稳定版前可能变化。
- Defi 管理的是自己的虚拟工作区,并非 macOS 原生 Spaces。
- 部分应用会施加窗口尺寸限制或对辅助功能支持有限,遇到应用特定问题可向项目反馈。
- 每天会向 GitHub 检查一次最新版本,不上传任何关于你或窗口的信息;可在设置中关闭,Homebrew 安装也可用
brew upgrade --cask defi更新。 - 若想让 Defi 随 macOS 启动,请在菜单栏开启 Launch at Login。
- 完全卸载:Homebrew 安装可用
brew uninstall --cask --zap defi;手动安装可运行/Applications/Defi.app/Contents/MacOS/defi uninstall --purge,会一并清除配置、状态、日志与隐私权限。
本作品整理自 GitHub 开源项目 qeude/Defi,原作者 @qeude,许可证 MIT。中文介绍由 AI 根据项目 README 整理,以原仓库为准。
更新记录
- v0.7.1当前版本
支持 macOS 15.4;菜单栏菜单改为类似 macOS 工具菜单的样式,去掉图标并对菜单项分组排列。
评论