紫水晶
macOS平铺式窗口管理器,类似于xmonad。
如果你想了解更多关于平铺式窗口管理器和Amethyst功能的信息,YouTube上有一些很棒的社区资源。
使用Amethyst提高你的MacOS生产力 | 平铺式窗口管理器
获取Amethyst
Amethyst可以在发布页面直接下载,或使用homebrew cask安装。
brew install --cask amethyst
注意:Amethyst现在只支持macOS 10.15+。
使用Amethyst
必须在隐私与安全性标签中的隐私 -> 辅助功能中授予Amethyst使用辅助功能API的权限。
重要提示:你可能需要禁用"根据最近使用情况自动重新排列空间"(在系统偏好设置的调度中心中)。默认情况下,此设置是启用的,会导致你的空间根据使用情况交换位置。这使得空间之间的键盘导航变得不可预测。
故障排除
请参阅故障排除了解一些常见问题。
配置
键盘快捷键
Amethyst使用两种修饰键组合(mod1
和mod2
),并可选择使用另外两种(mod3
和mod4
)。
默认快捷键 | 描述 |
---|---|
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 |
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允许你在几种不同的窗口布局之间循环。 布局也可以启用/禁用,以控制它们是否出现在循环序列中。
高
默认布局。这给你一个左侧的"主窗格"和右侧的另一个窗格。默认情况下,一个窗口放在主窗格中(延伸到屏幕全高),所有剩余的窗口放在另一个窗格中。如果任一窗格有多个窗口,该窗格将被均匀分割成行,以显示所有窗口。你可以使用上面的键盘快捷键来控制哪个窗口(以及有多少个)在主窗格中,以及主窗格与另一个窗格的水平大小。
右高
与高完全相同,但主窗格在右侧,另一个窗格在左侧。
宽
高的旋转版本,主窗格在_顶部_(延伸到屏幕全宽),另一个窗格在底部。如果任一窗格有多个窗口,该窗格将分割成列而不是行。
双窗格
此布局有两个可见窗格 - 主窗格和次窗格。主窗格中的窗口是固定的,就像其他布局一样,所有剩余的窗口都放在另一个窗格中,一次只有一个窗口可见,可以使用键盘快捷键进行交换。这个布局会根据你的屏幕方向自动适应水平/垂直平铺。在水平方向时,主窗格在左侧;在垂直方向时,主窗格在顶部。
左三列
高的三列版本,左侧有一个主窗格(延伸到屏幕全高),中间和右侧各有一个窗格。像高一样,如果任何窗格有多个窗口,该窗格将被分割成行。你可以像往常一样控制主窗格中的窗口数量;其他窗口将尽可能均匀地分配到另外两个窗格中。
中三列
与左三列完全相同,但主窗格在中间,其他窗格在两侧。(在Amethyst的早期版本中,这个布局被称为中宽。)
右三列
与3Column-Left完全相同,但主窗格位于右侧,其他窗格位于中间和左侧。
Widescreen-Tall(宽屏高)
这种模式类似于Tall,但如果主窗格中有多个窗口,主窗格会分成列而不是行。其他窗格仍然像Tall一样将窗口分成行。这种布局之所以得名,可能是因为它在非常宽的屏幕上最有意义,主窗格由几列组成,所有剩余的窗口堆叠在最后一列中。其他适合非常宽屏幕的布局包括任何允许超过两列的布局(以充分利用屏幕宽度),如任何3Column-*布局或Column。
Fullscreen(全屏)
在这种布局中,当前焦点窗口占据整个屏幕,其他窗口完全不可见。你可以像往常一样使用"聚焦下一个窗口"快捷键在各个窗口之间轮换。
Column(列)
这种布局每个窗口有一列,每个窗口都延伸到屏幕的全高。最左边的窗口被视为"主"窗口,你可以使用"缩小/扩大主窗格"快捷键改变其大小;其他窗口平均分配剩余空间。
Row(行)
Column的旋转版本,每个窗口占据整个行,延伸到屏幕的全宽。
Floating(浮动)
这种模式使所有窗口"浮动",允许你像暂时停用Amethyst一样移动和调整窗口大小。与其他模式不同,这意味着窗口可以放置在其他窗口"之上",遮挡你对某些窗口的视线。
Binary Space Partitioning (BSP)(二进制空间划分)
这种布局没有像其他布局那样的主窗格。在添加窗口时,任何给定的窗格都可以沿着较长的轴均匀分成两个窗格。这是递归的,例如窗格A可以在中间分成左边的窗格A和右边的窗格B;窗格B可以分成上面的窗格B和下面的窗格C;窗格C可以分成左边的窗格C和右边的窗格D;依此类推。
Custom (beta)(自定义(测试版))
可以通过JavaScript实现自定义布局。详见自定义布局。
配置文件
Amethyst支持通过家目录中的YAML进行配置。详见配置文件。
联系
贡献
如果你想贡献,请从development
分支分出,并针对它而不是master
开启拉取请求。除此之外,尽量遵循代码的一般风格。
捐赠
Amethyst是免费的,而且永远都会是免费的。话虽如此,有几个人表示希望捐款以示感谢。考虑到当前的政治气候,我建议你捐赠给以下组织之一:
以及一些面向技术的组织: