ITADN
nikitabobko/AeroSpace
README.md
以下内容由 AI 翻译,如有问题请点此提交 issue 反馈

AeroSpace 测试版 Build

AeroSpace 是一款类 i3 的 macOS 平铺式窗口管理器

视频:

文档:

主要特性

安装

通过 Homebrew 安装以获取自动更新(推荐)

brew install --cask nikitabobko/tap/aerospace

在多显示器设置中,请确保显示器已正确排列

其他安装选项:https://nikitabobko.github.io/AeroSpace/guide#installation

[!NOTE] 使用 AeroSpace,即表示您确认它未经过公证

公证是 Apple 的一项“安全”功能。 您将二进制文件发送给 Apple,由他们决定是否批准。 实际上,公证关乎按照 Apple 喜欢的方式构建二进制文件。

我本人并不反对公证这一概念。 我特别不喜欢 Apple 执行公证的方式。 我没有时间去应付 Apple。

Homebrew 安装脚本 已配置为 自动删除 com.apple.quarantine 属性,因此该应用应开箱即用,无需任何 “Apple 无法检查 AeroSpace 是否包含恶意软件”的警告

社区、讨论、问题

AeroSpace 项目不直接接受 Issues - 我们要求您先创建一个Discussion。 请阅读 CONTRIBUTING.md 以获取更多详细信息。

社区讨论在 GitHub Discussions 上进行。 在那里,您可以讨论 bug、提出新功能、提问、展示您的设置,或者只是闲聊。

共有 7 个频道:

项目状态

公开测试版。AeroSpace 可以作为日常驱动使用,但在达到 1.0 之前,请预期会有破坏性变更。

阻碍我们发布 1.0 版本的因素:

将在 1.0 版本发布后处理的重要且重大的问题:

开发

有关如何设置项目、构建项目、如何运行测试等的说明,可在此处找到:dev-docs/development.md

项目价值观

价值观

  • AeroSpace 面向高级用户和开发者
  • 以键盘为中心
  • 尽可能避免破坏性变更(配置文件、CLI、行为),但绝不能让软件停滞不前。 因此,破坏性变更可能会发生,但会经过慎重考虑并提供有用的提示信息。 Semver 在发生破坏性变更时,主版本号会递增(一旦 AeroSpace 达到 1.0 版本,这一点将得到保证,在此之前破坏性变更可能会随时发生)
  • 除非必要,AeroSpace 不使用 GUI
    • AeroSpace 永远不会提供用于配置的 GUI。 对于高级用户来说,在文本编辑器中编辑配置文件比在 GUI 中导航复选框更容易。
    • 状态栏菜单图标是可以接受的,因为需要视觉反馈
  • 提供_实用_的功能。花哨的外观功能并不_实用_(例如窗口边框、透明度、动画等)
  • 尽可能避免“黑魔法”(即“私有 API”、“代码注入”等)
    • 目前,AeroSpace 仅使用一个私有 API 来获取辅助功能对象的窗口 ID _AXUIElementGetWindow。 其他所有内容均使用 macOS 公开辅助功能 API
    • AeroSpace 永远不会要求你禁用 SIP(系统完整性保护)。
    • 目标是让 AeroSpace 易于维护,并能抵御 macOS 更新。

非目标

  • 与现有的 macOS 功能良好兼容。 如果施加了限制,AeroSpace 将无法与现有的 macOS 功能良好兼容 (例如,AeroSpace 不承认 macOS Spaces 的存在,并且它使用 自己的工作区模拟
  • 美化(Ricing)。 AeroSpace 仅提供非常有限的美化支持 - 间隙以及用于与状态栏集成的几个回调。 当前的维护者不关心美化。 美化问题不是优先事项,并且大多被忽略。 美化立场只有在出现更多维护者时才会改变。

macOS 兼容性表

  • AeroSpace 二进制文件运行于:macOS 13+
  • 从源码构建的 AeroSpace 调试版本支持:macOS 14+
  • 从源码构建的 AeroSpace 发布版本支持:macOS 15+(需要 Xcode 26+)

赞助

AeroSpace 是在我的空闲时间开发和维护的。 如果你觉得它有用,考虑赞助

拥有写入权限的人员

按字母顺序排列:

今日提示

defaults write -g NSWindowShouldDragOnGesture -bool true

现在,你可以通过按住 ctrl+cmd 并拖动窗口的任意部分(不一定是窗口标题)来移动窗口

来源:reddit

相关项目

  • Amethyst - 类似 xmonad 的平铺式窗口管理器
  • InstantSpaceSwitcher - 通过合成具有极高速度的人为触控板手势来即时切换空间
  • yabai - 基于二叉空间分割的 macOS 平铺式窗口管理器