Amethyst:基于 macOS 的窗口管理工具项目

Automatic tiling window manager for macOS à la xmonad.

分支10Tags123
文件最后提交记录最后更新时间
6 个月前
4 个月前
23 天前
15 天前
15 天前
6 个月前
1 年前
6 个月前
4 年前
2 年前
4 年前
3 年前
3 年前
1 年前
8 年前
10 年前
1 年前
6 年前
6 年前

紫水晶(Amethyst)

讨论 开源助手 由Hound审查

一款遵循 xmonad 风格的 macOS 窗口管理器。

窗口

如果您想了解更多关于平铺窗口管理器以及 Amethyst 的功能,YouTube 上有一些优秀的社区资源。

使用 Amethyst 提升您的 MacOS 效率 | 平铺窗口管理器

获取 Amethyst

您可以在 发布页面 直接下载 Amethyst,或使用 homebrew cask 进行安装。

brew install --cask amethyst

注意:Amethyst 现在仅支持 macOS 10.15 及以上版本。

使用 Amethyst

您必须授予 Amethyst 在“隐私与安全”选项卡下的辅助功能 API 使用权限,路径为“隐私”->“辅助功能”。

在隐私和安全下给予 Amethyst 辅助功能权限。

重要提示:您可能需要禁用“根据最近的使用情况自动重新排列空间”的设置(在系统偏好设置的“任务控制”中可以找到)。此设置默认为启用状态,会导致您的空间根据使用情况交换位置。这会使在不同空间间使用键盘导航变得不可预测。

或者在终端中运行:

defaults write com.apple.dock workspaces-auto-swoosh -bool NO
killall Dock

故障排除

请参阅故障排除以获取一些常见问题的解决方案。

配置

快捷键

Amethyst 使用两种修饰键组合(mod1mod2),并且可以选择性地使用另外两种(mod3mod4)。

默认快捷键 描述
mod1 option + shift
mod2 ctrl + option + shift
mod3 默认未定义
mod4 默认未定义

并定义以下命令,大部分是映射到 xmonad 的快捷键组合。

默认快捷键 描述
mod1 + space 向前切换布局
mod2 + space 向后切换布局
mod1 + h 缩小主窗格
mod1 + l 扩展主窗格
mod1 + , 增加主窗格数量
mod1 + . 减少主窗格数量
mod1 + j 逆时针移动焦点
mod1 + k 顺时针移动焦点
mod1 + p 将焦点移至逆时针屏幕
mod1 + n 将焦点移至顺时针屏幕
mod2 + h 将焦点窗口交换到逆时针屏幕
mod2 + l 将焦点窗口交换到顺时针屏幕
mod2 + j 逆时针交换焦点窗口
mod2 + k 顺时针交换焦点窗口
mod1 + enter 将焦点窗口与主窗口交换
mod1 + z 强制重新评估窗口
mod2 + z 重新启动 Amethyst
mod2 + left 将焦点窗口抛掷到左侧空间
mod2 + right 将焦点窗口抛掷到右侧空间
mod2 + 1 将焦点窗口抛掷到空间 1
mod2 + 2 将焦点窗口抛掷到空间 2
mod2 + 3 将焦点窗口抛掷到空间 3
mod2 + 4 将焦点窗口抛掷到空间 4
mod2 + 5 将焦点窗口抛掷到空间 5
mod2 + 6 将焦点窗口抛掷到空间 6
mod2 + 7 将焦点窗口抛掷到空间 7
mod2 + 8 将焦点窗口抛掷到空间 8
mod2 + 9 将焦点窗口抛掷到空间 9
mod2 + 0 将焦点窗口抛掷到空间 10
将焦点窗口抛掷到空间 11
将焦点窗口抛掷到空间 12
将焦点窗口抛掷到空间 13
将焦点窗口抛掷到空间 14
将焦点窗口抛掷到空间 15
将焦点窗口抛掷到空间 16
mod1 + w 焦点屏幕 1
mod2 + w 将焦点窗口抛掷到屏幕 1
mod1 + e 焦点屏幕 2
mod2 + e 将焦点窗口抛掷到屏幕 2
mod1 + r 焦点屏幕 3
mod2 + r 将焦点窗口抛掷到屏幕 3
mod1 + q 焦点屏幕 4
mod2 + q 将焦点窗口抛掷到屏幕 4
mod1 + g 焦点屏幕 5
mod2 + g 将焦点窗口抛掷到屏幕 5
mod1 + t 切换焦点窗口的浮动状态
mod1 + i 显示当前布局
mod2 + t 切换全局平铺
mod1 + a 选择高布局
选择高-右布局
mod1 + s 选择宽布局
选择中宽布局
mod1 + d 选择全屏布局
mod1 + f 选择列布局
选择行布局
选择浮动布局
选择宽屏高布局
选择二分空间布局

可用布局

Amethyst 允许您在几种不同的窗口布局之间切换。布局也可以启用/禁用,以控制它们是否出现在切换序列中。

高布局

默认布局。在左侧有一个“主窗格”,在右侧有一个其他窗格。默认情况下,一个窗口被放置在主窗格中(延伸至屏幕的全高),所有其他窗口都放置在另一个窗格中。如果任一窗格中有多个窗口,该窗格将被均匀地分割成行,以显示所有窗口。您可以使用上面的快捷键来控制哪些窗口以及多少窗口位于主窗格中,以及主窗格与其他窗格的水平大小。

高-右布局

高布局 完全相同,但主窗格位于右侧,其他窗格位于左侧。

宽布局

高布局 的旋转版本,其中主窗格位于顶部(延伸至屏幕的全宽),其他窗格位于底部。如果任一窗格中有多个窗口,该窗格将分割成列,而不是行。

双窗格布局

此布局有两个可见窗格 - 主窗格和次窗格。主窗格中的窗口被固定,就像在其他布局中一样,所有其他窗口都放置在另一个窗格中,一次只显示一个窗口,可以通过快捷键进行切换。此布局会根据屏幕方向自动适应水平/垂直平铺。在水平方向上,主窗格位于左侧,在垂直方向上,主窗格位于顶部。

双窗格右布局

双窗格布局 完全相同,但主窗格位于右侧,其他窗格位于左侧。

3列左布局

高布局 的三列版本,左侧有一个主窗格(延伸至屏幕的全高),中间和右侧各有一个其他窗格。与 高布局 一样,如果任何窗格中有多个窗口,该窗格将被分割成行。您可以根据通常的方式控制主窗格中有多少窗口;其他窗口将尽可能均匀地分配到另外两个窗格中。

3列中布局

3列左布局 完全相同,但主窗格位于中间,其他窗格位于两侧。(在 Amethyst 的早期版本中,此布局称为 中宽布局。)

3列右布局

3列左布局 完全相同,但主窗格位于右侧,其他窗格位于中间和左侧。

宽屏高布局

此模式类似于 高布局,但如果主窗格中有多个窗口,主窗格将分割成列而不是行。其他窗格仍然像 高布局 一样将窗口分割成行。此布局之所以得名,是因为它可能在非常宽的屏幕上最合理,有一个由几列组成的大型主窗格,所有其他窗口都堆叠在最后一个列中。其他在非常宽的屏幕上效果良好的布局包括任何允许多于两列的布局(以利用屏幕宽度),例如任何 3列- 布局或 列布局

全屏布局

在此布局中,当前聚焦的窗口占据整个屏幕,其他窗口完全不可见。您可以使用“聚焦下一个窗口”快捷键在各个窗口之间切换。

列布局

此布局为每个窗口创建一列,每个窗口延伸至屏幕的全高。最左侧的窗口被视为“主”窗口,在意义上您可以使用“缩小/扩展主窗格”快捷键更改其大小;其他窗口均匀地分割剩余空间。

行布局

列布局 的旋转版本,其中每个窗口占据整个行,延伸至屏幕的全宽。

浮动模式

此模式使所有窗口都处于“浮动”状态,允许您像临时停用 Amethyst 一样移动和调整它们的大小。与其他模式不同,这意味着窗口可以相互“覆盖”,遮挡某些窗口的视图。

二分空间布局(BSP)

此布局没有像其他布局那样有主窗格。添加窗口时,任何给定窗格都可以沿较长轴均匀地分割成两个窗格。这是递归的,这样窗格 A 可以在中间分割成左侧的窗格 A 和右侧的窗格 B;然后窗格 B 可以分割成顶部的窗格 B 和底部的窗格 C;窗格 C 可以分割成左侧的窗格 C 和右侧的窗格 D;以此类推。

自定义(测试版)

自定义布局可以通过 JavaScript 实现。请参阅自定义布局

配置文件

Amethyst 支持在主目录下通过 YAML 文件进行配置。具体请参阅配置文件。请注意,如果存在配置文件,它将覆盖通过 GUI 定义的设置。

本地构建 Amethyst

如果您希望在本地测试您的更改,可以使用 fastlane 构建 Amethyst。只需在根目录下运行命令 fastlane,应用程序将在 ./build/Amethyst.app 路径下可用。(您可能需要先在 XCode 中的“签名与功能”下为应用进行配置。)

贡献

如果您希望贡献力量,请从 development 分支派生,并针对该分支提交合并请求,而不是 master 分支。否则,请尽量保持代码的一般风格。

捐赠

Amethyst 是免费的,并将始终如此。不过,有些人表示愿意出于感激之情捐赠金钱。鉴于当前的政治气候,我建议您将捐款捐给以下组织之一:

还有一些以技术为导向的组织:

项目介绍

自动平铺窗口管理器,适用于macOS,风格类似于xmonad。【此简介由AI生成】

定制我的领域
10916.25 K532访问 GitHub